Externe Funktionen (.dll) nutzen

Aus Formupedia

Wechseln zu: Navigation, Suche

Inhaltsverzeichnis

Beschreibung

Mit Hilfe von .dll-Dateien können die Funktionen aus der Maskito-Funktionsbibliothek individuell ergänzt werden.



Externe Funktionen (.dll) für Windows-Formulare

In den Ressourcen hinterlegte .dll-Datei für ein Windows-Formular
Der Dialog zur Nutzung von Funktionen aus dll-Dateien

Eine dynamische Programmbibliothek (.dll) kann den Funktionsumfang für Formulare um individuelle Features erweitern. Diese Dateien werden mit den gängigen Produkten erstellt, z. B. Microsoft Visual Sudio. Zum Beispiel sind die public-Funktionen einer cs-Datei später im Formular verwendbar, wenn sie vom Typ Dictionary sind und einen Wert vom Typ Dictionary liefern.

Die resultierende dll-Datei wird im Formular verknüpft per Projekteigenschaften > Register PlugIns, wo der Pfad zur dll-Datei eingefügt wird. Die Funktionen werden dann im Formular an der Stelle aufgerufen, wo sie benötigt werden: per Funktionseditor im Then-Bereich > Option Aufrufe > Externe Funktionen aufrufen. Hier werden der Pfad zur dll-Datei angegeben und die gewünschte Funktion ausgewählt.

Alternativ kann die dll-Datei auch als Ressource im Formular mitgegeben werden. In diesem Fall ist im Dialog "Externe Funktionen aufrufen" die gewünschte dll-Datei anzugeben, die aus den Ressourcen angewendet werden soll. Ist dies erfolgt, werden die enthaltenen Funktionen zur Auswahl gestellt.

Im unteren Bereich des Dialogs werden die an die ausgewählte Funktion zu übergebenden Werte eingetragen.

















Externe Funktionen (.dll) für Web-Formulare

DLL-Methodenaufruf zulassen, siehe Server-Konfiguration

Per neuer Programmierschnittstelle DLL-Web-Request können Web-Formulare ab Version Maskito SIX mit zusätzlicher, individueller Funktionalität ausgestattet werden.

Die Verwendung der selbst erstellten .dll .NET Funktionen werden auf dem Server (IIS-Webserver) in einer formularspezifischen AppDomain ausgeführt. Die Integration und Erstellung der Funktionsaufrufe ist die gleiche wie in den Windows-Formularen, die mit dem FormView gestartet werden.

Verwalten und konfigurieren Sie also die .dll-Ressourcen wie im Abschnitt „Externe Funtkionen (.dll) für Windows-Formulare“.

Vorrausetzung zum Ausführen von .dll-Funktionen auf dem FormServer ist, dass der Administrator des FormServers die Methodenaufrufe vorab aktivieren muss. Erst dann sind selbst geschriebene Methodenaufrufe auf dem gesamten FormServer für die Webformulare möglich.



Hinweise zu Verwendung von .dll Methoden im Webformular

Verwenden Sie die Methodenaufrufe nur dann, wenn es nötig ist. Versuchen Sie, viele Funktionen gesammelt in einem Methodenaufruf unterzubringen. Jeder Methodenaufruf aus dem Webformular löst einen Request zum Server aus (mit Übergabe der Methodenargumente) und wartet dann auf das Ergebnis. Wenn das Ergebnis vom Server am Client (Webformular) angekommen ist, werden die Informationen vom Formular bearbeitet/integriert.

Diese WebRequest-Methodenaufrufe sind demnach sehr viel langsamer als die der Windows-Formulare. Zwischen jedem Aufruf einer einzelnen Funktion wird der Server dazu kontaktiert, welcher die Funktion für das Webformular ausführt.

Da der FormServer nun die eigens erstellten Methoden aufruft, hat der Programmierer von dort viel mehr Möglichkeiten, um mit anderen Systemen auf .NET Sprache zu kommunizieren. Auf diese Weise können alle möglichen Systeme (z. B. Datenbanken, SAP-Systeme, Textdateien, etc.) angesprochen und in das Formular integriert werden.

Es können KEINE Windows-Dialoge für die Ausgabe von Informationen verwendet werden, da der Funktionsaufruf auf dem Server selbst ausgeführt wird.



Hinweis für Programmierer

Das erstmalige Ausführen einer Methode führt zur Initialisierung der formularspezifischen AppDomain. In dieser AppDomain wird eine Instanz der .DLL Klasse erzeugt. Nachfolgende Funktionsaufrufe werden dann direkt von dieser Instanz die Public deklarierten Methoden und Funktionen aufrufen können. Die Instanz der Klasse lebt so lange auf dem Server, bis das Formular mit dem FormDesigner neu hochgeladen/aktualisiert wird, oder der IIS-Webserver die Webanwendung neu startet. Achtung: Der IIS-Webserver lässt auch Webanwendung einfrieren, wenn in einem gewissen Zeitraum keine Aktivitäten stattgefunden haben. Berücksichtigen Sie diese Umstände bei der Verwendung von Instanzen über längere Zeiträume hinweg.

Mögliche Programmiersprachen:

  • C#, VB.NET
  • .NET Framework < 4.5



Beispiel (VB.NET)

Public Sub MeineMethode1(ByVal dic As Dictionary(Of String, String))

        ' Ausgabe aller übergebenen Wertepaare
        Dim Content As New StringBuilder
        For Each kvp As KeyValuePair(Of String, String) In dic
            Debug.WriteLine(kvp.Key & ": " & kvp.Value)
        Next

    End Sub

    Public Function MeineFunktion2(ByVal dic As Dictionary(Of String, String)) As Dictionary(Of String, String)

        ' Hinzufügen "txt_name" falls nicht schon vorhanden
        If Not dic.ContainsKey("txt_name") Then
            dic.Add("name", String.Empty)
        End If

        dic("txt_name") = "Mein neuer Wert für das Formular"
        Return dic
    End Function

    Public Function MeineFunktion3() As Dictionary(Of String, String)

        Dim dic As New Dictionary(Of String, String)
        dic.Add("name", "Wert für Formular")

        Return dic
    End Function
Persönliche Werkzeuge