UGrohne hat folgendes geschrieben: |
Ich hab eben etwas komisches bemerkt: Ich habe eine aktuelle Win32-Applikation aus delphi 7 in D2005 als Win32 importiert und die auch zum Laufen gebracht. Aber anscheinend kompiliert er jede Unit einzeln zur Laufzeit, denn ich hatte in einem Form einen falschen Typ, den es unter D2005 nicht gibt deklariert. Diesen hat er beim Start allerdings nicht angemeckert, als jedoch zur Laufzeit das Fenster erzeugt wurde (dynamisch) bekam ich von der IDE eine EClassNotFound-Exception. Ich dachte JIT-Compiling sei bei Win32-Anwendungen nicht möglich? Belehrt uns da D2005 jetzt eines Besseren?
Bevor jemand sagt: "Du hast doch bestimmt als .NET importiert" ... Nein, das ist ein Win32-Projekt, auch unter D2005. Das unter .NET zum Laufen zu kriegen hätte sicher mehr als 10min gedauert *g* |

Das liegt an was ganz anderes!!! Solange ein Formular nicht in der IDE angezeigt wird, merkt Delphi 2005 genau wie auch D7 und früher nicht, wenn eine Klasse nicht registriert ist.
Sobald du das Formular in der IDE aufrufst bekommst du dann den Hinweis, dass die Komponente fehlt.
Warum genau das so ist, kann ich nicht erklären, dazu kenne ich die Interna von Delphi dann doch nicht genau genug, aber ich habs mal ausprobiert, als ich diese Meldung bekam...
Ich vermute mal, dass Delphi einfach die DCU mit der Komponente nicht einbindet und ja das auch nicht kann und dann erst zur Laufzeit merkt, dass die fehlt, wenn danach in der Exe gesucht wird...
//edit: Ähh, ich seh grad, wie alt dieser Teil des Threads ist

...
//na ja, falls es noch jemanden interessiert...