AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Sprachen und Entwicklungsumgebungen Die Delphi-IDE Wie findet man am besten eine AV in der BPL
Thema durchsuchen
Ansicht
Themen-Optionen

Wie findet man am besten eine AV in der BPL

Ein Thema von cramer · begonnen am 16. Jun 2008 · letzter Beitrag vom 16. Jun 2008
Antwort Antwort
Seite 1 von 2  1 2      
Benutzerbild von cramer
cramer

Registriert seit: 23. Jun 2004
Ort: Velbert (NRW)
108 Beiträge
 
Delphi 2006 Enterprise
 
#1

Wie findet man am besten eine AV in der BPL

  Alt 16. Jun 2008, 18:15
Hallo,

ich habe eine eigene Komponentensammlung, die in der BDS2006 funktioniert auf D5 umgeschrieben, weil ich sie in D5 auch benötige und noch nicht alle Projekte auf BDS umgestellt habe.

Irgendwo ist aber ein Wurm drin, der mir folgende AV beim Einfügen des Controls in ein leeres Form bringt:
Zugriffsverletzung bei Adresse 10EF9F91 in Modul 'ixEditD5.bpl'. Lesen von Adresse 00000008.

Gibt es eine Möglichkeit die problemtische Stelle direkt zu finden oder nur über Trial and Error in dem man stückweise den Quellcode der Komponentensammlung kommentiert/auskommentiert ?

Gruß Uwe
Erfahrung ist etwas, daß man erst bekommt, kurz nachdem man es dringend gebraucht hätte.
  Mit Zitat antworten Zitat
mkinzler
(Moderator)

Registriert seit: 9. Dez 2005
Ort: Heilbronn
39.858 Beiträge
 
Delphi 11 Alexandria
 
#2

Re: Wie findet man am besten eine AV in der BPL

  Alt 16. Jun 2008, 18:21
Ich würde die Bpl debuggen
Markus Kinzler
  Mit Zitat antworten Zitat
Benutzerbild von cramer
cramer

Registriert seit: 23. Jun 2004
Ort: Velbert (NRW)
108 Beiträge
 
Delphi 2006 Enterprise
 
#3

Re: Wie findet man am besten eine AV in der BPL

  Alt 16. Jun 2008, 18:48
Danke für die schnelle Antwort, ich bräuchte aber etwas mehr input zum howTo.
Erfahrung ist etwas, daß man erst bekommt, kurz nachdem man es dringend gebraucht hätte.
  Mit Zitat antworten Zitat
shmia

Registriert seit: 2. Mär 2004
5.508 Beiträge
 
Delphi 5 Professional
 
#4

Re: Wie findet man am besten eine AV in der BPL

  Alt 16. Jun 2008, 18:52
Es gibt da versch. Techniken; die Wichtigsten werden in Delphi Fehlersuche (Beitrag #10 ist die neueste Version)
beschrieben.
Andreas
  Mit Zitat antworten Zitat
mkinzler
(Moderator)

Registriert seit: 9. Dez 2005
Ort: Heilbronn
39.858 Beiträge
 
Delphi 11 Alexandria
 
#5

Re: Wie findet man am besten eine AV in der BPL

  Alt 16. Jun 2008, 18:54
Öffne das Package und wähle das Programm, welche diese verwendet in den Projektoptionen als Hostanwendung aus. Nun kannst du Breakpoints setzen und sie mit Debugger Starten.
Markus Kinzler
  Mit Zitat antworten Zitat
Benutzerbild von cramer
cramer

Registriert seit: 23. Jun 2004
Ort: Velbert (NRW)
108 Beiträge
 
Delphi 2006 Enterprise
 
#6

Re: Wie findet man am besten eine AV in der BPL

  Alt 16. Jun 2008, 19:14
Also Hostanwendung habe ich unter den Optionen im geöffneten Package nicht gefunden.
Delphi Fehlersuche im Schnelldurchgang gelesen, zum Punkt AV ist sie, was das finden angeht, nicht sehr ergiebig.
Ich habe daher dem Form einen Button spendiert und dort den Breakpoint angelegt.

procedure TForm1.Button1Click(Sender: TObject);
var myLabel : tixlabel;
begin
myLabel := tixlabel.Create(Form1); // <- Breakpoint
end;

Dies funktioniert ohne Exception aber auch ohne Ergebnis, myLabel wird nicht angezeigt.
Erfahrung ist etwas, daß man erst bekommt, kurz nachdem man es dringend gebraucht hätte.
  Mit Zitat antworten Zitat
mkinzler
(Moderator)

Registriert seit: 9. Dez 2005
Ort: Heilbronn
39.858 Beiträge
 
Delphi 11 Alexandria
 
#7

Re: Wie findet man am besten eine AV in der BPL

  Alt 16. Jun 2008, 19:21
Andersrum, die Anwendung, welche das Package verwendet muss die Hostanwendung sein.
Markus Kinzler
  Mit Zitat antworten Zitat
hoika

Registriert seit: 5. Jul 2006
Ort: Magdeburg
8.276 Beiträge
 
Delphi 10.4 Sydney
 
#8

Re: Wie findet man am besten eine AV in der BPL

  Alt 16. Jun 2008, 19:31
Hallo,

< Dies funktioniert ohne Exception aber auch ohne Ergebnis, myLabel wird nicht angezeigt. >

Delphi-Quellcode:
procedure TForm1.Button1Click(Sender: TObject);
var
  myLabel : tixlabel;
begin
  myLabel := tixlabel.Create(Form1); // <- Breakpoint
end;
2 Schwachpunkte

1. warum Form1 und nicht Self, Form1 könnte auch NIL sein
2. myLabel.Parent:= Self; // ohne das wird das Label nicht angezeigt.

Deine Schutzverletzung kommt wie es aussieht von einem NIL Access.


Heiko
Heiko
  Mit Zitat antworten Zitat
Benutzerbild von cramer
cramer

Registriert seit: 23. Jun 2004
Ort: Velbert (NRW)
108 Beiträge
 
Delphi 2006 Enterprise
 
#9

Re: Wie findet man am besten eine AV in der BPL

  Alt 16. Jun 2008, 19:47
Nicht das wir aneinander vorbeireden, das Form1 mit dem Button ist eine Testanwendung, die die Komponente benutzt.

Nach der Änderung auf self als Owner ändert sich nichts

mylabel := tixlabel.Create(self);

Mit der zusätzlichen Zeile

mylabel.parent := self;

ist das Ergebnis 100%CPU in delphi32
Erfahrung ist etwas, daß man erst bekommt, kurz nachdem man es dringend gebraucht hätte.
  Mit Zitat antworten Zitat
mkinzler
(Moderator)

Registriert seit: 9. Dez 2005
Ort: Heilbronn
39.858 Beiträge
 
Delphi 11 Alexandria
 
#10

Re: Wie findet man am besten eine AV in der BPL

  Alt 16. Jun 2008, 19:48
Setz doch mal einen Breakpoint im Package oder drücke am vorhandenen F7
Markus Kinzler
  Mit Zitat antworten Zitat
Antwort Antwort
Seite 1 von 2  1 2      


Forumregeln

Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are aus

Gehe zu:

Impressum · AGB · Datenschutz · Nach oben
Alle Zeitangaben in WEZ +1. Es ist jetzt 21:33 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