![]() |
Re: if Schleife?
...ist ja alles gut und schön, hilft aber nicht bei dem Problem :zwinker:
Hänge doch mal die gesamte Unit an. Mit diesem Ausschnitt kann man nicht wirklich weiterkommen. |
Re: if Schleife?
Liste der Anhänge anzeigen (Anzahl: 1)
Hab die Unit angehängt, ist aber nicht grade klein :)
|
Re: if Schleife?
Entferne Zeile 366 (firststart := 0; ) und versuche es erneut. Dann sollte es ggf. klappen :)
|
Re: if Schleife?
Nein, klappt leider nicht...
|
Re: if Schleife?
Zitat:
Zitat:
|
Re: if Schleife?
Der Pfad könnte ggf. falsch sein, verwende "IncludeTrailingPathDelimiter". Weiterhin solltest Du eher auf firststart = 1 prüfen. Die Abfrage nach der Musik soll ja beim ersten Start kommen ;-)
Delphi-Quellcode:
Ini := TIniFile.Create(IncludeTrailingPathDelimiter(Self.programmdirectory.Caption) + '..\game.ini');
try Ausgelesen := Ini.ReadString('Global', 'LangFile', ''); // 1 stream := Ini.ReadString('Global', 'Stream', ''); music := Ini.ReadInteger('Global', 'Music', 0); slot := Ini.ReadString('Global', 'Slot', ''); musik := Ini.ReadString('Global', 'Musik', ''); firststart := Ini.ReadInteger('Global', 'firststart', 0); Self.Caption := IntToStr(firststart); if (firststart = 1) then begin if MessageDlg('Do you want to play Backgroundmusic ?', mtConfirmation, [mbYes, mbNo], 0) = mrYes then begin musik := '1'; Ini.WriteString('Global', 'Musik', '1'); Ini.WriteString('Global', 'firststart', '0'); end else begin musik := '0'; Ini.WriteString('Global', 'Musik', '0'); Ini.WriteString('Global', 'firststart', '0'); end; end; finally Ini.Free; end; |
Re: if Schleife?
Ich muss leider zugeben, dass ich keine Ursache für dieses Verhalten finden kann. Es handelt sich um eine lokale Variable des korrekten Typs, die Abfrage sollte IMO auf jeden Fall erreicht werden, die Bedingung trifft auch zu, da explizit vorher sichergestellt :gruebel:. Es könnte höchstens sein, dass ich aufgrund der ziemlich gruseligen Formatierung einen Fall übersehen habe.
|
Re: if Schleife?
Liste der Anhänge anzeigen (Anzahl: 1)
ich hab das ganze mal eingerückt und nach den begin /end geschaut. Sieht soweit in Ordnung aus. Dann weis ich auch nicht mehr. :gruebel:
|
Re: if Schleife?
Leider hilft das nicht, der Pfad stimmt, die Ini Datei wird auch korrekt ausgelesen. Das Ergebnis steht ja auch in form1.caption, kann ich also überprüfen. Und das stimmt.
|
Re: if Schleife?
Also beim Start der Anwendung (FormCreate bzw. FormShow) hatte ich manchmal Probleme mit Application.MessageBox. Vielleicht trifft dieses Problem ja auch hier bei MessageDlg zu:
Versuch mal statt
Delphi-Quellcode:
dieses:
if MessageDlg('Do you want to play Backgroundmusic ?', mtConfirmation,
[mbYes, mbNo], 0) = mrYes then
Delphi-Quellcode:
if MessageBox(Handle, 'Do you want to play Backgroundmusic ?', 'Confirmation',
MB_YESNO or MB_ICONQUESTION) = IDYES then |
Alle Zeitangaben in WEZ +1. Es ist jetzt 13:45 Uhr. |
Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024-2025 by Thomas Breitkreuz