Seite 1 von 1
eigenen Event erzeugen
Verfasst: 08.02.2006 21:58
von topsoft
Hallo,
wie kann ich einen eigenen Event in einem Thread auslösen der dann in meinem Haupfenster augewertet werden kann? Habe über dieses Thema hier schon mal was gelesen finde es aber nicht mehr.
Gruß Topsoft
Verfasst: 08.02.2006 22:30
von MLK
Verfasst: 08.02.2006 22:39
von topsoft
Oh,
da habe ich mich wohl falsch ausgedrückt, ich will nicht ein Event erzeugen welchen ein Gadget absetzen könnte, sondern ein nicht vorhandenen. Welcher in keinem Fall von irgend einem anderen erzeugt wird.
Gruß Topsoft
Verfasst: 09.02.2006 01:23
von MLK
na dann probiere ich es noch mal mit
Verfasst: 09.02.2006 04:29
von nco2k
PostMessage_(WindowID(0), #WM_USER+1, 0, 0) und dann in der event schleife einfach #WM_USER+1 abfangen.
in etwa so:
Code: Alles auswählen
Procedure ThreadProc()
For i = 1 To 20
Delay(200)
SetWindowTitle(0, Str(i*5)+"%")
Next
PostMessage_(WindowID(0), #WM_USER+1, 0, 0)
ProcedureReturn #True
EndProcedure
If OpenWindow(0, 0, 0, 480, 360, #PB_Window_SystemMenu | #PB_Window_ScreenCentered, "0%")
ThreadID = CreateThread(@ThreadProc(), 0)
If ThreadID
Repeat
Select WaitWindowEvent()
Case #WM_USER+1
WaitThread(ThreadID)
CloseHandle_(ThreadID)
MessageRequester("TEST", "Thread finished successfully!", #MB_ICONINFORMATION)
ThreadID = #False
Case #PB_Event_CloseWindow
KillThread(ThreadID)
MessageRequester("TEST", "Thread aborted!", #MB_ICONERROR)
ThreadID = #False
EndSelect
Until ThreadID = #False
EndIf
EndIf
End
c ya,
nco2k
Verfasst: 09.02.2006 13:17
von topsoft
Hallo,
genau das war es, vielen Dank.
Gruß Topsoft
Cool ....
Verfasst: 11.02.2006 13:31
von hiltwin
.... in etwas das benötige ich demnächst auch ;o)
vielen Dank! *g*