Soooo...
@himitsu:
das mit dem RegisterClass brachte mich schon mal einen Schritt weiter. Der Quelltext läuft durch. A enthällt die richtige Anzahl der enthaltenen Images... Nur der Button weigert sich den Index anzuzeigen...
Was habe ich nun vergessen ?
Delphi-Quellcode:
procedure TForm1.FormCreate(Sender: TObject);
var A: Integer;
begin
FFileStream:= TFileStream.Create('
D:\Projekte\Delphi Unicode\eAV3\Arbeitskopie\Quelltext\dm_ImageLists.dfm',fmOpenRead);
FMemoryStream:= TMemoryStream.Create;
pngil16:= TPngImageList.Create(
nil);
dmImageLists:= TDataModule.Create(
nil);
try
ObjectTextToBinary(FFileStream,FMemoryStream);
RegisterClass(TPngImageList);
RegisterClass(TGDIPPictureContainer);
FMemoryStream.Position:= 0;
FMemoryStream.ReadComponent(dmImageLists);
pngil16:= dmImageLists.FindComponent('
pngil16')
as TPngImageList;
A:= pngil16.Count;
btn1.Images:= pngil16;
btn1.ImageIndex:= 10;
finally
FFileStream.Free;
FMemoryStream.Free;
pngil16.Free;
dmImageLists.Free;
end;
end;
Nachtrag: Diese Vorgehensweise funktioniert doch nur, wenn man weiß welche Objekte (Klassen) enthalten sind. Wie macht das denn die
IDE ? Irgendwie verstehe ich das nicht...