stellt. Zunächst will ich euch aber erst ein mal zeigen was eine DLL eigentlich ist.
Der Zweck von DLL-Dateien ist, den von einer Anwendung auf der Festplatte und im Hauptspeicher benötigten Speicherplatz zu reduzieren. Jeglicher Programmcode, der von mehr als einer Anwendung benötigt werden könnte, wird deshalb in einer einzelnen Datei auf der Festplatte gespeichert und nur einmal in den Hauptspeicher geladen, wenn mehrere Programme dieselbe Programmbibliothek benötigen.
Vorteile:
Mehr muss man zu einer DLL eigentlich nicht wissen, deswegen fangen wir jetzt auch mal direkt an. =)
Ihr Startet Visual Basic .NET und Erstellt eine neue Klassenbibliothek.
Nach dem ihr die Klassenbibliothek Erstellt habt wurde automatisch eine Class (Klasse) dem Projekt hinzugefügt die ihr einfach "Test" nennt.
Jetzt haben wir alles so weit eingerichtet das wir endlich mit dem Programmieren der DLL anfangen können. Der erste schritt den wir einleiten ist das wir die nötigen Imports machen.
Der Import System.Runtime.InteropServices ist dafür da, das wir nachher auch auf DLL zugreifen können.
Jetzt Erstellen wir in der Klasse eine Sub, wo wir dann drin Programmieren werden.
Somit wir nachher aber auf die Klasse und auf die Member der Klasse zugreifen können müssen wir sie noch mit Hilfe des Importierten System.Runtime.InteropServices sichtbar machen.
Wie ihr anhand des Namens der Sub schon sehen könnt bauen wir als erstes eine AboutForm die nachher ganz bequem aus einem anderen Programm heraus aufgerufen werden kann.
Dafür müssen wir eine Form zu der DLL hinzufügen, das ihr ganz einfach mit "Neues Element Hinzufügen" machen könnt. (Eine einfache Windows Form)
Den Dateiname von der "Form1.vb" macht ihr jetzt bitte in "frmAbout.vb".
Nun könnt ihr mit hilfe von Labeln eure Kontaktdaten, Webseiten, ect auf die AboutForm machen. Natürlich könnt ihr auch Bilder mittels der PictureBox einfügen. (Ihr müsst nur darauf achten das ihr die Bilder als Ressource mitliefert.)
Hier habe ich mal ein Bild von meiner Test AboutForm:
Wenn ich euch noch ein paar Einstellungen von der frmAbount Form ans Herz legen darf dann wären das:
Jetzt müssen wir noch dafür sorgen das die Form auch erscheint wenn man die Funktion in der DLL aufruft. Dafür gehen wir zurück in unsere Klasse wo wir schon alles für den Code vorbereiten haben.
Unsere frmAbout aufzurufen erfordert nur 2 Befehle.
Jetzt geht ihr oben auf in Visual Basic .NET oben auf "Erstellen" und Erstellt die DLL. Fertig, alles ist vollbracht und die DLL ist bereit zum testen. =) (Vergesst nicht das Projekt zu Speicher - Wichtig!)
Nun Erstellt ihr ein neues Projekt (Windows Form-Anwendung), und geht direkt oben auf "Projekt" und dann auf "Verweis Hinzufügen".
Dort geht ihr oben auf dem Reiter "Durchsuchen" und wählt eure DLL aus. (Bei mir ist sie unter: C:\Users\Papa\Documents\Visual Studio 2008\Projects\TutorialDLL\TutorialDLL\bin\Release) Nachdem ihr das gemacht habt geht ihr in euer Code-Fenster.
Bei "Dim MeineDLL As New TutorialDLL.Test" steht das TutorialDLL für den Namen der Datei, und das Test ist die klasse in userer DLL.
Im Form_Loadhaben wir dann einfach nur noch mit MeineDLL die About Form aufgerufen.
Das war es auch schon in diesem Tutorial, und ich werde für DLL's noch ein 2tes Schreiben, was sich dann mehr auf Funktionen bezieht und wie man ordentlich mit einer DLL und dessen Variablen Kommunizieren kann.
lg, Igoe
Der Zweck von DLL-Dateien ist, den von einer Anwendung auf der Festplatte und im Hauptspeicher benötigten Speicherplatz zu reduzieren. Jeglicher Programmcode, der von mehr als einer Anwendung benötigt werden könnte, wird deshalb in einer einzelnen Datei auf der Festplatte gespeichert und nur einmal in den Hauptspeicher geladen, wenn mehrere Programme dieselbe Programmbibliothek benötigen.
Vorteile:
- Sie spart Arbeitsspeicher und reduziert die Auslagerung. Eine einzelne DLL kann von vielen Prozessen gleichzeitig verwendet werden. Dabei wird eine einzelne, in den Arbeitsspeicher geladene Kopie der DLL gemeinsam genutzt. Im Gegensatz dazu muss Windows für jede mit einer Static Link Library erstellte Anwendung eine Kopie des Bibliothekscodes in den Arbeitsspeicher laden.
- Sie spart Festplattenspeicher. Viele Anwendungen können eine einzelne, auf der Festplatte gespeicherte Kopie der DLL gemeinsam nutzen. Im Gegensatz dazu wird für jede Anwendung, die mit einer Static Link Library erstellt wurde, der Bibliothekscode als separate Kopie in deren ausführbares Bild eingebunden.
- Sie vereinfacht die Aktualisierung der DLL. Wenn sich die Funktionen in einer DLL ändern, müssen die Anwendungen, die diese DLL verwenden, nicht neu kompiliert oder neu verknüpft werden, solange sich die Argumente und Rückgabewerte der Funktion nicht ändern. Im Gegensatz dazu erfordert ein statisch verknüpfter Objektcode, dass die Anwendung neu verknüpft wird, wenn sich die Funktionen ändern.
- Sie ermöglicht die Unterstützung nach der Vermarktung. Eine Treiber-DLL für ein Anzeigegerät kann z. B. so geändert werden, dass ein Gerät unterstützt wird, das zum Zeitpunkt der Auslieferung der Anwendung noch gar nicht verfügbar war.
- Sie unterstützt mehrere Programmiersprachen. Programme, die in verschiedenen Programmiersprachen erstellt wurden, können dieselbe DLL-Funktion aufrufen, solange sie die Aufrufkonvention der Funktion einhalten. Die Programme und die DLL-Funktion müssen in folgenden Punkten kompatibel sein: die von der Funktion erwartete Reihenfolge, in der Argumente auf den Stapel verschoben werden, ob die Funktion oder die Anwendung für das Bereinigen des Stapels verantwortlich ist und ob Argumente in Registern übergeben werden.
- Sie bietet einen Mechanismus zur Erweiterung der MFC-Bibliotheksklassen. Sie können Klassen von bestehenden MFC-Klassen ableiten und diese in einer MFC-Erweiterungs-DLL speichern, die dann von MFC-Anwendungen genutzt werden kann.
- Sie erleichtert die Erstellung von internationalen Versionen. Das Erstellen internationaler Anwendungsversionen wird erheblich vereinfacht, wenn Sie Ressourcen in einer DLL speichern. Sie können die Zeichenfolgen für jede Sprachversion der Anwendung in einer separaten Ressourcen-DLL speichern und die Versionen so einrichten, dass jede Sprachversion ihre eigenen Ressourcen lädt.
Mehr muss man zu einer DLL eigentlich nicht wissen, deswegen fangen wir jetzt auch mal direkt an. =)
Ihr Startet Visual Basic .NET und Erstellt eine neue Klassenbibliothek.
Nach dem ihr die Klassenbibliothek Erstellt habt wurde automatisch eine Class (Klasse) dem Projekt hinzugefügt die ihr einfach "Test" nennt.
Jetzt haben wir alles so weit eingerichtet das wir endlich mit dem Programmieren der DLL anfangen können. Der erste schritt den wir einleiten ist das wir die nötigen Imports machen.
Der Import System.Runtime.InteropServices ist dafür da, das wir nachher auch auf DLL zugreifen können.
Jetzt Erstellen wir in der Klasse eine Sub, wo wir dann drin Programmieren werden.
Somit wir nachher aber auf die Klasse und auf die Member der Klasse zugreifen können müssen wir sie noch mit Hilfe des Importierten System.Runtime.InteropServices sichtbar machen.
Wie ihr anhand des Namens der Sub schon sehen könnt bauen wir als erstes eine AboutForm die nachher ganz bequem aus einem anderen Programm heraus aufgerufen werden kann.
Dafür müssen wir eine Form zu der DLL hinzufügen, das ihr ganz einfach mit "Neues Element Hinzufügen" machen könnt. (Eine einfache Windows Form)
Den Dateiname von der "Form1.vb" macht ihr jetzt bitte in "frmAbout.vb".
Nun könnt ihr mit hilfe von Labeln eure Kontaktdaten, Webseiten, ect auf die AboutForm machen. Natürlich könnt ihr auch Bilder mittels der PictureBox einfügen. (Ihr müsst nur darauf achten das ihr die Bilder als Ressource mitliefert.)
Hier habe ich mal ein Bild von meiner Test AboutForm:
Wenn ich euch noch ein paar Einstellungen von der frmAbount Form ans Herz legen darf dann wären das:
- StartPosition: Center Screen (So mit die Form IMMER beim aufruf in der mitte ist.)
- FormBorderStyle: Fixed3D (So mit man die Form nicht mehr größer & kleiner machen kann wenn die Form aufgerufen wurde.
Jetzt müssen wir noch dafür sorgen das die Form auch erscheint wenn man die Funktion in der DLL aufruft. Dafür gehen wir zurück in unsere Klasse wo wir schon alles für den Code vorbereiten haben.
Unsere frmAbout aufzurufen erfordert nur 2 Befehle.
Jetzt geht ihr oben auf in Visual Basic .NET oben auf "Erstellen" und Erstellt die DLL. Fertig, alles ist vollbracht und die DLL ist bereit zum testen. =) (Vergesst nicht das Projekt zu Speicher - Wichtig!)
Nun Erstellt ihr ein neues Projekt (Windows Form-Anwendung), und geht direkt oben auf "Projekt" und dann auf "Verweis Hinzufügen".
Dort geht ihr oben auf dem Reiter "Durchsuchen" und wählt eure DLL aus. (Bei mir ist sie unter: C:\Users\Papa\Documents\Visual Studio 2008\Projects\TutorialDLL\TutorialDLL\bin\Release) Nachdem ihr das gemacht habt geht ihr in euer Code-Fenster.
Bei "Dim MeineDLL As New TutorialDLL.Test" steht das TutorialDLL für den Namen der Datei, und das Test ist die klasse in userer DLL.
Im Form_Loadhaben wir dann einfach nur noch mit MeineDLL die About Form aufgerufen.
Das war es auch schon in diesem Tutorial, und ich werde für DLL's noch ein 2tes Schreiben, was sich dann mehr auf Funktionen bezieht und wie man ordentlich mit einer DLL und dessen Variablen Kommunizieren kann.
lg, Igoe
Liebe Grüße,
C.O.D.E
Testautomatisierung (TA):
C.O.D.E
Testautomatisierung (TA):
5%
Du findest meinen Beitrag Hilfreich? Dann drück auf Hilfreich!