This problem can't be solved.
It can, as I said: This problem could be solved if we had some functions which just open the requester, but don't wait until it closes.
But okey, for now I wrote these functions myself ( pub.Requester ); here's the example written with them:Strict Framework brl.blitz Import brl.win32maxgui Import pub.Requester Global Stop AddHook EmitEventHook , Hook Global Window1:TGadget = CreateWindow ( "Window1" , 100 , 100 , 200 , 200 , Desktop ( ) , WINDOW_TITLEBAR ) Global Button1:TGadget = CreateButton ( "Button1" , 0 , 0 , 100 , 24 , Window1 ) Global Window2:TGadget = CreateWindow ( "Window2" , 400 , 100 , 200 , 200 , Desktop ( ) , WINDOW_TITLEBAR ) Global Button2:TGadget = CreateButton ( "Button2" , 0 , 0 , 100 , 24 , Window2 ) While Not Stop WaitSystem Wend Function Hook:Object ( ID , Data:Object , Context:Object ) Local Event:TEvent = TEvent ( Data ) Select Event.source Case Null Case Window1 If Event.id = EVENT_WINDOWCLOSE Stop = True EndIf Case Button1 If Event.id = EVENT_GADGETACTION TNotify.Create "Button1: notify A" , False , Func Function Func ( Data , Context:Object , O:TNotify ) TNotify.Create "Button1: notify B" , False , Null EndFunction EndIf Case Window2 If Event.id = EVENT_WINDOWCLOSE Stop = True EndIf Case Button2 If Event.id = EVENT_GADGETACTION TNotify.Create "Button2: notify A" , False , Func Function Func ( Data , Context:Object , O:TNotify ) TNotify.Create "Button2: notify B" , False , Null EndFunction EndIf EndSelect Return Data EndFunction
These functions solve my problem, but they're Win32 only. However I think it's possible to write them platform independent.