Hallo,
Dein Problem ist folgendes: Die
DLL und Dein Hauptprogramm benutzen (wenn Du nicht mit Runtime-Packages arbeitest) jeweils ihre eigene
RTL. Nun sind zwar ein TObject aus der Hauptanwendung und ein TObject aus der
DLL intern identisch, aber sie werden von zwei unterschiedlichen RTLs verwaltet. Deshalb funktionieren die Operatoren
is und
as nicht.
Eine Lösung wäre, auch das Object, das Du als Parameter übergibst, in ein Interface zu packen. Das kannst Du dann überprüfen. Diese Lösung hat aber den Nachteil, dass Du dann entweder die Referenzzählung aushebeln oder das Objekt grundsätzlich immer als Interface ansprechen musst.
Gruß
xaromz