IDE: designer: fixed freeing component editor

git-svn-id: trunk@34204 -
This commit is contained in:
mattias 2011-12-15 12:53:07 +00:00
parent eb7483f416
commit 76550ee1db

View File

@ -1925,6 +1925,7 @@ procedure TCustomFormEditor.OnDesignerMenuItemClick(Sender: TObject);
var var
CompEditor: TBaseComponentEditor; CompEditor: TBaseComponentEditor;
MenuItem: TMenuItem; MenuItem: TMenuItem;
CompClassName: String;
begin begin
if (Sender=nil) or (not (Sender is TMenuItem)) then exit; if (Sender=nil) or (not (Sender is TMenuItem)) then exit;
MenuItem:=TMenuItem(Sender); MenuItem:=TMenuItem(Sender);
@ -1932,14 +1933,24 @@ begin
CompEditor:=GetComponentEditor(TComponent(Sender)); CompEditor:=GetComponentEditor(TComponent(Sender));
if CompEditor=nil then exit; if CompEditor=nil then exit;
CompClassName:=CompEditor.ClassName;
try try
CompEditor.Edit; CompEditor.Edit;
except except
on E: Exception do begin on E: Exception do begin
DebugLn('TCustomFormEditor.OnDesignerMenuItemClick ERROR: ',E.Message); DebugLn('TCustomFormEditor.OnDesignerMenuItemClick ERROR on CompEditor.Edit: ',E.Message);
MessageDlg(Format(lisErrorIn, [CompEditor.ClassName]), MessageDlg(Format(lisErrorIn, [CompClassName]),
Format(lisCFETheComponentEditorOfClassHasCreatedTheError, [CompEditor. Format(lisCFETheComponentEditorOfClassHasCreatedTheError, [CompClassName, #13, E.Message]),
ClassName, #13, E.Message]), mtError,[mbOk],0);
end;
end;
try
CompEditor.Free;
except
on E: Exception do begin
DebugLn('TCustomFormEditor.OnDesignerMenuItemClick ERROR on CompEditor.Free: ',E.Message);
MessageDlg(Format(lisErrorIn, [CompClassName]),
Format(lisCFETheComponentEditorOfClassHasCreatedTheError, [CompClassName, #13, E.Message]),
mtError,[mbOk],0); mtError,[mbOk],0);
end; end;
end; end;