こんにちは。
不具合の再現できる最小限のソースを提示されてはどうでしょう?
Form1 のUses に ExtCtrls, ClipBrd, StdCtrls を追加して、
procedure TForm1.FormCreate(Sender: TObject);
begin
if Clipboard.HasFormat(CF_TEXT) then begin
with TMemo.Create(Self) do begin
Parent := Self;
Align := alClient;
Lines.Add(Clipboard.AsText);
end;
end else
if Clipboard.HasFormat(CF_PICTURE) then begin
with TImage.Create(Self) do begin
Parent := Self;
Align := alClient;
AutoSize := True;
Picture.Assign(Clipboard);
end;
end;
end;
ペイントなどから画像をクリップボードにコピーしてから実行すると Form1 に画像が表示され、文字だとメモが表示されます。こちらでは何回呼んでもアクセス違反は発生しないようです。
お礼
ありがとうございます。この方法で行けると思ったのですが、アクセス違反が発生してしまいました。 TForm1.Create(Application); としてから、Form1.OnCreate内にて Timage.create(form1); をしているのですが、一度破棄して再度imageを作ろうとするとコケるようです。メモリリークも確認しましたが、していないようです・・・。