Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Sonstige Fragen zu Delphi (https://www.delphipraxis.net/19-sonstige-fragen-zu-delphi/)
-   -   Delphi integer überlauf + zugriff verletzung (https://www.delphipraxis.net/81058-integer-ueberlauf-zugriff-verletzung.html)

woully 20. Nov 2006 08:42


integer überlauf + zugriff verletzung
 
Hallo,

ich habe eine Typbibliothek mit Delphi entwickelt.
Die Software die auf diese bibliothek zugreift, schließt sich von alleine nach einigen Minuten.
Ich habe dann die EXE direkt mit dem Debugger gestartet um nachzuvollziehen ob das Problem in der Bibliothek liegt.
Nach einigen Minuten kommt dann entweder eine Schutzveletzung, oder ein integer überlauf Meldung.
Leider zeigt mit der Debugger nicht die Stelle an wo der Fehler sich befindet.

Wie kann ich die Stelle von den beiden Fehlern finden ?

Danke
woully

marabu 20. Nov 2006 10:38

Re: integer überlauf + zugriff verletzung
 
Herzlich willkommen in der Delphi-PRAXiS, woully.

Die TLB-Datei selbst wird wohl kaum den Fehler verursachen. Kannst du etwas mehr zu deinem Problem schreiben? Wie hast du die TLB-Datei erstellt? Zu welchem COM-Objekt? Wie greifst du darauf zu?

Freundliche Grüße vom marabu

woully 20. Nov 2006 10:56

Re: integer überlauf + zugriff verletzung
 
Hallo,

ich habe eine Typblibiothek mit mehreren Klasse als IDispatch und dual erstellt.
Die Typbibliothek habe ich Registriert und Greife mit Labview darauf zu.

Eine Klasse wird alle 100ms aufgerufen. In einer der Klasse dieser Funktion tritt dann die Schutzverletzung auf.
"Zugriffsverletzung" Lesen auf Adresse 0.
Das Problem ist mir klar. Nur finde ich dis Stelle nicht von ich diesen Fehler gemacht habe.

DElphi öffnet das CPU Fenster. Aber mit dem Fenster kann ich nicht die Stelle herausfinden.

marabu 20. Nov 2006 15:31

Re: integer überlauf + zugriff verletzung
 
Hallo,

deine Zugriffsverletzung dürfte mit an Sicherheit grenzender Wahrscheinlichkeit auf die Verwendung eines nicht initialisierten Zeigers zurück zu führen sein. Soetwas kann zum Beispiel dann vorkommen, wenn du dir eine Schnittstelle besorgst und vor deren Benutzung nicht prüfst, ob diese auch existiert:

Delphi-Quellcode:
var
  doc: IHTMLDocument2;
begin
  doc := WebBrowser.Document as IHTMLDocument2;
  if Assigned(doc) then
    ShowFrames(doc.frames);
end;
Freundliche Grüße


Alle Zeitangaben in WEZ +1. Es ist jetzt 14:51 Uhr.

Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz