Allgemeine Fragen zur PROFAN Programmierung
Views (Heute): 249645 (11081)
  Suchen
 Zurück zur Übersicht
 AutorThema: Exception EAccessViolation
Stefan Schnell
Datum:10.06.01 20:51 Antwortenals Email verschicken (mail@stschnell.de) 


Hallo Community,
habe folgendes Problem:
Habe ein Zeichenaustauschprogramm geschrieben, im Interpretermodus läuft alles ganz normal, jedoch nach Compilierung und Linken erscheint schon mit Aufruf des EXE-Programms folgende Fehlermeldung:
Exception EAccessViolation im Modul X.EXE bei 0003636E. Zugriffsverletzung bei Adresse 004374E6. Lesen von Adresse FFFFFFFF.
Auch bereits einen Step vorher, also nur als PRC-File, tritt dieser Fehler auf.
Woran liegt dieser Fehler?
Tschüss
Stefan


Jörg Sellmeyer
Datum:10.06.01 22:31 Antwortenals Email verschicken (joerse@gmx.de) 


Hallo Stefan,
Wenn Du noch Version 7.0 (Original von CD) hast, solltest Du Dir das Update auf 7.0e bei Roland
b.z.w. Jens Driese (JDS) bestellen.
Sonst wären ein Paar Codezeilen nötig, um Dir weiterhelfen zu können.
Fehler wie:
Window 0,0,100,100 'beachte das Komma in der Mitte
können z. B Ursache sein und vieles andere mehr.
Viele Grüße
Jörg


Stefan Schnell
Datum:10.06.01 23:52 Antwortenals Email verschicken (mail@stschnell.de) 


Hallo Jörg,
es ist schon die aktuelle Version 7.0e.

Meinst Du denn, dass dieser Fehler verursacht wird, aufgrund von Fehlangaben im Quellcode, die der Interpreter zwar verarbeitet, aber in der compilierten Version zu Fehlern führt?

Sollte dies der Fall sein, so werde ich mal den Quellcode uploaden...

Danke und viele Grüße zurück
Stefan



Bernd Haase
Datum:11.06.01 06:47 Antwortenals Email verschicken (info@ebs-haase.de) 


Moin Moin!

Eine einfache Möglichkeit den Fehler zu lokalisieren ist, im trace-modus das Programm bis zum Fehler laufen lassen. Danach wieß man zumindest, wo das Programm abstürzt.

:-)) Bernd


Jörg Sellmeyer
Datum: 11.06.01 23:10 Antwortenals Email verschicken (joerse@gmx.de) 


Hallo,
Da Interpreter und Runtimemodul sich unterschiedlich verhalten hilft das nur bedingt.
Man kann aber z. B. einen Suchlauf nach doppelten Kommas vor dem
Kompilieren starten, um schon mal bekannte Möglichkeiten auszuschließen.
Und ein Tool zum Klammern zählen sollte sich auch jeder selber schreiben können ;-)
Viele Grüße
Jörg


Rainer Weicht
Datum:11.06.01 09:42 Antwortenals Email verschicken (werasoft@web.de) 


Hallo,

tatsächlich ist der Interpreter gegenüber Syntaxfehlern deutlich resistenter bzw. toleranter. Verschiedene "leichte Schreibfehler" können für diesen Effekt verantwortlich sein. Einige dieser Fehler werden aber z.B. durch "PR Fellow" von Th. Hölzer rechtzeitig (beim Compilieren) angezeigt, so dass man evtl. nicht tracen muss. Es gibt/gab wohl auch weitere Tools, mit denen die korrekte Syntax (Klammeranzahl u.ä.) gecheckt werden kann/konnte. Ein unveröffentlichtes, weil unfertiges, Teil nutze ich, wer will, kann mir ggf. seinen Code (ggf. Teile davon) mailen ...

MfG
Rainer


Stefan Schnell
Datum:11.06.01 09:59 Antwortenals Email verschicken (mail@stschnell.de) 


Hallo,
es war tatsächlich ein doppeltes Komma das diesen Fehler verursacht hat (hat mich ziemlich Zeit gekostet das visuell zu lokalisieren).
Insgesamt hat mich diese Diskussion jedoch deutlich weiter gebracht, denn die Erkenntnis, dass der Interpreter fehlertoleranter ist, war mir nicht bewusst.
Auch der Tip mit dem Tracen (habe ich bisher noch nie getan) werde ich mir zu Herzen nehmen.
Danke und Tschüss
Stefan




Bernhard Künzel
Datum:11.06.01 14:41 Antwortenals Email verschicken (b.kuenzel@chello.at) 


Hallo Steffan,
für die korrekte Klammeraufteilung habe ich durch Zufall eine einfache Überprüffungsmöglichkeit gefunden, funktioniert aber leider nur beim Orginal Profaneditor von Herrn Hülsmann nicht bei ProfanPad der ja ab Version 7.5 den alten Profaneditor ablösen soll.
Wenn ich mir bei mehreren Klammern in einer Befehlszeile nicht ganz sicher bin, setze ich zur Kontrolle am Ende der Zeile das Kommentarzeichen ['] wenn es Rot erscheint ist die Klammeraufteilung in Ordnung. (funktioniert auch bei anderen Fehlern)
Bei einer notwendigen Zeilentrennung mit [\] darf diese erst nach der Kontrolle gemacht werden.
Habe mir dadurch schon mehrere Stunden Sucharbeit gespart.

MFG
Bernhard



 Zurück zur Übersicht