Zitat von
uvinul:
1., nur interessensmäßig, warum ist TCustomForm (exe) <> TCustomForm (
dll)?
Die Klassen (inklusive deren Beschreibungen) sind jeweils in der Exe bzw. in der
DLL implementiert.
Du magst als Entwickler zwar wissen, dass die beiden Versionen der Klasse mit gleichen Namen identisch sind - aber was ist, wenn unterschiedliche Delphi-Versionen verwendet wurden, deren Klassenlayout sich unterscheidet...
(edit: zudem gibt es bei globalen (statischen) Variablen der Klasse diverse Probleme, da es sie ja doppelt gibt...)
Zitat von
uvinul:
2. Wie funktioniert das mit den Packages, damit ich doch den Typecast durchführen kann?
Bei Laufzeit-Packages würde es deshalb funktionieren, weil die Exe und die
DLL dann die Klasse aus dem
Package verwenden würden.
'Sauber' löst man das Problem durch Deklaration von Interfaces zum Zugriff auf die Objekte, welche von beiden benutzt werden (was aber ziemlich aufwendig werden kann).