Starten Sie Visual Studio .NET 2003 und eröffnen ein neues Projekt. Dabei ist es wichtig, dass Sie
die Vorlage für Klassenbibliotheken verwenden.
Als nächstes müssen Sie die für die Kommunikation zwischen Programm und Plugin
obligatorische Interfaces.dll einbinden.
Gehen Sie wie folgt vor: Klicken Sie im TreeView der Projektmappe mit der rechten Maustaste auf
Verweise und dann auf den Menüpunkt Verweis hinzufügen.
Ein Dialogfenster öffnet sich. Klicken Sie auf die Schaltfläche Durchsuchen... und wählen Sie
die Interfaces.dll, die sich im Installationsverzeichnis von Copy-Discovery 2000 befindet, aus.
Schließen Sie das Dialogfenster mit der OK Schaltfläche.
Wie Sie sehen, hat Visual Studio .NET nun die Interfaces.dll zu ihrem Projekt hinzugefügt.
Wichtig: Setzen Sie die Eigenschaft Lokale Kopie der Interfaces.dll auf False.
Damit ist die Basis des Plugins schon einmal gelegt.
Nun ist es wichtig, den Klassennamen der Hauptklasse zu ändern.
Das ist deshalb so wichtig, weil der Name der Klasse, die das CPS implementiert (dazu später mehr) ein authentischer Wert sein muss, der nur von einem Plugin verwendet wird.
Verwenden zwei Plugins den selben Klassennamen, wird eines davon nicht erkannt. Aus diesem Grund benennen wir die Klasse um.
Bitte auch nicht zu clsMain, ClassMain, oder ähnlich umbenennen, da diese
geläufige Namen vielleicht bereits von einem anderen Plugin genützt werden.
Ich ändere den Namen zu clsDemoMain, bitte verwenden Sie aus diesem Grund einen anderen.
Ändern Sie nicht nur den Klassennamen sondern auch den Dateinamen.
Nun implementieren Sie in der eben umbenannten Klasse das CPS. Dazu schreiben Sie
Implements CD2000Plugin.Interfaces.IPlugin
unter folgende Zeile: Public Class <Ihr Klassenname> (C#: hängen Sie " : CD2000Plugin.Interfaces.IPlugin" an den Klassennamen an)
Visual Studio.NET sollte nun (wenn Sie mit Enter in die nächste Zeile springen) Code automatisch generieren. Der Quellcode soll so aussehen:
Public Class clsDemoPlugin Implements CD2000Plugin.Interfaces.IPlugin
Public Function CD2000_Events(ByVal Message As CD2000Plugin.Interfaces.IPlugin.EnumMessages, ByVal Data As Object) As Boolean Implements CD2000Plugin.Interfaces.IPlugin.CD2000_Events
End Function
Public Sub Initialize(ByVal Host As CD2000Plugin.Interfaces.CD2000) Implements CD2000Plugin.Interfaces.IPlugin.Initialize
End Sub End Class
Um die CPS Funktionen zu nutzen, brauchen Sie noch eine globale Variable vom Typ CD2000Plugin.Interfaces.CD2000.
Legen Sie diese einfach in einem Modul an. Am bestens Sie nennen diese Variable einfach
CPS (gemäß der CD2000 Konvention :-)).
Diese Variable muss aber noch initialisiert werden. Dafür ist der Initialize da. Weisen Sie der Variable CPSHost zu. Dazu schreiben Sie in diesen Sub folgende Codezeile:
VB .NET: CPS = Host
C#: CPS = Host;
Zum Abschluss stellen Sie bei den Projekteigenschaften noch ein,
dass die DLL von einem externen Programm (Copy-Discovery 2000.exe) aus gestartet werden soll.
Diese Einstellung erleichert das Programmieren sehr, weil so auch Debuggingfunktionen zur Verfügung stehen.