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

Code: Alles auswählen

Message = RegisterWindowMessage_("MyMessage")

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*