Programmieren - alles kontrollieren 4.941 Themen, 20.708 Beiträge

DLL in VB schreiben

Nobody666 / 5 Antworten / Baumansicht Nickles

Hallo, hab ein Programm in VB6, war früher eine exe,  muss jetzt in eine dll umgeschrieben werden. Jetzt werden jedoch die end Befehle nicht mehr erkannt. Bei einer Form muß ich statt end unload me schreiben, was mache ich aber bei normalen Funktionen?


z.B.


if Fehler_history%=0 Then


.......


DoEvents


Wert = Shell("L:\blabla\relLoadTp\reloadTp")


End


End IF

bei Antwort benachrichtigen
mr.escape Nobody666 „DLL in VB schreiben“
Optionen

"End" beendet in einer standalone anwendung das programm, d.h. es wird geschlossen. In einer dll (dynamic link library) gibt es aber nur funktionen, die aus einer anderen anwendung heraus aufgerufen und abgearbeitet werden. Eine rückgabe von resultaten ist möglich, aber keine beendigung des programms. Wenn die neue dll das programm tatsächlich beenden können soll, ist etwas im konzept falsch. Eine dll dient als wiederverwendbare bibliothek (daher library) für oft benötigte funktionen.
Im o.g. beispiel müsste der "end" befehl durch die rückgabe eines fehlercodes ersetzt werden. Dieser wert würde dann im hauptprogramm das beenden auslösen.
"Unload me" ist kein beenden, sondern das schliessen der form und die freigabe des belegten speichers. Das programm läuft deshalb aber nach wie vor weiter. War die form die einzige und war im "unload" code der form ein "end" befehl, wird auch das programm beendet aber nicht durch "unload me".

mr.escape

"The man who trades freedom for security does not deserve nor will he ever receive either." - Benjamin Franklin"Wer seine Freiheit aufgibt, um Sicherheit zu erreichen, wird beides verlieren." - Georg Christoph Lichtenberg
bei Antwort benachrichtigen
T-Rex Nobody666 „DLL in VB schreiben“
Optionen

Noch was zum Thema End:
Wie beende ich eine Anwendung richtig?

Mit VB sind nur ActiveX-DLLs möglich. Diese werden wie Objekte behandelt, Zeilen wie "Declare Function" können nicht auf Funktionen der DLL zugreifen.

 GrüßeT-Rex 
bei Antwort benachrichtigen
Nobody666 Nachtrag zu: „DLL in VB schreiben“
Optionen

Danke für die superschnelle Antwort!
Wie gesagt, das Programm war früher eine exe und in VB4. Jetzt wurde auf VB6 umgestellt mit 32 Bit und ich muß dass Programm umschreiben. Die neue Version verlangt aber irgendwie eine DLL, weiß noch nicht ganz genau wie das funktionieren soll.
mfg
nobody

bei Antwort benachrichtigen
T-Rex Nobody666 „DLL in VB schreiben“
Optionen

Und welche DLL wird verlangt?
Hast Du ein Setup erstellt und auf der Zielmaschine ausgeführt?

 GrüßeT-Rex 
bei Antwort benachrichtigen
Nobody666 Nachtrag zu: „DLL in VB schreiben“
Optionen

@T-Rex:
Weiß ich leider nicht. Das Programm ist irgendwie neu strukturiert. Arbeitet jetzt mit einem "TPCaller", der das ganze aufruft. Bin da noch nicht so ganz durchgestiegen.
DAs ganze ist ein Testerprogramm. In diesem Programm wird mein VB Programm dann aufgerufen, wo die ganzen Befehle drinstehen, was wie getestet wird.

bei Antwort benachrichtigen