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] Texte und Ebooks
Autor
Nachricht
c0re_
« Moderator »<b><font color=green>« Moderator »</font



Anmeldedatum: 28.11.2007
Beiträge: 425

[Text] Komponenten registrieren mit Sub Main
Verfasst am: 23.02.2008, 07:45

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
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
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
FF = FreeFile


Nun öffnen wir den oben definierten Dateipfad und schreiben die Datei aus der Resource hinen.

Code:
Open MyPath For Binary As #FF
Put #FF, , MyData
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
On Local Error Resume Next
FileExists = (Dir$(FileName) <> "")
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
_________________
 
H4CK4 K1NG0_
Poster
Poster



Anmeldedatum: 05.02.2008
Beiträge: 146
Wohnort: Nähe von 127.0.0.1


Verfasst am: 23.02.2008, 11:46

Jooooooooo Danke Wink
M weg'm rs acci
 
H4CK4 K1NG0_
Poster
Poster



Anmeldedatum: 05.02.2008
Beiträge: 146
Wohnort: Nähe von 127.0.0.1


Verfasst am: 03.03.2008, 21:26

*Push*

Also ich code zurzeit ein anderes Tool aber jetz wenn ich es wieder so mache kommt fehler Sad

laufzeitfehler 364 Objekt wurde entladen

Kann mir jemand weiter helfen?
_________________
 
marcel1994_
Coder
Coder

Anmeldedatum: 08.02.2008
Beiträge: 202


Verfasst am: 04.03.2008, 18:05

ja wenn du andrfalschen stelle die form entlädst!
 
H4CK4 K1NG0_
Poster
Poster



Anmeldedatum: 05.02.2008
Beiträge: 146
Wohnort: Nähe von 127.0.0.1


Verfasst am: 04.03.2008, 19:14

Es ist eigentlich alles gleich nur das ich dies gemacht habe:

form1.show

geht net ...

Kann mir jemadn helfen?
_________________
 
DFJ_
Poster
Poster

Anmeldedatum: 15.10.2007
Beiträge: 156


Verfasst am: 30.03.2008, 13:00

wird von av als virus erkannt Very Happy

bitte um neue cod oder andere variabeln XD
_________________
Spam bot
 
exe23_
Tutorial Leser
Tutorial Leser

Anmeldedatum: 05.03.2008
Beiträge: 22


Verfasst am: 30.03.2008, 13:17

hm.. wie kann den sowas als virus erkannt werden ich dachte es kommt drauf an was man für ressourcen reinpackt ?? oda lieg ich da falsch?
 
ZiG_
Überflieger
Überflieger

Anmeldedatum: 07.03.2007
Beiträge: 1248


Verfasst am: 30.03.2008, 17:07

Ne.
AV's reagieren natürlich auch sensiblen auf Schreibversuche in die Windows Ordner. Z.B. system, system32 ect.

Wird sich also nichts ändern wenn man den source verändert.
Durchs ändern von Variablennamen schonmal garnicht.
_________________
Wer nicht auf seine Weise denkt, denkt überhaupt nicht. (Oscar Wilde)
 
lool_
Tutorial Leser
Tutorial Leser

Anmeldedatum: 27.07.2007
Beiträge: 67


Verfasst am: 26.04.2008, 12:45


Hi Smile

Wie mache ich das, wenn ich mehrere Komponente in den system32 order kopieren will ? Für jedes Komponent wie dus beschrieben hast ?

hab noch nie mit der Sub Main() gearbeitet ^^

mfg lool
_________________


 
Neues Thema eröffnen   Neue Antwort erstellen    Visual Basic Forum Foren-Übersicht -> [VB6] Texte und Ebooks

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 ? 1102 29.06.2007, 20:59
Keine neuen Beiträge update funktion einbauen 1341 28.01.2007, 23:11
 



[ Time: 0.3389s ][ Queries: 113 (0.0267s) ][ GZIP on - Debug on ]