DLL?
Klassen dürfen nicht über
DLL/EXE-Grenzen hinweg benutzt werden
Die
DLL nutzt ihre eigene
RTL/
VCL und dort hast du diese PNG-
Unit nicht geladen, darum kennt der code in der
DLL diese natürlich auch nicht.
Außerdem sind die Typen (
RTTI) der EXE und
DLL nicht "kompatibel" miteinander,
außer man kompiliert gegen das gleiche Laufzeitpackage.
PNG-Resource in
DLL und dieses
in der EXE laden ginge aber auch.