Seite 1 von 2
AttachProcess
Verfasst: 12.10.2006 20:30
von uweb
Irgendwie scheint AttachProcess(Instanz) nicht aufgerufen zu werden.
myTestDLL001.pb
Code: Alles auswählen
Procedure AttachProcess(Instanz)
Beep_(3000, 1000)
EndProcedure
myDLLTest001.pb
Code: Alles auswählen
If OpenLibrary(0, "myTestDLL001.dll")
MessageRequester("Info", "Zum deaktivieren OK drücken.", #PB_MessageRequester_Ok)
CloseLibrary(0)
EndIf
Zu Instanz habe ich nichts gefunden, aber ich nehme an es ist die ID des Prozess der die DLL aufruft.
Verfasst: 12.10.2006 20:36
von a14xerus
du rufst die funktion doch garnicht auf
Verfasst: 12.10.2006 20:38
von uweb
es gibt 4 spezielle Prozeduren, die von Windows automatisch aufgerufen werden, wenn eines der folgenden Ereignisse auftritt:
- DLL wurde zu einem neuen Prozess hinzugefügt
- DLL wurde von einem Prozess entfernt
- DLL wurde zu einem neuen Thread hinzugefügt
- DLL wurde von einem Thread entfernt
.....
Danke trotzdem !
Verfasst: 12.10.2006 20:39
von AND51
Halt dich mal zurück, wenn du dich nicht mit DLLs auskennst!
'AttachProcess' wird, wie 3 andere Prozeduren, von Windows automtisch aufgerufen, wenn die DLL von einem Programm geöffnet oder geschlossen wird.
Versuchs mal mit nem Messagerequester, uweb! Vielleicht liegt's ja an dem Piepen oder er Piept schon, aber dein PC ist zu leise eingestellt...
Verfasst: 12.10.2006 20:40
von a14xerus
wo kommt dieses Zitat den nher ? aus der hilfe?
//edit:
HIFLE hat geschrieben:
Um diese Ereignisse zu verwalten, ist es möglich, 4 spezielle Prozeduren zu deklarieren: AttachProcess(Instanz), DetachProcess(Instanz), AttachThread(Instanz) und DetachThread(Instanz). Dies bedeutet, dass diese 4 Prozedur-Namen reserviert sind und vom Programmierer nicht für andere Zwecke verwendet werden können.
ah
Verfasst: 12.10.2006 20:43
von a14xerus
dann sollte man es wenigstens mit Procedure DLL aufrufen. .würd ich mal sagen
Verfasst: 12.10.2006 20:44
von AND51
Genauuuuuu! Und soetwas hätte man gewusst, wenn man sich das Kapitel DLL wenigstens mal angeschaut hätte, wenn man schon nicht damit arbeitet

Verfasst: 12.10.2006 20:44
von uweb
Code: Alles auswählen
Procedure AttachProcess(Instanz)
Beep_(3000, 1000)
MessageRequester("Info", "DLL aktiviert.", #PB_MessageRequester_Ok)
EndProcedure
unverändert - nichts !
EDIT @AND51 : a14xerus hat es doch nur gut gemeint. man wächst mit seinen aufgaben !
Verfasst: 12.10.2006 20:49
von a14xerus
Ich habe noch nie DLLs benutz und hier eben ein Beispiel gemacht, was auch funktioniert:
Code: Alles auswählen
;PROG
MessageRequester("START","START PROGRAMM")
If OpenLibrary(0, "DLL.dll")
Delay(5000)
CloseLibrary(0)
EndIf
MessageRequester("EXIT","EXIT PROGRAMM")
Code: Alles auswählen
;DLL
ProcedureDLL AttachProcess(Instanz)
MessageRequester("START","START DLL")
EndProcedure
ProcedureDLL DetachProcess(Instance)
MessageRequester("EXIT","EXIT DLL")
EndProcedure
//EDIT:
Wie ich schon geschrieben habe:
a14xerus hat geschrieben:dann sollte man es wenigstens mit ProcedureDLL aufrufen. .würd ich mal sagen
Wichtig dabei: Procedure
DLL
Verfasst: 12.10.2006 20:50
von ts-soft
Keine Problem, beept wie blöd
