Seite 1 von 1

Fenster hängt ohne ersichtlichen Grunde

Verfasst: 13.09.2011 13:13
von Lowallyn
Hi,

Mein problem ist, dass bei folgendem Quellcode das Fenster hängt,
sobald der Thread mit dem Start-Gadget gestartet wurde.

Code: Alles auswählen

Global endthread.i

Procedure Prozedur1()
  ....
  While Eof(1)=0 And endthread=0
    ....
  Wend
  ....
EndProcedure

If OpenWindow(1,0,0,480,270,"Beispielfenster",#PB_Window_ScreenCentered | #PB_Window_SystemMenu | #PB_Window_MinimizeGadget)
  
  ButtonGadget(1,100,100,100,70,"Start")
  ButtonGadget(2,280,100,100,70,"Ende")
  
  Repeat
    event=WaitWindowEvent()
    
    If event=#PB_Event_Gadget      
      Select EventGadget()
          Case 1 : If thread=0
            CreateThread(Prozedur1(),endthread)
            thread=1
          EndIf
        Case 2 : endthread=1
      EndSelect
    EndIf
    
  Until event = #PB_Event_CloseWindow
  
EndIf
danke für eure Hilfe,
Lowallyn

Re: Fenster hängt ohne ersichtlichen Grunde

Verfasst: 13.09.2011 13:17
von DarkDragon
Bei der Prozedur fehlt schonmal ein Parameter:

Code: Alles auswählen

Procedure Prozedur1(PARAMETER.i)

Re: Fenster hängt ohne ersichtlichen Grunde

Verfasst: 13.09.2011 13:18
von CSHW89
...und bei CreateThread fehlt das @:

Code: Alles auswählen

CreateThread(@Prozedur1(),endthread)
So wurde die Procedure aufgerufen, ohne dass ein Thread erstellt wurde.
lg kevin

Re: Fenster hängt ohne ersichtlichen Grunde

Verfasst: 13.09.2011 13:25
von Lowallyn
Vielen Dank euch beiden.

CSHW89, du hast den Nagel auf den Kopf getroffen mit deiner Antwort ^^

Re: Fenster hängt ohne ersichtlichen Grunde

Verfasst: 13.09.2011 13:30
von DarkDragon
Lowallyn hat geschrieben:Vielen Dank euch beiden.

CSHW89, du hast den Nagel auf den Kopf getroffen mit deiner Antwort ^^
Den Parameter darfst du trotzdem nicht vergessen, sonst schmiert das Programm unter gewissen Umständen ab.

Re: Fenster hängt ohne ersichtlichen Grunde

Verfasst: 13.09.2011 13:34
von Lowallyn
Hab ich schon geändert.

Danke auch für diesen Hinweis