![]() |
[AV] Timer soll in der Methode nicht existieren -> Läuft?
Liste der Anhänge anzeigen (Anzahl: 1)
Hallo DP,
ich habe folgendes komisches Problem: Und zwar entwickle ich "Old Snakey" weiter und habe im Anhang die aktuelle Beta 5.1dev Problem dabei ist, dass sobald das 2. mal Futter gegessen wurde, in der Methode Eat; in der Zeile "tFramer.Interval := ..." eine AV auftaucht. Ich habe es debugt, und es leigt zu 99,99% imho an tFramer, da FDifficulty den richtigen Wert hat. Aber tFramer zeigt auch nicht auf nil (?). Aber das seltsame ist, dass er dannach einfach weiterarbeitet. Also ich entdecke keinen Fehler :( MfG xZise |
Re: [AV] Timer soll in der Methode nicht existieren -> Lä
Liste der Anhänge anzeigen (Anzahl: 1)
Inzwischen kommt die AV jetzt wenn ich "pbMap.Repaint" aufrufe ?!
Und zwar nachdem ich das erste Futter gegessen habe?! Und ich finde, wie gesagt EINFACH nicht den Fehler. MfG xZise |
Re: [AV] Timer soll in der Methode nicht existieren -> Lä
Liste der Anhänge anzeigen (Anzahl: 1)
Also das ist echt komisch. Ich vermute den Fehler am ehesten in den Compiler-Einstellungen.
Denn nachdem ich den ja funktionierenden Beta 5 - Quelltext mit dem Beta 5.2 - Quelltext verglichen habe (Notepad++ mit Compare Plugin (standarmaessig dabei) kann ich sehr empfehlen! ist echt ne super Hilfe!!!), hab ich da keine AEnderungen finden koennen, die sowas ausloesen koennen. Du kannst ja mal versuchen, ein neues Projekt zu erstellen und die ganzen Units hinzuzufuegen und dann compilieren, obs dann geht, oder kanns vllt. mal wer anderes compilieren? ich wiederhole mich ja nur ungern, hab hier aber grad kein delphi weil ohne eigenen pc und ohne adminrechte in england... |
Re: [AV] Timer soll in der Methode nicht existieren -> Lä
Das ist ja gerade mein Problem: Ich finde den verdammten Fehler nicht.
Könnte mal jemand anderes es testen? Und zahor: Hast du das Programm auch ausgeführt und gespielt? Tritt bei dir auch der Fehler auf? MfG xZise |
Re: [AV] Timer soll in der Methode nicht existieren -> Lä
jupp, fehler tritt auch auf, wenn ich die exe ausfuehre und was futtere. selber kompilieren geht zur zeit leider nicht :-(
|
Re: [AV] Timer soll in der Methode nicht existieren -> Lä
*bump* any progress?
|
Re: [AV] Timer soll in der Methode nicht existieren -> Lä
Schalte mal deine Bereichsprüfung ein, dann wirst du sofort einen ganz tollen Fehler bekommen, sobald du ein Element aufgesammelt hast.
So hier mal die Lösung für das Problem...
Delphi-Quellcode:
Deine Anwendung hat auch noch Speicherlecks, füge mal folgendes hinzu...
// Letztes Feld dannach wieder begehbar machen
if (FSnakey.p[High(FSnakey.p)].X >= 0) and (FSnakey.p[High(FSnakey.p)].Y >= 0) then begin FBelegt[FSnakey.p[High(FSnakey.p)].X, FSnakey.p[High(FSnakey.p)].Y] := false; end; // alles "vorshiften" - von hinten nach vorne, sonst waere // die Schlange ja nur 1 Kaestchen groß, egal welches Level for i := High(FSnakey.p) downto 1 do begin FSnakey.p[i].x := FSnakey.p[i - 1].x; FSnakey.p[i].y := FSnakey.p[i - 1].y; if (FSnakey.p[i].x >= 0) and (FSnakey.p[i].y >= 0) then begin FBelegt[FSnakey.p[i].x, FSnakey.p[i].y] := true; end; end;
Delphi-Quellcode:
procedure TfrmMain.FormDestroy(Sender: TObject);
begin FBackground.free; FGoodies.free; FLog.free; end; |
Re: [AV] Timer soll in der Methode nicht existieren -> Lä
ah, da wird ja das neue schlangenstueck auf (-1/-1) gelegt, oder? und deshalb gibts ne exception, da belegt fuer diesen bereich nicht definiert ist :idea:
kann das mal jemand ausprobieren? [wiederholung nr 7635]ich hab hier ja kein delphi...[/wiederholung nr 7635] also wenns das war... waer's echt geil. aber imho war das doch auch bei der Beta 5 der gleiche Code, oder? Oder hat sich da was geaendert??? wie dem auch sei, hauptsache es funzt! bitte bitte testen! beta 5.2 oben laden und code aendern + compilieren waere alles... |
Re: [AV] Timer soll in der Methode nicht existieren -> Lä
Natürlich ist das der gleich Code. Aber mit Bereichfehlern ist nicht zu spassen. Wenn du die nicht berücksichtigst, dann können ganz fiese Fehler auftreten, die nicht immer gleich sein müssen. Diese zu finden ist prinzipell unmöglich. Deshalb ist die Bereichsprüfung ja auch so wichtig. Der Default ist aber leider, dass sie deaktiviert ist. Also immer aktivieren! Sonst kannst du dich gleich im nächsten Irrenhaus anmelden.
Ich habe das getestet, dass funktioniert. |
Re: [AV] Timer soll in der Methode nicht existieren -> Lä
Zitat:
MfG xZise |
Alle Zeitangaben in WEZ +1. Es ist jetzt 18:30 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