AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Thema durchsuchen
Ansicht
Themen-Optionen

Ursache finden für EResNotFound Exception

Ein Thema von bwolf · begonnen am 8. Aug 2012 · letzter Beitrag vom 18. Aug 2012
Antwort Antwort
Seite 1 von 2  1 2      
bwolf

Registriert seit: 17. Jan 2006
368 Beiträge
 
Delphi 2009 Professional
 
#1

Ursache finden für EResNotFound Exception

  Alt 8. Aug 2012, 16:57
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!
  Mit Zitat antworten Zitat
Benutzerbild von himitsu
himitsu

Registriert seit: 11. Okt 2003
Ort: Elbflorenz
44.071 Beiträge
 
Delphi 12 Athens
 
#2

AW: Ursache finden für EResNotFound Exception

  Alt 8. Aug 2012, 17:06
zudem Zeitpunkt wurde ja eig. noch kein Formular erzeugt.
Tja, scheinbar wird doch eines erzeugt.

Aber nicht alle sind immer sichtbar.

Der letzte Aufruf im Stack-Trace ist ein TCustomForm.Create
Was was gibt es sonst noch im Stacktrace?

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).
Neuste Erkenntnis:
Seit Pos einen dritten Parameter hat,
wird PoSex im Delphi viel seltener praktiziert.
  Mit Zitat antworten Zitat
bwolf

Registriert seit: 17. Jan 2006
368 Beiträge
 
Delphi 2009 Professional
 
#3

AW: Ursache finden für EResNotFound Exception

  Alt 8. Aug 2012, 17:18
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:
:7616d36f KERNELBASE.RaiseException + 0x54
:0059bd41 TCustomForm.Create + $10D
cxImage.cxImage
:00408954 InitUnits + $44
:004089c0 @StartExe + $44
:76d1ed6c kernel32.BaseThreadInitThunk + 0x12
:77dd377b ntdll.RtlInitializeExceptionChain + 0xef
:77dd374e ntdll.RtlInitializeExceptionChain + 0xc2

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.
  Mit Zitat antworten Zitat
Benutzerbild von himitsu
himitsu

Registriert seit: 11. Okt 2003
Ort: Elbflorenz
44.071 Beiträge
 
Delphi 12 Athens
 
#4

AW: Ursache finden für EResNotFound Exception

  Alt 8. Aug 2012, 17:30
Nicht F8 ... F7 ... du willst ja zur Fehlerstelle und du weißt inzwischen, daß es in diesem BEGIN knallt.

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)
Neuste Erkenntnis:
Seit Pos einen dritten Parameter hat,
wird PoSex im Delphi viel seltener praktiziert.
  Mit Zitat antworten Zitat
bwolf

Registriert seit: 17. Jan 2006
368 Beiträge
 
Delphi 2009 Professional
 
#5

AW: Ursache finden für EResNotFound Exception

  Alt 13. Aug 2012, 11:40
Hi,

bin weiterhin auf der suche nach der Ursache des ganzen...

Also mit F7 lande ich dann inder cxImage.pas in der initialization:

Code:
initialization
  GetRegisteredEditProperties.Register(TcxImageProperties, scxSEditRepositoryImageItem);
  cxImageResourceForm := TcxImageResourceForm.Create(nil);
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:

Code:
if not InitInheritedComponent(Self, TForm) then
    raise EResNotFound.CreateFmt(SResNotFound, [ClassName]);
Ich hab leider keine Idee wie ich da auf die Ursache kommen soll, würde mich über Hilfe sehr freuen.
Danke euch!
  Mit Zitat antworten Zitat
Iwo Asnet

Registriert seit: 11. Jun 2011
313 Beiträge
 
#6

AW: Ursache finden für EResNotFound Exception

  Alt 13. Aug 2012, 13:15
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.
  Mit Zitat antworten Zitat
bwolf

Registriert seit: 17. Jan 2006
368 Beiträge
 
Delphi 2009 Professional
 
#7

AW: Ursache finden für EResNotFound Exception

  Alt 13. Aug 2012, 13:30
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.
  Mit Zitat antworten Zitat
Benutzerbild von himitsu
himitsu

Registriert seit: 11. Okt 2003
Ort: Elbflorenz
44.071 Beiträge
 
Delphi 12 Athens
 
#8

AW: Ursache finden für EResNotFound Exception

  Alt 13. Aug 2012, 13:33
Suchpfade müssten soweit alles passen, ich lande beim Debuggen ja in der entsprechenden Unit
Das hat nichts zu bedeuten.

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.
Neuste Erkenntnis:
Seit Pos einen dritten Parameter hat,
wird PoSex im Delphi viel seltener praktiziert.
  Mit Zitat antworten Zitat
Iwo Asnet

Registriert seit: 11. Jun 2011
313 Beiträge
 
#9

AW: Ursache finden für EResNotFound Exception

  Alt 13. Aug 2012, 13:44
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
  Mit Zitat antworten Zitat
bwolf

Registriert seit: 17. Jan 2006
368 Beiträge
 
Delphi 2009 Professional
 
#10

AW: Ursache finden für EResNotFound Exception

  Alt 17. Aug 2012, 15:31
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.
  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 13: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