ProblemWithRequesterFunctionsEntering a modal loop

BlitzMax Forums/BlitzMax GUI Programming/ProblemWithRequesterFunctionsEntering a modal loop

The forum is locked. These are the original blitzbasic.com forums, kept so they can still be read. No new topics, replies or edits can be made here. To join in, head over to the Blitz3D+ forums.

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.