Ursache finden für EResNotFound Exception
Hi Leute,
ich habe ein (größeres) Projekt von Delphi 2009 auf Delphi XE2 umgestellt. In diesem Zuge wurden auch die Komponenten von DevExpress auf den neuesten Stand gebracht. Nun habe ich das Problem das beim kompilieren bzw. starten der Anwendung eine EResNotFound Exception geraised wird. Dummerweise wird diese Exception ausgelöst, noch bevor der erste Breakpoint (ganz zu Beginn der Projekt-Datei) erreicht wird. Wenn ich beim erscheinen der Exception auf anhalten klicke, lande ich in der Unit cxImage.pas in der Init-Sektion. Der letzte Aufruf im Stack-Trace ist ein TCustomForm.Create (Wieso ist mir unklar, zudem Zeitpunkt wurde ja eig. noch kein Formular erzeugt.) Über einen Tipp wie ich das besser verfolgen kann wäre ich sehr dankbar. Danke euch! |
AW: Ursache finden für EResNotFound Exception
Zitat:
Aber nicht alle sind immer sichtbar. Zitat:
Arbeitest du mit oder ohne Laufzeitpackages? Und wo ist dein erster Haltepunkt? Tipp: Das BEGIN ist DPR ist eine sehr gute Stelle, denn darin werden unter anderem alle Units initialisiert. (alle Initialization-Abschnitte und alle Class-Constructor ausgeführt) Wenn man dann noch mit Debug-Units kompiliert (also in den Projektoptionen sagt, es sollen die RTL und VCL gedebuggt werden können), dann kommt man dda auch sehr tief rein. Dazu dann natürlich auch noch DevExpress mit Debuginfos kompilieren (wenn man von denen die Quellcodes mit gekauft hat). |
AW: Ursache finden für EResNotFound Exception
Hi Himitsu,
erstmal danke für deine schnelle Antwort. Zum Formular: Ja, irgendwo wird wohl eines erzeugt, bleibt nur noch die Frage wo... Zum Breakpoint: Jo genau dort habe ich Ihn ('begin' in der DPR). Laufzeitpackages werden nicht verwendet. Das vollständige Strack-Trace zu dem Zeitpunkt: Zitat:
Neue Feststellung: Ich habe das komplette Projekt nochmal erzeugt, nun hält der Debugger immerhin beim Beginn in der DRP an. Wenn ich dann allerdings F8 drücke um zur nächsten Zeile zu gelangen, kommt die genannte Exception. Ich habe den Eindruck das der Breakpoint tatsächlich an einer anderen stelle steht als er angezeigt wird... Ich werde mir das morgen dann nochmal genauer anschauen und melde mich dann wieder mit hoffentlichen neuen Erkenntnissen. |
AW: Ursache finden für EResNotFound Exception
Nicht F8 ... F7 ... du willst ja zur Fehlerstelle und du weißt inzwischen, daß es in diesem BEGIN knallt. :zwinker:
Ich würde mal in der Initialization der Unit cxImage suchen. (ich glaub nicht daß die schon so weit sind und den besseren Class Constructor für Initialisierungen benutzen) |
AW: Ursache finden für EResNotFound Exception
Hi,
bin weiterhin auf der suche nach der Ursache des ganzen... Also mit F7 lande ich dann inder cxImage.pas in der initialization:
Code:
Wenn ich dann in in die Funktion TcxImag eResourceForm.Create(nil) gehe, komme ich in die vcl.Forms.pas in der Constructor von TCustomForm.Create - in dieser Funktion wird dann auch die Expcetion ausgelöst:
initialization
GetRegisteredEditProperties.Register(TcxImageProperties, scxSEditRepositoryImageItem); cxImageResourceForm := TcxImageResourceForm.Create(nil);
Code:
Ich hab leider keine Idee wie ich da auf die Ursache kommen soll, würde mich über Hilfe sehr freuen.
if not InitInheritedComponent(Self, TForm) then
raise EResNotFound.CreateFmt(SResNotFound, [ClassName]); Danke euch! |
AW: Ursache finden für EResNotFound Exception
1. Weiß denn DevExpress, das es nun für XE2 kompiliert werden soll bzw. hast Du die Komponenten für XE2 auch anständig installiert?
2. Wenn ja, hast Du vorher vielleicht mit einem älteren Delphi kompiliert und ist im Suchpfad der Pfad zu den DevExpress-Sourcen? 3. Hast Du schon einen kompletten Rebuild durchgeführt, inklusive der DevExpress-Quellen? 4. Kannst Du das Problem isolieren, also ein Beispielprojekt erzeugen, das das Problem veranschaulicht? Wie wäre es mit dem Support bei DevExpress? Die helfen immer und sind sehr kompetent. |
AW: Ursache finden für EResNotFound Exception
Hi Iwo, danke für deine Antwort.
Zu 1: Also wir haben auf X2 geupdatd und aus diesem Grund die VCL subscription von DexExpress gekauft um XE2-Kompatible Controls zu erhalten. zu 2: Alte Delphi-Version war 2009, allerding auf einer komplett anderen VM. Suchpfade müssten soweit alles passen, ich lande beim Debuggen ja in der entsprechenden Unit zu 3: Rebuild von der eigenen Anwendung habe ich probiert, von den DevExpress Komponenten allerdings nicht (wurden ja nur einmalig auf ein komplett neues System installiert - trotzdem probieren?) zu 4. Leider nein - habe versucht ein Mini-Projekt zu erzeugen aber da läuft natürlich alles :/ Ja ich werde DevExpress mal parallel anhauen. Bin erstmal davon ausgegangen das der Fehler auf meiner Seite liegt und wollte die nicht vorschnell nerven. Aber der Support ist super da hast du recht. |
AW: Ursache finden für EResNotFound Exception
Zitat:
Grundsätzlich sind beim Debuggen PAS und DCU keine Einheit. Wenn die Library-Suchpfade (DCU) andere sind, als die Suchpfade (PAS), dann kann Delphi schnell mal die "falsche" PAS laden, da nur nach Dateinamen gesucht wird und nicht ob die PAS auch inhaltlich zur DCU paßt. |
AW: Ursache finden für EResNotFound Exception
Sieht so aus, als ob es eine Gehirnabsenkungsproblematik ist, eventuell hilft ja einfaches 'alles kompilieren, man weiss ja nie'.
Rein theoretisch wäre es denkbar, das die cxImages.pas VOR der Forms.pas initialisiert wird. Wenn dem so ist, solltest Du in den Interface-Abschnitten der einzelnen units das cxImages.pas mal ans Ende der uses-Liste packen. Vielleicht bringt es was |
AW: Ursache finden für EResNotFound Exception
Alles neu kompilieren / erzeugen habe ich mehrfach probiert...
Habe heute das Hotfix für XE2 Update 4 aufgespielt und auch die DevExpress Komponenten komplett entfernt und den neuesten stand eingespielt - nicht :/ Das verschieben der cxImage.pas habe ich probiert, leider ebenfalls ohne Erfolg. Ich habe nun ein Ticket bei DevExpress aufgegeben, mal sehen was die sagen. Falls jemand noch Ideen hat - her damit. Und danke allen für die Hilfe bisher. |
Alle Zeitangaben in WEZ +1. Es ist jetzt 00:56 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