improved smartlinking: graphics and forms finalization

git-svn-id: trunk@8254 -
This commit is contained in:
mattias 2005-12-06 11:25:16 +00:00
parent 8e974df7ce
commit e84231cff6
4 changed files with 9 additions and 5 deletions

View File

@ -344,6 +344,7 @@ var
begin
OnLoadGraphicFromClipboardFormat:=@LoadGraphicFromClipboardFormat;
OnSaveGraphicToClipboardFormat:=@SaveGraphicToClipboardFormat;
OnLoadSaveClipBrdGraphicValid:=true;
for AClipboardType:=Low(TClipboardType) to High(TClipboardType) do
FClipboards[AClipboardType]:=nil;
@ -351,6 +352,7 @@ end;
procedure InternalFinal;
begin
OnLoadSaveClipBrdGraphicValid:=false;
FreeAllClipboards;
end;

View File

@ -1689,7 +1689,7 @@ initialization
finalization
//DebugLn('forms.pp - finalization section');
LCLProc.OwnerFormDesignerModifiedProc:=nil;
HintWindowClass:=THintWindow;
HintWindowClass:=nil;
FreeThenNil(Application);
FreeThenNil(Screen);

View File

@ -1324,6 +1324,7 @@ type
FormatID: TClipboardFormat);
var
OnLoadSaveClipBrdGraphicValid: boolean = false;
OnLoadGraphicFromClipboardFormat: TOnLoadGraphicFromClipboardFormat=nil;
OnSaveGraphicToClipboardFormat: TOnSaveGraphicToClipboardFormat=nil;
@ -1845,8 +1846,7 @@ initialization
finalization
GraphicsFinalized:=true;
OnLoadGraphicFromClipboardFormat:=nil;
OnSaveGraphicToClipboardFormat:=nil;
OnLoadSaveClipBrdGraphicValid:=false;
FreeAndNil(PicClipboardFormats);
FreeAndNil(PicFileFormats);

View File

@ -128,7 +128,8 @@ end;
procedure TGraphic.LoadFromClipboardFormatID(ClipboardType: TClipboardType;
FormatID: TClipboardFormat);
begin
if Assigned(OnLoadGraphicFromClipboardFormat) then
if OnLoadSaveClipBrdGraphicValid
and Assigned(OnLoadGraphicFromClipboardFormat) then
OnLoadGraphicFromClipboardFormat(Self,ClipboardType,FormatID);
end;
@ -140,7 +141,8 @@ end;
procedure TGraphic.SaveToClipboardFormatID(ClipboardType: TClipboardType;
FormatID: TClipboardFormat);
begin
if Assigned(OnSaveGraphicToClipboardFormat) then
if OnLoadSaveClipBrdGraphicValid
and Assigned(OnSaveGraphicToClipboardFormat) then
OnSaveGraphicToClipboardFormat(Self,ClipboardType,FormatID);
end;