Hallo Leute,
ich bin immer noch mit dem Umzug von D 2005 zu Delphi Berlin beschäftigt und erlebe Überrascungen.
Ich will eine Windows Ikone - hier das weiße ? auf blauem Grund - auf ein eigenes Fenster plazieren. Ich gehe so vor:
Delphi-Quellcode:
procedure TForm2.FormPaint(Sender: TObject);
var
Icon: TIcon;
begin
Icon:=TIcon.Create;
Icon.Handle:=LoadIcon(0,IDI_QUESTION);
if Icon.Handle > 0 then Form2.Canvas.Draw(25,35,Icon); //<------
Icon.Free
end;
Das klappt, wenn ich das Fenster statisch anlege. Falls ich es dynamisch anlege, so:
Delphi-Quellcode:
with TForm2.Create(Form1) do
try
aw:=ShowModal;
finally
free
end;
dann kracht es in der markierten Zeile: Zugriffsverletzung. Ich verstehe, das Fenster ist für Paint (noch) nicht bereit. Ich habe es mit OldOrderCreate=true versucht, bringt aber nichts. Aber warum hat es mit Delphi 2005 funktioniert!?
Gruß Willie..