Seite 1 von 1

Isoliert klappts, im programm nich!

Verfasst: 30.01.2005 23:47
von ZaPPa
also es handelt sich um folgenden code:

Code: Alles auswählen

  If OpenWindow(123,0,0,300,60,#PB_Window_WindowCentered | #PB_Window_SystemMenu,"Passwort")
   If CreateGadgetList(WindowID())
    TextGadget(1001,15,10,150,20,"Bitte Passwort eingeben:")
    StringGadget(1002,140,7,145,20,"",#PB_String_Password )
    ButtonGadget(1003,100,35,100,20,"OK")
   EndIf
   
   Repeat
   
    Select WaitWindowEvent() 
    
     Case #PB_Event_Gadget 
     
      Select EventGadgetID()
       Case 1003
        Passwort.s=GetGadgetText(1002)   
        CloseWindow(123)
        Goto GoOnLoad
      EndSelect
    
    EndSelect
   
   Until WaitWindowEvent()=#pb_event_closewindow
   EndIf

  GoOnLoad:
so wenn ich den in eine neue source datei schreibe funktioniert er wunderbar...

schreib ich ihn allerdings in mein programm rein (innerhalb der Procedure Load() ) so stürzt das gesammte programm ab nach drücken des "Ok" button....

kann mir vll jmd sagen warum???

Verfasst: 31.01.2005 00:02
von sharkpeter
Hi ZaPPa,

wenn ich das so lese, machst du mit der Eingabe "OK" einen Sprung aus der Schleife auf die Marke GoOnLoad: Das würde ich nicht so machen. Versuche mal ohne GOTO über einen richtigen Procdure Aufruf. Aus diesem Code heraus sagen zu wollen, warum du einen Absturz hast ist auch nicht so recht möglich. So wie es allein dasteht, wird das Programm einfach mit der Auswahl des Button (1003) beendet.

Gruß Jens

Re: Isoliert klappts, im programm nich!

Verfasst: 31.01.2005 00:04
von Danilo
ZaPPa hat geschrieben:schreib ich ihn allerdings in mein programm rein (innerhalb der Procedure Load() ) so stürzt das gesammte programm ab nach drücken des "Ok" button....

kann mir vll jmd sagen warum???
Das hängt sicherlich mit dem Goto zusammen. Um das
Repeat..Until zu verlassen nimmt man deshalb 'Break',
siehe PB-Referenz.

Verfasst: 31.01.2005 00:09
von ZaPPa
juhu!

vielen dank es lag tatsächlich an dem Goto!

ok näxtes problem: warum muss ich 2 mal auf OK drücken???

Verfasst: 31.01.2005 00:09
von sharkpeter
@Danilo:

oder so :D

Verfasst: 31.01.2005 00:33
von ZaPPa
ok das hat sich auch geklärt!

THX@LL

Verfasst: 31.01.2005 00:39
von sharkpeter
@ZaPPa,
noch ein Tip am Rande: Mach die Nummern der Fenster und Button als Konstanten. Am Besten mit Enumeration und EndEnumeration. Wenn du mal eine gewisse Anzahl in deinem Programm hast, verlierst du so unter Umständen den Überblick.

Gruß Jens

Verfasst: 31.01.2005 00:42
von ZaPPa
hm ne ich glaub nich das das passiert:

ich schreib die nummern auf papier und in ne 2te datei....

da steht dann alles drauf, fein säuberlich und da gugg ich immer drauf...

aber vll mach ichs das näxte mal mit enumeration