PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : [Delphi] Bla :D



Dingsi
26.03.2004, 22:14
Hallö.
Bitt nicht wegen dem Titel lästern, mir fällt nichts besseres ein. ;(

Ich arbeite gerade mit Hilfe der Grapics32 (http://www.g32.org/) Librarie an ner kleinen 2D-"Engine". Ein Hintergrund und ein Charakter der darauf rumwatschelt. (Noch nichtmal mit Animationen ;_;) Naja.. egal.
Das Problem ist, dass es bei mir zu hause zwar wunderbar funktioniert (Auch außerhalb der IDE) aber auf anderen Rechner kommen Fehlermeldungen like:

Die Anweisung in "0x00404028" verweist auf Speicher in "0x00922090". Der Vorgang "read" konnte nicht auf dem Speicher durchgeführt werden.

und danach:

Runtime error 216 at 00404028

Soweit weiß ich schon, dass 216 irgendwas mit einem Pointer der irgendwo hinzeigt wo nichts ist heißt.
AddIt: Ich habs auch schon irgendwie im DelphiDebugger versucht herauszufinden.. aber.. äh... irgendwie weiß ich nicht, was ich mti den Werten da Anfangen soll.

Mein Code:
http://www.rpg-genesis.de/staff/dingsi/Unit1.pas

Und wehe es kommt einer und sagt relative Pfad angaben seien problematisch. :O Das weiß ich schon und habs auch geändert.

Andere Sachen außer den Delphi und den G32Units nutz ich glaube ich nicht.

Vielleicht habt ihr Lösungen oder Möglichkeiten wie ichs selber lösen kann.
Danke schonmal im Vorraus. :)

Euer Ding. :D

Freezy
27.03.2004, 18:02
Schmeis mal ein paar Haltepunkte rein. Mit haltepunkten kannst du den Fehlerhaften bereich bis auf eine Zeile einschränken was dann auch schon viel weiter hilft. Oder wart einfach bis Ineluki was dazu sagt :D

Ineluki
28.03.2004, 00:49
hm .. ich bin da auch etwas sprachlos, und mit haltepunkten wird er da auch nicht weit kommen, den bei ihm laeufts ja, wie er sagt .. und ein fehler, der nicht auftritt, ist einfach nicht zu finden ...

vielleicht liegt ja der fehler auch in den komponenten, die du zusaetzlich verwendest, dass dort einer schlampig gearbeitet hat.

es gibt ja nur ein paar moeglichkeiten so einen fehler zu provozieren ...

a) du hast mit ein paar pointern mist gebaut
b) du liest ueber den definitionsbereich eines Arrays hinaus
c) du greifst auf ein Object zu, das du nicht initialisiert hast

ich wuerde dir mal empfehlen einen log in eine Textdatei zu erstellen und dort haarklein hineinprotokollieren, was dein programm gerade macht und was fuer werte bestimmte variablen haben. Das flushen der datei aber nicht bergessen nach JEDEM schreiben.

Und dann las das ganze nochmal bei jemandem ausfuehren, wo der fehler kommt, und dir die Logdatei zuschicken. Dan kannst du eigentlich auch ganz gut feststellen, in welcher zeile der Fehler auftritt, da das programm ja mit dem Fehler abbricht und danach keine eintraege mehr im log stehen sollten ...

Gruss Ineluki

Dingsi
03.04.2004, 23:27
So, ich bin aus dem Urlaub heimgekehrt und während ich weg war hatte ich folgende Idee/Lösung:
Ich hab vergessen zu erwähnen, dass ich die Delphi 7 Trial Version benutze und dass vor dem Laufzeitfehler noch die Meldung kommt, dass das Pogramm mit der Trialversion kompiliert wurde. Könnte es also vielleicht sein, dass das irgendwie mit der Trialversion zu tun hat?

Ineluki
05.04.2004, 07:13
wenn ich mal wieder im irc bin, schick mir mal das gesammte project ... ich werde dan mal in dem kompletten teil nen blick drauf