Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Sonstige Fragen zu Delphi (https://www.delphipraxis.net/19-sonstige-fragen-zu-delphi/)
-   -   Delphi D5: Zugriffsverletzung in MyComponents.bpl (https://www.delphipraxis.net/73923-d5-zugriffsverletzung-mycomponents-bpl.html)

Codehunter 25. Jul 2006 18:19


D5: Zugriffsverletzung in MyComponents.bpl
 
Ich hab grad mächtig Probleme. In einem selbst zusammengestellten Package ist ein Fehler. Ich habe eine neue Klasse geschrieben und die Unit in das Package eingebunden. Das Package kompilierte ganz normal, das Projekt startete normal. Jetzt habe ich den Rechner neu gestartet und auf einmal bekomme ich eine Zugriffsverletzung in der MyComponents.bpl. Der Fehler tritt überall auf. Sobald der Mauszeiger in der IDE auf ein Quellcodelement kommt und der Code-Hint erscheinen soll, beim Versuch das Projekt zu kompilieren, einfach überall. Wenn ich das Package für sich allein öffne kompiliert es ganz normal. Was kann das sein? Wie finde ich den Fehler?

Ich habe schon die .bpl und die .dcp gelöscht und neu anlegen lassen. Der Fehler ist immernoch da.

Ich habe inzwischen sogar die .dpk gelöscht und komplett neu zusammengestellt. Es ist immernoch der selbe Fehler vorhanden.

Die zuletzt hinzugefügte Unit habe ich dabei weggelassen. Ohne Erfolg.

Eben gabs einen interessanten Fehler: Ich hatte sämtliche Units aus der MyComponents.dpk entfernt und versucht das Ding dann zu kompilieren. Da bekam ich die Meldung "Package MyComponents.dpk kann nicht kompiliert werden. Es enthält die Unit System die auch im Package vcl50.bpl enthalten ist".

Komischerweise, wenn ich in den Projektquelltext der MyComponents.dpk schaue, dann finde ich da nirgends eine Angabe daß System.pas inkludiert würde.

SirThornberry 25. Jul 2006 19:33

Re: D5: Zugriffsverletzung in MyComponents.bpl
 
wenn du mehrere packages hast du aufeinander zugreifen kann das durchaus passieren. Wenn du irgendwas in Package1 änderst und neu kompilierst sind die kompilierten Objecte anders und somit nicht mehr kompatibel mit dem Kompilat von Package2. Eventuell hilft es alle Packages nochmal zu kompilieren.

Codehunter 25. Jul 2006 19:42

Re: D5: Zugriffsverletzung in MyComponents.bpl
 
Ich hab schon alle Packages auf Always Build stehen.

Inzwischen konnte ich das Problem durch Auseinanderpusseln des ganzen Projektes auf eine selbstgeschriebene Komponente zurückverfolgen. Die hat eine Property, die zur Designtime einen NIL-Pointer und zur Laufzeit einen gültigen Pointer enthalten soll. Irgendwas scheint im Moment bei meinem Delphi die Eigenschaft ComponentState durcheinander zu bringen. Zur Designtime ist das Flag csDesigning nicht in ComponentState enthalten. Darum wird im Konstruktor kein NIL-Pointer zugewiesen, das Ding enthält einen wilden Pointer. Ich hab jetzt den NIL-Pointer fix vorgegeben, ohne Abfrage von ComponentState und weise den Pointer später ereignsgesteuert zu. So läufts erstmal wieder.

Warum aber auf einmal bei meinem Delphi das ComponentState spinnt ist mir nicht klar. Wahrscheinlich ist mal wieder eine Neuinstallation angesagt. Oder hatte einer von euch schon mal dieses Problem bei Delphi 5?


Alle Zeitangaben in WEZ +1. Es ist jetzt 11:21 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