![]() |
[nonVCL] - Runtimeerror nur unter XP...
Hi,
isch habbe da mal ne Frage, bei einem kleinen nonVCL-Programm kommt manchmal unter XP ein Runtimeerror soundso. Wenn das Progr. unter Vista läuft kommt es zu keiner Fehlermeldung, warum auch immer. Nun meine Frage, kann man irgend wie solch einen Fehler "gescheid" Loggen und wieso kommt der Fehler nur unter XP ? [edit=tP]kommt kommt to kommt ;)[/edit] |
Re: [nonVCL] - Runtimeerror nur unter XP...
Zitat:
Zitat:
(also eine bekannte Fehlernummer wäre schon ein guter Hinweis) |
Re: [nonVCL] - Runtimeerror nur unter XP...
Also, es ist zum verrückt werden.
Wenn ich das Prg unter XP mit D5 erstelle kommt es weder bei Vista und Xp ein Fehler. Erstelle ich das Prg unter Vista mit D6, kommt Vista kein und bei Xp ein Fehler. Beide Kompeiler haben die gleichen Einstellungen.( O+, I+ usw. ) Der Fehlerverursacher ist vermutlich diese Zeile:
Delphi-Quellcode:
Wobei pl einen Wert zw. 0..255 ('n Byte halt) hat.
n := BYTE((pl div 128)-1)
|
Re: [nonVCL] - Runtimeerror nur unter XP...
Ich wüsste nicht, was in deiner letzten Zeile falsch ist. Aber es kann edoch ein zufälliger Speicherzugriffsfehler sein. Wenn du nonVCL arbeitest wird der nicht wie üblich angezeigt (denn die Fehlermeldung wird ja erst von der VCL hübsch aufbereitet). Hierr musst du selbst nacharbeiten und wie oben beschrieben ein schickes try Except drumherum etc. pp. Ohne jegliches try-Except fliegt dein Programm bei jeder Exception raus und stürzt ab.
|
Re: [nonVCL] - Runtimeerror nur unter XP...
Wenn pl < 128 ist, versuchst Du -1 in Byte zu casten. Evtl. liegt es daran?
|
Re: [nonVCL] - Runtimeerror nur unter XP...
Zitat:
|
Re: [nonVCL] - Runtimeerror nur unter XP...
Denke ich auch mal.
Zitat:
Aber dennoch wundert mich das Verhalten etwas. |
Re: [nonVCL] - Runtimeerror nur unter XP...
Hi tp,
Zitat:
Hast Du Deinen Text vor dem Absenden eigentlich selbst noch mal gelesen? Du bist doch auch nicht erst seit gestern im Forum unterwegs (über 3500 Beiträge von Dir)... Stichworte zur Fehlersuche: Delphi Debugger, Remote Debugger, Exception Tracking (madExcept, EurekaLog), eigenes Loggen mit den zuvor genannten try-except Blöcken - Logging Klassen sind hier in der DP schon reichlich gepostet worden. Gruß Assertor |
Re: [nonVCL] - Runtimeerror nur unter XP...
eigentlich kann diese Zeile keinen Fehler erzeugen
und auf Byte(-1) wird 255 -1 als Integer ist $FFFFFFFF also wenn pl ein Byte (0..255) ist, dann hat n entweder 1, 0 oder 255 (-1) [edit] da guckt man mal nicht hin und dann wird's nicht gesendet (redbox) und massig leute haben geantwortet :wall: |
Re: [nonVCL] - Runtimeerror nur unter XP...
Zitat:
Ich tippe mal auf einen Fehler von Delphi 6 und schliesse mein Progrämmchen mal aus. :stupid: Sicherlich irgend ein Pointer der ins nichts oder auf Datenreste zu greift. @Assertor, ich habe schon das eine oder andere Versucht ohne mit Erfolg fündig zu werden. |
Alle Zeitangaben in WEZ +1. Es ist jetzt 19:42 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