Bei der Verwendung von Drittanbieter-Controls in der VB-Programmierung muss das Programm in der Lage sein, die verwendeten Drittanbieter-Controls im Systemverzeichnis oder Programmverzeichnis zu finden. Normalerweise gibt es zwei Methoden: Die eine besteht darin, die Steuerung und das Programm in einem komprimierten Paket zusammenzufassen und zu verteilen. Der Nachteil besteht darin, dass die Steuerungsdatei während des Programmverbreitungsprozesses verloren gehen kann. Die zweite besteht darin, ein Installationsprogramm zu erstellen. Der Nachteil besteht darin, dass der Produktionsprozess umständlich ist. In diesem Artikel wird beschrieben, wie Sie Steuerelemente von Drittanbietern in Form von benutzerdefinierten Ressourcendateien im Programm speichern. Nach der Ausführung des Programms und vor der Verwendung der Steuerelemente werden die verwendeten Steuerelemente im Programmverzeichnis generiert, um das Shelling der Steuerelemente aus der ausführbaren Datei abzuschließen Datei.
Die spezifischen Schritte sind wie folgt:
Schritt 1: Kopieren Sie das zu verwendende Steuerelement in das aktuelle Projektverzeichnis, klicken Sie mit der rechten Maustaste auf das Steuerelement, wählen Sie „Eigenschaften“ und notieren Sie die Dateigröße. Beachten Sie, dass Sie für Programmierzwecke die konkrete Anzahl in Bytes notieren sollten, nicht wie viele K.
Schritt 2: Referenzieren und verwenden Sie das Steuerelement normal.
Schritt 3: Erstellen Sie eine neue Ressourcendatei und fügen Sie sie dem Projekt hinzu, das als benutzerdefinierte Ressource (BENUTZERDEFINIERT) im Ressourcendateieditor verwendet wird. Verwenden Sie den Standardwert 101 für die Ressourcennummer. Wenn mehrere Steuerelemente verwendet werden, fügen Sie diese jeweils zu den Ressourcenelementen 101, 102 ... in der Ressourcendatei hinzu, und der Beschusscode muss ebenfalls entsprechend geändert werden.
Schritt 4: Schreiben Sie den Steuer-Shelling-Code, um die Daten der Ressourcendatei zu lesen und die Steuerung im aktuellen Verzeichnis des Programms zu generieren.
Der Code lautet wie folgt:
Private Const OCXSIZE = 57344 'Die Größe des zu generierenden Steuerelements beträgt 57344 Byte und der Name ist CoolToolBar.ocx
Sub Main()
Dim Ocx() As Byte 'OCX ist ein Array vom Typ Btye
Zähler solange dimmen
Ocx = LoadResData(101, CUSTOM) 'Ressource Nr. 101 in der benutzerdefinierten Ressource in das Array OCX lesen
„Beachten Sie, dass in den Anweisungen zum Laden benutzerdefinierter Ressourcen in der Hilfe von Microsoft ein Fehler vorliegt. Die benutzerdefinierte Ressource wird als CUSTOM anstelle der in der Hilfe erwähnten Nummer 10 identifiziert.
If Right(App.Path, 1) = ($%$43%^#ASD#2@$#f$%^) Then 'Lesen Sie den Pfad des Programms, bestimmen Sie, ob es sich um das Stammverzeichnis handelt, und verarbeiten Sie es separat
'Das Programm befindet sich im Stammverzeichnis
If Dir(App.Path & CoolToolBar.ocx) = Then 'Ist ein Steuerelement im Programmpfad vorhanden? Wenn nicht, wird das Steuerelement generiert
'Schreiben (generieren) Sie das Steuerelement (CoolToolBar.ocx) im Binärmodus in das Verzeichnis, in dem sich das Hauptprogramm befindet
Öffnen Sie App.Path und CoolToolBar.ocx für die Binärdatei Nr. 1
Für Counter = 0 To OCXSIZE - 1 'Beachten Sie, dass die Dateigröße - 1 Byte der Endwert ist, da sie bei 0 Byte beginnt
Setze #1, , Ocx(Zähler)
Nächster Zähler
Schließen Sie Nr. 1
Ende wenn
Anders
'Das Programm befindet sich nicht im Stammverzeichnis
If Dir(App.Path & /CoolToolBar.ocx) = Then 'Befindet sich ein Steuerelement im Programmpfad? Wenn nicht, wird das Steuerelement generiert
'Schreiben (generieren) Sie das Steuerelement (CoolToolBar.ocx) im Binärmodus in das Verzeichnis, in dem sich das Hauptprogramm befindet
Öffnen Sie App.Path & /CoolToolBar.ocx für Binär als Nr. 1
Für Counter = 0 To OCXSIZE - 1 'Beachten Sie, dass die Dateigröße - 1 Byte der Endwert ist, da sie bei 0 Byte beginnt
Setze #1, , Ocx(Zähler)
Nächster Zähler
Schließen Sie Nr. 1
Ende wenn
Ende wenn
Form1.Visible = True 'Die im Hauptprogramm verwendeten Steuerelemente wurden generiert, zeigen das Hauptformular an und rufen das Hauptprogramm auf.
Sub beenden
Hinweis: Fügen Sie den obigen Code als Modul zum Projekt hinzu und wählen Sie in den Projekt-Projekt-Eigenschaftseinstellungen das Startobjekt als Sub Main aus, bei dem es sich um den obigen Shelling-Code handelt. Kompilieren und generieren Sie dann eine EXE-Datei, kopieren Sie die EXE-Datei auf andere Computer, auf denen das Steuerelement nicht installiert ist, und führen Sie es aus, um zu sehen, ob die Steuerportabilität erreicht wird.