Seite 1 von 1

Darstellungsfehler????

Verfasst: 19.04.2006 09:58
von Pinhead
Hallo Leute,
folgendes Problem, wenn ich mein Fenster beim Programmstart
öffne ist alles in Ordnung, wenn es aus dem Programm geöffnet wird
fehlen #Text_55, #Text_56,#Text_57.

Code: Alles auswählen

Procedure Open_Window_6()
  If OpenWindow(#Window_6, 486, 336, 490, 300,"Vokabeleingabe",  #PB_Window_TitleBar|#PB_Window_SystemMenu)  
    If CreateGadgetList(WindowID(#Window_6))           
        TextGadget(#Text_49, 20, 10, 140, 30, "日本語")
        SetGadgetFont(#Text_49, FontID1)
        TextGadget(#Text_50, 20, 50, 120, 30, "Deutsch")
        SetGadgetFont(#Text_50, FontID1)
        StringGadget(#String_4, 130, 50, 340, 27, "")
        StringGadget(#String_5, 130, 10, 340, 27, "")
        SetGadgetFont(#String_4, FontID5)
        SetGadgetFont(#String_5, FontID4)      
        OptionGadget(#Radio_22, 20, 100, 20, 20, "")
        OptionGadget(#Radio_23, 20, 130, 20, 20, "")
        OptionGadget(#Radio_24, 20, 160, 20, 20, "") 
        OptionGadget(#Radio_25, 20, 190, 20, 20, "")               
        TextGadget(#Text_51, 40, 100, 370, 20, "Subjekt")
        SetGadgetFont(#Text_51, FontID5)
        TextGadget(#Text_52, 40, 130, 370, 20, "Verb")
        SetGadgetFont(#Text_52, FontID5)
        TextGadget(#Text_53, 40, 160, 370, 20, "Adjektiv")           
        SetGadgetFont(#Text_53, FontID5)        
        TextGadget(#Text_54, 40, 190, 370, 20, "Sonstiges")           
        SetGadgetFont(#Text_54, FontID5)      
        OptionGadget(#Radio_26, 180, 100, 20, 20, "") 
        OptionGadget(#Radio_27, 180, 130, 20, 20, "")               
        TextGadget(#Text_55, 210, 100, 270, 20, "Grundwortschatz")
        SetGadgetFont(#Text_55, FontID5)
        TextGadget(#Text_56, 210, 130, 270, 20, "Aufbauwortschatz")
        SetGadgetFont(#Text_56, FontID5)  
        SpinGadget(#Spin_1, 180, 160, 60, 20, 1,100)               
        TextGadget(#Text_57, 260, 160, 270, 20, "Lektion")
        SetGadgetFont(#Text_57, FontID5)       
        SetGadgetState (#Spin_1, 1) 
        SetGadgetText(#Spin_1, "1")         
        ButtonGadget(#Button_181, 63, 250, 80, 30, "aufnehmen")
        ButtonGadget(#Button_182, 205, 250, 80, 30, "löschen")
        ButtonGadget(#Button_183, 347, 250, 80, 30, "beenden")                  
    EndIf
  EndIf
EndProcedure
Auf die fehlenden TextGadgets wird sonst nicht zugegriffen, bin mir
sicher, dass die Teile nicht überschrieben werden.
Hat jemand eine Idee warum das so ist?

Gruß Pinhead

Re: Darstellungsfehler????

Verfasst: 19.04.2006 10:50
von Kiffi
> Hat jemand eine Idee warum das so ist?

<vermutung>
Könnte vielleicht an Deiner Event-Schleife liegen.
So ohne weiteres kann ich dazu aber nicht sagen.
</vermutung>

Grüße ... Kiffi

Verfasst: 19.04.2006 12:25
von Pinhead
Die Vermutung ist richtig!
Der Fehler kommt nur innerhalb der Event-Schleife...
Es findet nach dem Öffnen des Fensters offensichtlich
kein redraw statt. Schiebt man das Fenster aus dem Bild
und dann wieder zurück ist es in Ordnung.

Ich hab schon ein:

Code: Alles auswählen

While WindowEvent(): Wend
nach dem Open_Window_6() eingefügt, bringt aber auch nix.
Der Redraw bleibt einfach aus...

Verfasst: 19.04.2006 12:57
von Kiffi
> Die Vermutung ist richtig!
> Der Fehler kommt nur innerhalb der Event-Schleife...

so ohne ganz Code wird die Fehlersuche für uns relativ schwierig sein. ;-)

Grüße ... Kiffi

Verfasst: 19.04.2006 14:11
von Pinhead
Der Code ist mittlerweile etwas zu umfangreich zum Posten (3000<Zeilen).
Ich öffne das Fenster nun versteckt und mach es bei Bedarf sichtbar.
Ist zwar nicht schön funktioniert aber.

Danke für den Hinweis mit der Eventschleife!

Verfasst: 19.04.2006 14:19
von Kiffi
> Der Code ist mittlerweile etwas zu umfangreich zum Posten (3000<Zeilen).

habe ich mir schon fast gedacht ;-)

ein Vorschlag: Lege eine Kopie Deines Projektes an und lösche darin nach
und nach 'unnötigen' Code. Zwischendurch kontrollierst Du, ob das
Redraw-Problem noch immer besteht. Vielleicht kannst Du ja dadurch den
Übeltäter lokalisieren.

Grüße ... Kiffi

Verfasst: 19.04.2006 16:38
von Sven
Die Gadgets

TextGadget(#Text_51, 40, 100, 370, 20, "Subjekt")
TextGadget(#Text_52, 40, 130, 370, 20, "Verb")
TextGadget(#Text_53, 40, 160, 370, 20, "Adjektiv")

sind 370 Pixel breit und reichen bis x-Pos 410. Damit überschneiden sie den ersten Teil der Gadgets

TextGadget(#Text_55, 210, 100, 270, 20, "Grundwortschatz")
TextGadget(#Text_56, 210, 130, 270, 20, "Aufbauwortschatz")
TextGadget(#Text_57, 260, 160, 270, 20, "Lektion")

Nun ist es Zufall (oder zumindest nicht einfach vorhersagbar), in welcher Reihenfolge die Gadgets bei verschiedenen Redraws angezeigt werden, damit werden sie mal überdeckt, mal nicht. Sowas führt immer zu Problemen, also Gadgets nicht überlappen lassen. ;-)

Sven