![]() |
Re: Problem mit SetLength
erm...sorry...wieder was banales :cry:
Ich bekomm ein AV. Mit Showmessages hab ich das problem ganz genau ausgegrenz. und ich muss mich sehr wundern :shock:
Delphi-Quellcode:
Wo bitte ist da ein Fehler :shock:
if not (old_p_test = '0') then
begin das old_p_test wird so ausgelesen (das alles ist in ner for-schleife):
Delphi-Quellcode:
ALso langsam wirds echt ... :gruebel:
old_p_test := ini.ReadString('Score','Name'+IntToStr(i),'0');
|
Re: Problem mit SetLength
Hast du die Ini-Datei mit Create erstellt?
Nachtrag: Pro Frage ein Thread, in Zukunft. |
Re: Problem mit SetLength
Klar hab ich:
Delphi-Quellcode:
Ja: ini ist als TIniFile definiert.
ini := TIniFile.Create(ExtractFilePath(Application.ExeName) + 'highscore.txt');
Ja: ich hab IniFiles mit eingebunden. air p.s. sorry, dachte nur, das wird wieder sowas kleines sein, dass sich ein extrathread nicht lohnt |
Re: Problem mit SetLength
Jetzt sehe ich's erst, du hast wieder mal StrToInt vergessen:
Delphi-Quellcode:
Hmm doch nicht :wall:
if not (old_p_test = '0') then
begin Ich geh jetzt mal ins Bett :mrgreen: Sorry Nachtrag: Zeig mal bitte deine for-Schleife. |
Re: Problem mit SetLength
Daran liegts wie du festgestellt hast definitib nicht, da ich einen string lese und meine variable auch eine vom typ string ist
aber woran kann das liegen :gruebel: :wall: Meine Schleife is ganz normal :cat:
Delphi-Quellcode:
Die showmessages waren die tests.
for i := 0 to 9 do // 0..9
begin old_p_test := ini.ReadString('Score','Name'+IntToStr(i),'0'); ShowMessage('test1'); if not (old_p_test = '0') then begin ShowMessage('test2'); old[9-i].name := Form3.XORString(old_p_test,key); end else old[9-i].name := '-'; [..] die erste kommt, die anderen nichtmehr |
Re: Problem mit SetLength
Probiers mal mit
Delphi-Quellcode:
Aber eigentlich dürft's da keine AV geben... :gruebel:
if (old_p_test<>'0') then ...
|
Re: Problem mit SetLength
:shock:
ich hab nun
Delphi-Quellcode:
probiert.
for i := 0 to 9 do // 0..9
begin old_p_test := ini.ReadString('Score','Name'+IntToStr(i),'0'); ShowMessage('s'); if (old_p_test = '0') then begin ShowMessage('s'); old[9-i].name := '-'; ShowMessage('s'); end else old[9-i].name := Form3.XORString(old_p_test,key); [...] nun werdn die ersten zwei messages ausgegeben, das 3. nicht. d.h. der fehler ist hier !? :shock:
Delphi-Quellcode:
old ist ein 'array of HighScore', wobei HighScore so aussieht:
old[9-i].name := '-';
Delphi-Quellcode:
type
HighScore = record name: string; punkte: integer; end; TForm... |
Re: Problem mit SetLength
name ist ein reserviertes wort :warn:
|
Re: Problem mit SetLength
Zitat:
aber nun hab ich das:
Delphi-Quellcode:
Das '1' bekomm ich.
ShowMessage('1');
if (old_p_test = '0') then begin ShowMessage('2'); old[9-i].username := '-'; ShowMessage('3'); [...] Das '2' auch. Aber vor dem '3' (wird nicht ausgegeben) kommt wieder ein AV Ich hab nun aber
Delphi-Quellcode:
Sowie alle old[x].name zu old[x].username geändert.
type
HighScore = record username: string; punkte: integer; end; Aber username ist doch kein reserviertes wort mehr :warn: |
Re: AV bei Stringvergleich
Moin Airblader,
probier's mal damit:
Delphi-Quellcode:
for i := 0 to high(old) do // 0..9
... old[high(old)-i].username := '-'; |
Alle Zeitangaben in WEZ +1. Es ist jetzt 13:43 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