C# Windows Forms

Hallo,

ist es eigentlich möglich, dass man mittels csscript auch Windows Forms, welche in Visualstudio entwickelt wurden, in Combit verwenden kann?

Ich habe alles so eingerichtet, wie in der Anleitung (C# Scripting mit Microsoft Visual Studio). In Visualstudio lässt es sich auch einwandfrei ausführen, wenn Combit geöffnet ist. Alle Forms funktionieren. Aus Combit heraus bekomme ich nur Fehlermeldungen.

Daher meine Frage, ob dies generell überhaupt so gedacht ist. Sonst brauche ich nicht weiter probieren.

Viele Grüße

Thomas

Hallo Thomas,

damit selbsterstellte Windows Forms Dialoge verwendet werden können sollten diese in einer externen Bibliothek definiert werden und diese Bibliothek im C# Skript verwendet werden.

Dies muss gemacht werden da es sich bei einem C# Skript um eine einzelne Datei handelt und eine Windows Forms Definition nicht als „Nested Classes“ untergebracht werden kann.

Alternativ steht auch das cRM Objekt DialogForm zur Verfügung, mit diesem ebenfalls Dialoge erstellt werden können.

Hallo,

ich habe mir jetzt in einer externen Bibliothek den Windows Forms Dialog erstellt und die DLL als Verweis in das Script eingebunden. Leider muss ich irgendwo noch einen fundamentalen Denkfehler haben. In Combit bekomme ich immer noch eine Fehlermeldung. Vielleicht können Sie mir helfen. Anbei mein Quellcode und die Fehlermeldung als Bild.

Viele Grüße und erholsame Ostern

Thomas

using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using System.Windows.Forms;

// <!--#include ref="System.Windows.Forms"-->
// <!--#include using="System.Windows.Forms"-->

#region Visual Studio only
using combit.cRM.COM;


namespace CombitZinsrechner
{
    class Template
    {
        static cRMApplication cRM = new cRMApplication(EApplicationStartType.GetActiveobject);
        #endregion Visual Studio only
        //-------------------------------------------------------------------------------------------------------
        //>> C# Script Code ab hier:

        public static void Main()
        {
            Application.Run(new Zinsrechner.ZinsrechnerGUI());
        }


        //<< C# Script Code bis hier
        //-------------------------------------------------------------------------------------------------------
        #region Visual Studio only
    }
}
#endregion Visual Studio only

Das erste Problem scheinen die using Anweisungen zu sein. Ich habe sie angepasst:

#region Visual Studio only
using combit.cRM.COM;
using System;
using System.Windows.Forms;

Nun bekomme ich folgende Fehlermeldung in Combit:

Wie folgt müsste es funktionieren (Achtung! Ungetestet auf unserer Seite und mit nötiger Pfadanpassung :wink:):

using System;
using System.Windows.Forms;

// <!--#include ref="System.Windows.Forms"-->
// <!--#include using="System.Windows.Forms"-->

// <!--#include ref="<Pfad>\Zinsrechner.dll"-->
// <!--#include using="Zinsrechner"-->

#region Visual Studio only
using combit.cRM.COM;
using Zinsrechner;

.
.
.
1 „Gefällt mir“

Daran hat es gelegen. Jetzt funktionert es einwandfrei. Hatte die C#-spezifische Script-Erweiterungen nicht ordentlich durchgelesen im Handbuch. Immer wieder Gold wert das Forum.

Tausend Dank!

2 „Gefällt mir“