Hallo Leute!
Ich schreibe in letzter zeit ein paar dlls für clickexe (www.clickexe.de)!
Mit dem "Pro-Plugin" dieser "Programmiersprache" ist es möglich dlls einzubinden!
Mein Problem:
Ich binde eine dll ein, wo ein gadget auf dem clickexe fenster erzeugt wird, geht auch wunderbar! Nur der nächste Befehl in clickexe, also der nach dem dll aufruf das das gadget erzeugt wird, wird nicht mehr abgearbeitet, da ich ja in der dll, wenn ich das gadget erzeuge einen "endlosschleife" laufen lassen muss".
Wie kann ich das umgehen, das der nächste Befehl wieder ausgeführt wird?
PB - dll in clickexe verwenden
- ts-soft
- Beiträge: 22292
- Registriert: 08.09.2004 00:57
- Computerausstattung: Mainboard: MSI 970A-G43
CPU: AMD FX-6300 Six-Core Processor
GraKa: GeForce GTX 750 Ti, 2 GB
Memory: 16 GB DDR3-1600 - Dual Channel - Wohnort: Berlin
Statt endlosschleife ein Callback setzen sollte genügen
PureBasic 5.73 LTS | SpiderBasic 2.30 | Windows 10 Pro (x64) | Linux Mint 20.1 (x64)
Nutella hat nur sehr wenig Vitamine. Deswegen muss man davon relativ viel essen.

Nutella hat nur sehr wenig Vitamine. Deswegen muss man davon relativ viel essen.

Du könntest auch einen Thread starten.
--
Zu den Callbacks: Du musst auf das Gadget (z.B. per SetWindowLong_ müsste der Befehl glaube ich heißen) ein Callback setzen: das heist jedes mal wenn das Gadget eine Nachricht erhält wird das Callback aufgerufen und du kannst sie abarbeiten. Somit brauchst du nicht mit WaitWindowEvent() auf das Event warten.
mfg
125
--
Zu den Callbacks: Du musst auf das Gadget (z.B. per SetWindowLong_ müsste der Befehl glaube ich heißen) ein Callback setzen: das heist jedes mal wenn das Gadget eine Nachricht erhält wird das Callback aufgerufen und du kannst sie abarbeiten. Somit brauchst du nicht mit WaitWindowEvent() auf das Event warten.
mfg
125


Leider habe ich jetzt einen Speicherzugriffsfehler!
Was genau mache ich falsch?
Code: Alles auswählen
Procedure.l WindowCallback(hWnd, Msg, wParam, lParam)
Result = #PB_ProcessPureBasicEvents
MessageRequester("test", "test")
ProcedureReturn Result
EndProcedure
ProcedureDLL test(titel.s)
hwnd = FindWindow_(0,titel)
CreateGadgetList(hwnd)
id = TreeGadget(#PB_Any,0,0,100,100,#PB_Tree_CheckBoxes)
;SetWindowCallback(@WindowCallback())
Repeat : Until WaitWindowEvent(10) = #PB_Event_CloseWindow
EndProcedure