Hallo,
vielen Dank für die Antworten.
Ich hab mal die Sachen, die diese Zeichnerei in der Komponente machen, ausgeklammert. Und siehe da: Es kommt immer noch "Abstrakter Fehler".
Dann hab ich mal die Zeichnerei in das OnPaint Ereignis eines Formulars kopiert.
//*******************************************
procedure TForm1.FormPaint(Sender: TObject);
var
ico:TIcon;
bmp:TGraphicExGraphic;
begin
try
try
bmp:=TGraphicExGraphic.create;
bmp.PixelFormat:=pf32bit;
if not (image1.Picture.Graphic is TIcon) then begin
bmp.Assign(image1.Picture.Graphic);
canvas.StretchDraw(clientrect,bmp);
end else begin
ico:=TIcon.create;
ico.Assign(image1.Picture.Icon);
canvas.StretchDraw(clientrect,ico);
end;
finally
FreeAndNil(bmp);
FreeAndNil(ico);
end;
except
Showmessage('Ungültiges Bildformat');
end;
end;
//**************************************
... und da funktioniert das Ganze.
Was mir aber auffiel:
Es wurden etliche Graphic-Filter-
pas-Dateien in die uses von form1 geschrieben, je nachdem, welchen Graphic Typ ich in das Image geladen hatte.
Z.B. LMDPNGImage, jpeg.
Ich hatte die uses nur um "graphicEx" erweitert.
Mein "Abstakter Fehler" liegt wo anders in meinem Komponentencode.
Nur wo?????
Beim Kompilieren des Packages kommt kein Fehler. Erst wenn ich die neue Komponente auf dem Formular plaziere und was an den Properties einstellen will.
Weiß jemand wo man bei sowas am Besten anfängt zu suchen?
Danke
Josef