Unterprogramm beendet Hauptprogramm

Anfängerfragen zum Programmieren mit PureBasic.
Benutzeravatar
netzer
Beiträge: 26
Registriert: 13.06.2005 20:14
Wohnort: Homeoffice

Unterprogramm beendet Hauptprogramm

Beitrag von netzer »

Hallo zusammen,

bin etwas aus der Übung mit PB gekommen ( :oops: war nie wirklich drinne...)!

Mein Problem: ich habe ein Programm, in dem ich ein neues öffne. Möchte ich das neue beenden, so wird leider auch das erste beendet.

Code: Alles auswählen

; test.pb

IncludeFile "anderedatei.pb"


If OpenWindow(0,0,0,170,120,"Hauptprogramm", #PB_Window_SystemMenu|#PB_Window_ScreenCentered)
  
  If CreateGadgetList(WindowID(0))
    ButtonGadget(2, 20, 70, 60, 20, "Test")
  EndIf
  
  Repeat  
    
    EventID = WaitWindowEvent()
        
    If EventID = #PB_Event_CloseWindow 
      Quit = 1
    EndIf 
    
    If EventID = #PB_Event_Gadget
      Select EventGadget()
        Case 2 ; Test gedrückt
        test()
        
      EndSelect
    
    EndIf
  Until Quit = 1
      
EndIf

Code: Alles auswählen

; anderedatei.pb

Procedure test()

  If OpenWindow(1,0,0,170,120,"Nebenprogramm", #PB_Window_SystemMenu|#PB_Window_ScreenCentered)
    
    If CreateGadgetList(WindowID(1))
      ButtonGadget(3, 20, 70, 60, 20, "Beenden")
    EndIf
    
    Repeat  
      
      EventID = WaitWindowEvent()
          
      If EventID = #PB_Event_CloseWindow 
        Quit = 2
      EndIf 
      
      If EventID = #PB_Event_Gadget
        Select EventGadget()
          Case 3 ; Nebenprogramm beenden
          Quit = 2
          
        EndSelect
      
      EndIf
    Until Quit = 2
    
  EndIf 

EndProcedure
Was muß ich abändern, damit mein erstets Programm weiterhin läuft?

Gruß vom Netzer
Kaeru Gaman
Beiträge: 17389
Registriert: 10.11.2004 03:22

Beitrag von Kaeru Gaman »

nunja.. dein "anderes" programm ist kein anderes programm,
weil du es includest.

d.h. du bindest den code des zweiten in das erste ein und compilierst es als eine einzige exe.

das is schon mal grundsätzlich zu beachten... jetzt schau ich mal weiter konkret am code...

[ergänzung folgt]
Der Narr denkt er sei ein weiser Mann.
Der Weise weiß, dass er ein Narr ist.
Marvin
Beiträge: 497
Registriert: 17.07.2005 14:42
Wohnort: Krikkit

Beitrag von Marvin »

Man sollte das Includefenster evtl schließen, ich könnte mir vorstellen, dass WaitWindowEvent() solange #PB_Event_CloseWindow zurückliefert, bis das Fenster geschlossen ist... :?
Benutzeravatar
netzer
Beiträge: 26
Registriert: 13.06.2005 20:14
Wohnort: Homeoffice

Beitrag von netzer »

Jupp :allright:

Da fällt es mir wie Schuppen von den Augen. Hab es nun mit RunProgram versucht, funktioniert so, wie ich es mir vorstelle.

Danke Kaeru für den Wink mit dem Zaunpfahl!
Antworten