Visual Basic Forum

Visual Basic Forum
für VB6 und VB.NET Programmierer
 
RegistrierenRegistrieren  LoginLogin

Neues Thema eröffnen   Neue Antwort erstellen    Visual Basic Forum Foren-Übersicht -> [VB6] Tutorials
Autor
Nachricht
ZiG
Überflieger
Überflieger

Anmeldedatum: 16.04.2008
Beiträge: 421

Komponenten registrieren mit Sub Main
Verfasst am: 17.04.2008, 17:45

Thema: Komponenten registrieren mit Sub Main
Autor: c0re


Ich erkläre euch in diesem Tutorial, wie ihr eure Komponenten registrieren (entpacken) könnt,
bevor euer Startformular angezeigt wird.

Also, los geht's!

1. Der Resourcen Editor

Zuerst braucht ihr den Resourcen Editor. Den findet ihr unter Add-Ins.



Jetzt das Add-In laden und auch immer beim Starten von VB laden lassen.



Nun könnt ihr den Resourcen Editor mit diesem Icon verwenden.



Jetzt ladet ihr eure "CUSTOM" Resource mit diesem Tool.



Dieser Datei wird die ID 101 zugewiesen. Jetzt noch die Resource Datei abspeichern und dann kommen wir zum Code.

2. Sub Main

Die Sub Main ist ein Codeblock, den man als Startobjekt einstellen kann.
Ihr macht euch nun ein neues Modul, in dem ihr alles Weitere platziert.

Die Sub beginnen wir natürlich mit dieser Zeile.

Code:
Sub Main()
Jetzt deklarieren/definieren wir den Pfad, in dem die OCX File später liegen soll, nämlich in system32

Code:
Dim MyPath As String<br />MyPath = Environ$("windir") & "system32" & "Name der OCX.ocx"
Der Name der Datei muss natürlich angepasst werden.

Jetzt laden wir den Inhalt der Resource in ein Byte Array. Hier braucht ihr auch die ID, welche der Datei zugewiesen wurde.

Code:
Dim MyData() As Byte<br />MyData = LoadResData(101, "CUSTOM")
Wir wollen ja, das die Resource nur entpackt wird, wenn sie noch nicht existiert, also fragen wir das vorher ab. Auf das benötigte Modul komme ich später noch einmal zurück.

Code:
If Not FileExists(MyPath) Then
Jetzt suchen wir uns einen freien Datenkanal, damit Bugs vorgebeugt werden.

Code:
Dim FF As Integer<br />FF = FreeFile
Nun öffnen wir den oben definierten Dateipfad und schreiben die Datei aus der Resource hinen.

Code:
Open MyPath For Binary As #FF<br />Put #FF, , MyData<br />Close #FF
Jetzt beenden wir die If Abfrage, denn die Form soll ja trotzdem geladen werden.

Code:
End If
Nun lasst ihr nur noch euer Startformular anzeigen (der Name muss natürlich angepsst werden) ...

Code:
Form1.Show
... und beendet die Sub (-Main).

Code:
End Sub
Jetzt macht ihr euch ein neues Modul, in dem ihr die FileExists Funktion zum Überprüfen der Existenz der Datei platziert.

Code:
Public Function FileExists(ByVal FileName As String) As Boolean<br />On Local Error Resume Next<br />FileExists = (Dir$(FileName) <> "")<br />End Function
Zum Schluss müsst ihr natürlich noch die Sub Main als Startobjekt festlegen.



Den kompletten Code für ein Modul hab ich euch auch noch mal geuppt. http://rafb.net/p/Dj6XkH31.nln.html
Das wars auch schon. Ich hoffe ihr habt alles verstanden.

Gruß,
Orbz
_________________
 
nasuper
Newbie
Newbie

Anmeldedatum: 12.05.2008
Beiträge: 1


Verfasst am: 12.05.2008, 14:30

Da ist ein Fehler drin, wenn ich anmerken darf...

zitat: Open mypath For Binary As #FF
Wenn die .ocx Datei dadrin nicht existiert kann sie ja auch nicht geöffnet werden...

mypath = Environ$("windir") & "system32"

so ist es richtig^^
korrigiert mich wenn ich falsch liege, aber so hats nicht geklappt
 
HaXx0r
Tutorial Leser
Tutorial Leser

Anmeldedatum: 01.05.2008
Beiträge: 25


Verfasst am: 12.05.2008, 15:12

da ist kein fehler drin, denn wenn sie nicht exisitiert, dann wird die datei eben erstellt.

Edit: Ich meinte meine Antwort jetzt bezogen auf "nasuper's" antwort, ZiG hat ihn ja jetzt aufgeklärt.
 
ZiG
Überflieger
Überflieger

Anmeldedatum: 16.04.2008
Beiträge: 421


Verfasst am: 13.05.2008, 07:23

Code:
Dim MyPath As String<br />MyPath = Environ$("windir") & "system32" & "Name der OCX.ocx"
Der Name der Datei muss natürlich angepasst werden.

Code:
If Not FileExists(MyPath) Then


Mehr sag ich nicht dazu.
_________________


 
igoe
Gast





Verfasst am: 21.05.2008, 09:28


Wieder ein Sehr gelungendes Tutorial ^^ Danke.....

MFG Igoe
 
Neues Thema eröffnen   Neue Antwort erstellen    Visual Basic Forum Foren-Übersicht -> [VB6] Tutorials

Tags: sub main, registrieren

 
 Verwandte Themen   Aufrufe   Letzter Beitrag 
Keine neuen Beiträge Wie kann ich mich bei euch anmelden?? 796 20.05.2002, 00:28
Keine neuen Beiträge Eine kleine Frage an euch.. 906 30.09.2007, 08:57
Keine neuen Beiträge TopMost Funktion unter DirectX 921 27.07.2007, 10:48
Keine neuen Beiträge Wie Funktion nutzen ? 1101 29.06.2007, 20:59
Keine neuen Beiträge update funktion einbauen 1341 28.01.2007, 23:11
 




[ Time: 0.2465s ][ Queries: 97 (0.0245s) ][ GZIP on - Debug on ]