eine erneute Frage an euch, wie kann es sein, dass dieser Code Funktioniert und der anschließende nicht ?
Ich probiere schon ein paar Tage an diesem Problem und finde keine vernünftige Antwort darauf...

Ich finde keine logischen Fehler

Vielen Dank schon einmal im voraus.
P.s. : Eins noch, im Programmcode gibt es bei der Ausgabe eine Zeilenverschiebung bitte nicht beachten.
Hier der funktionierende Code 1:
Code: Alles auswählen
Global Dim MyGadgetHandle(20)
#information ="Hinweis"
Procedure WaitMouse()
Repeat
Dummy=WaitWindowEvent()
Until Dummy=#PB_Event_RightClick
EndProcedure
Procedure SetzeEingabeFelder(WindowHandle,MyFontHandle)
MVar$="TEST"
FVar$="test"
If Not StartDrawing(WindowOutput(WindowHandle))
MessageRequester(#information,"Kein Zeichnen möglich!", #PB_MessageRequester_Ok|#PB_MessageRequester_Error)
End
EndIf
TxTHoehe=22
DrawingFont(FontID(MyFontHandle))
DrawingMode(#PB_2DDrawing_Transparent)
MyGadgetHandle(0)=OptionGadget(#PB_Any, 200, 200, TextWidth(MVar$)+40, TxTHoehe, MVar$ )
MyGadgetHandle(1)=OptionGadget(#PB_Any, 200+TextWidth(MVar$)+40, 200, TextWidth(FVar$)+40, TxTHoehe, FVar$)
SetGadgetState(MyGadgetHandle(0), 1)
Restore EingabeFelderData
For Dummy=2 To 4
Read.s DataEingabeFelder$
MyGadgetHandle(Dummy)=StringGadget (#PB_Any, 200, (TxTHoehe*(Dummy-1))+200, 250, TxTHoehe, DataEingabeFelder$)
SetGadgetColor(MyGadgetHandle(Dummy), #PB_Gadget_FrontColor, RGB(80, 80, 80))
; DrawText(100, (TxTHoehe*(Dummy))+205, DataEingabeFelder$,RGB(255, 255, 255),RGB(90,90,90)) ; !!!!!!!!!!!!!!!!!!!!!! Hier der Fehler deshalb die Schleife !!!!!!!!!!!!!!!!!!!!!!!!
Next
DrawText(100, 205, "Anklicken",RGB(255, 255, 255),RGB(90,90,90))
Restore EingabeFelderData
For Dummy=1 To 3 ; !!!!!!!!!!!!!!!!!!! Hier die funktionierende Schleife !!!!!!!!!!!!!!!!!!!!!
Read.s DataEingabeFelder$
DrawText(100, (TxTHoehe*(Dummy))+205, DataEingabeFelder$,RGB(255, 255, 255),RGB(90,90,90))
Next
SetActiveGadget(MyGadgetHandle(2))
StopDrawing()
DataSection
EingabeFelderData:
Data.s "Erster","Zweiter","Dritter" ; Etc.
EndDataSection
EndProcedure
MyHauptFensterHandle=OpenWindow(#PB_Any,0, 0, 800, 600, "Irgendetwas",#PB_Window_SystemMenu) ;#PB_Window_Maximize|
If Not MyHauptFensterHandle
MessageRequester(#information,"Fehler beim Öffnen vom Fenster", #PB_MessageRequester_Ok|#PB_MessageRequester_Error)
End
EndIf
MyFontHandle=LoadFont(#PB_Any, "Arial", 12)
If MyFontHandle
SetGadgetFont(#PB_Default, FontID(MyFontHandle)) ; Arial Zeichensatz als neuen Standard festlegen
Else
MessageRequester(#information,"Fehler beim Öffnen des Zeichensatzes", #PB_MessageRequester_Ok|#PB_MessageRequester_Error)
End
EndIf
SetWindowColor(MyHauptFensterHandle, RGB(99, 99, 99))
SetzeEingabeFelder(MyHauptFensterHandle,MyFontHandle)
WaitMouse() ; Rightclick to exit
End
https://www.magentacloud.de/lnk/hBrp0jYk
----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
Hier der nicht funktionierende Code 2:
Code: Alles auswählen
Global Dim MyGadgetHandle(20)
#information ="Hinweis"
Procedure WaitMouse()
Repeat
Dummy=WaitWindowEvent()
Until Dummy=#PB_Event_RightClick
EndProcedure
Procedure SetzeEingabeFelder(WindowHandle,MyFontHandle)
MVar$="TEST"
FVar$="test"
If Not StartDrawing(WindowOutput(WindowHandle))
MessageRequester(#information,"Kein Zeichnen möglich!", #PB_MessageRequester_Ok|#PB_MessageRequester_Error)
End
EndIf
TxTHoehe=22
DrawingFont(FontID(MyFontHandle))
DrawingMode(#PB_2DDrawing_Transparent)
MyGadgetHandle(0)=OptionGadget(#PB_Any, 200, 200, TextWidth(MVar$)+40, TxTHoehe, MVar$ )
MyGadgetHandle(1)=OptionGadget(#PB_Any, 200+TextWidth(MVar$)+40, 200, TextWidth(FVar$)+40, TxTHoehe, FVar$)
SetGadgetState(MyGadgetHandle(0), 1)
Restore EingabeFelderData
For Dummy=2 To 4
Read.s DataEingabeFelder$
MyGadgetHandle(Dummy)=StringGadget (#PB_Any, 200, (TxTHoehe*(Dummy-1))+200, 250, TxTHoehe, DataEingabeFelder$)
SetGadgetColor(MyGadgetHandle(Dummy), #PB_Gadget_FrontColor, RGB(80, 80, 80))
DrawText(100, (TxTHoehe*(Dummy))+205, DataEingabeFelder$,RGB(255, 255, 255),RGB(90,90,90)) ; !!!!!!!!!Hier der Fehler .. siehe GfX !!!!!!!!!!!!!!!!!!!
Next
DrawText(100, 205, "Anklicken",RGB(255, 255, 255),RGB(90,90,90))
Restore EingabeFelderData
For Dummy=1 To 3
Read.s DataEingabeFelder$
; DrawText(100, (TxTHoehe*(Dummy))+205, DataEingabeFelder$,RGB(255, 255, 255),RGB(90,90,90)) ; !!!!!!!!!!!!!!!!!!!!!!!!! Hier nur ausge - "Rem't" damit der obere Fehler ersichtlich ist !!!!!!!!
Next
SetActiveGadget(MyGadgetHandle(2))
StopDrawing()
DataSection
EingabeFelderData:
Data.s "Erster","Zweiter","Dritter" ; Etc.
EndDataSection
EndProcedure
MyHauptFensterHandle=OpenWindow(#PB_Any,0, 0, 800, 600, "Irgendetwas",#PB_Window_SystemMenu) ;#PB_Window_Maximize|
If Not MyHauptFensterHandle
MessageRequester(#information,"Fehler beim Öffnen vom Fenster", #PB_MessageRequester_Ok|#PB_MessageRequester_Error)
End
EndIf
MyFontHandle=LoadFont(#PB_Any, "Arial", 12)
If MyFontHandle
SetGadgetFont(#PB_Default, FontID(MyFontHandle)) ; Arial Zeichensatz als neuen Standard festlegen
Else
MessageRequester(#information,"Fehler beim Öffnen des Zeichensatzes", #PB_MessageRequester_Ok|#PB_MessageRequester_Error)
End
EndIf
SetWindowColor(MyHauptFensterHandle, RGB(99, 99, 99))
SetzeEingabeFelder(MyHauptFensterHandle,MyFontHandle)
WaitMouse() ; Rightclick to exit
End
Auch hier das passende Bild dazu:
https://www.magentacloud.de/lnk/skLpUvaO