ich bin neu im Forum. Ich habe schon vieles programmiert in PureBasic und bin auf ein Problem gestoßen wo ich nicht weiß, was ich falsch mache.
Im folgenden Code ist die Procedure Flash(EventType) gelistet.
Darin befindet sich der Befehl AddGadgetItem(#Display, -1, Text$). #Display ist ein EditorGadget.
Wenn ich die nachfolgende Anweisung mit dem MessageRequester nicht aufrufe wird der Text (Text$) erst NACH dem Ausführen der nachfolgenden Procedure Flash() angezeigt. Die Anweisung zum Anzeigen des Textes wird ignoriert.
Was mache ich falsch?
Leider kann ich das gesamte Programm nicht zum Testen schicken da es sich um ein Testprogramm für ein spezielle Gerät handelt und ohne dem Gerät nicht funktioniert. Daher nur jener Teil, wo der Fehler auftritt.
**************************
Code: Alles auswählen
Procedure Flash(EventType)
Modulname = "Flash"
Write2Log("Modul: " + Modulname)
CloseWindow(#A_AllData)
GadgetInitialized = 0
Pattern$ = "*.mot|*.mot"
SetCurrentDirectory(GetCurrentDirectory() + "S-Files")
File$ = OpenFileRequester("Datei auswählen", GetCurrentDirectory(), Pattern$, 0)
SetWindowTitle(#SolarosMain, "Ausgewählte Datei " + GetFilePart(File$))
If File$
ReadFile(#S_Records, File$)
While Eof(#S_Records) = 0
Gelesen$ = ReadString(#S_Records)
Select Left(Gelesen$, 2)
Case "S2"
AddElement(SRecords())
SRecords() = Right(Gelesen$, Len(Gelesen$) - 2)
Case "S1", "S3"
MessageRequester("Fehler", Left(Gelesen$, 2) + " in S-Records gefunden!", #PB_MessageRequester_Info)
ProcedureReturn
EndSelect
Wend
Else
MessageRequester("Information", "** Keine Datei ausgewählt **", #PB_MessageRequester_Info | #PB_MessageRequester_Error)
Write2Log("** Keine Datei ausgewählt **")
ProcedureReturn
EndIf
CloseFile(#S_Records)
Text$ = " *** FLASH ***" + Chr(10) + Chr(10) +
" Während des Flashens sind Tasten und Maus gesperrt!" + Chr(10) + Chr(10) +
" Warten Sie auf die Freigabe durch das Programm." + Chr(10) + Chr(10) +
" Das Flashen kann bis zu 90 Sekunden dauern."
ClearGadgetItems(#Display)
AddGadgetItem(#Display, -1, Text$)
Choice = MessageRequester("Information", "Soll ''" + GetFilePart(File$) + "''" + Chr(10) + "ins Gerät programmiert werden?" + Chr(10) + "Beachten Sie die Hinweise!", #PB_MessageRequester_YesNo | #PB_MessageRequester_Info)
If Choice = #PB_MessageRequester_No
ClearGadgetItems(#Display)
HideGadget(#ReadAll, 1)
ProcedureReturn
EndIf
FlashDevice()
Reset(EventType)
EndProcedureFür eine Hilfe oder einen Tipp wäre ich sehr dankbar.
Toni (Algorab ist nur der Nickname)
// Edit: Code-Tags hinzugefügt (Kiffi)