Edit: Was mir noch aufgefallen ist: Bilder zur Laufzeit laden geht!
Ja, da nimmt er dann die Komponente, welche aktuell (in der EXE) registriert ist.
Zur
DFM wird aber explizit der Klassenname gespeichert, wovon aber der Typ scheinbar nicht einkompiliert wurde.
In der
IDE sind aber dennoch alle Klassen registiert, welcher grade als
Package dort geladen sind.
Hier mußt du entweder dafür sorgen, daß diese "böse" PNG-Klasse aus den Packages des Projekts ausgeschlossen werden.
(z.B.
Package deinstallieren oder
UnregisterClass in einem registrierten
Package aufrufen, nachdem die "böse" PNG-Klasse registriert wurde)
Oder du definierst dir ein Alias für deine "neue" PNG-Klasse, registierst sie vor dem Laden der
DFM und leitest so den Namen der "anderen" Klasse auf die "neue" Klasse um.
RegisterClassAlias (geht nur, wenn die Klassen in den betreffenden Punkten kompatibel sind, ansonsten braucht man z.B. noch einen Wrapper als Zwischenschicht)