IDE+codetools: added verbosity via -dVerboseDanglingComponentEvents

git-svn-id: trunk@15798 -
This commit is contained in:
mattias 2008-07-17 06:47:25 +00:00
parent 154fb076a6
commit 7f8fab8d64
9 changed files with 401 additions and 964 deletions

View File

@ -4227,7 +4227,9 @@ function TStandardCodeTool.GatherPublishedClassElements(
while ANode<>nil do begin
if (ANode.Desc=ctnProcedure) and WithMethods then begin
CurProcName:=CurTool.ExtractProcName(ANode,[]);
//debugln('TStandardCodeTool.GatherPublishedClassElements CurProcName="',CurProcName,'"');
{$IFDEF VerboseDanglingComponentEvents}
debugln('TStandardCodeTool.GatherPublishedClassElements CurProcName="',CurProcName,'"');
{$ENDIF}
NewNodeExt:=NodeExtMemManager.NewNode;
with NewNodeExt do begin
Node:=ANode;
@ -4307,7 +4309,9 @@ var
NewItem^.PropInfo:=PropInfo;
if ListOfPInstancePropInfo=nil then ListOfPInstancePropInfo:=TFPList.Create;
ListOfPInstancePropInfo.Add(NewItem);
//debugln('AddDanglingEvent ',DbgSName(Instance),' ',PropInfo^.Name);
{$IFDEF VerboseDanglingComponentEvents}
debugln('AddDanglingEvent ',DbgSName(Instance),' ',PropInfo^.Name);
{$ENDIF}
end;
procedure CheckMethodsInComponent(AComponent: TComponent);
@ -4322,7 +4326,9 @@ var
CurMethodName: String;
begin
if AComponent=nil then exit;
{$IFDEF VerboseDanglingComponentEvents}
//debugln('TStandardCodeTool.FindDanglingComponentEvents Checking ',DbgSName(AComponent));
{$ENDIF}
// read all properties and remove doubles
TypeInfo:=AComponent.ClassInfo;
repeat
@ -4333,18 +4339,25 @@ var
// read property count
CurCount:=PWord(PropInfo)^;
inc(PtrUInt(PropInfo),SizeOf(Word));
{$IFDEF VerboseDanglingComponentEvents}
//debugln(' UnitName=',TypeData^.UnitName,' Type=',TypeInfo^.Name,' CurPropCount=',dbgs(CurCount));
{$ENDIF}
// read properties
while CurCount>0 do begin
// point PropInfo to next propinfo record.
// Located at Name[Length(Name)+1] !
{$IFDEF VerboseDanglingComponentEvents}
//debugln(' Property ',PropInfo^.Name,' Type=',PropInfo^.PropType^.Name);
{$ENDIF}
PropType:=PropInfo^.PropType;
if PropType^.Kind=tkMethod then begin
// RTTI property is method
// -> search method in source
CurMethod:=GetMethodProp(AComponent,PropInfo);
CurMethodName:=OnGetMethodName(CurMethod,RootComponent);
{$IFDEF VerboseDanglingComponentEvents}
debugln(' Component ',DbgSName(AComponent),' Property ',PropInfo^.Name,' Type=',PropInfo^.PropType^.Name,' CurMethodName="',CurMethodName,'"');
{$ENDIF}
if CurMethodName<>'' then begin
NodeExt:=FindCodeTreeNodeExt(PublishedMethods,CurMethodName);
if NodeExt=nil then begin
@ -4367,7 +4380,9 @@ begin
ListOfPInstancePropInfo:=nil;
try
// search all available published methods
//debugln('TStandardCodeTool.FindDanglingComponentEvents A ',MainFilename,' ',DbgSName(RootComponent));
{$IFDEF VerboseDanglingComponentEvents}
debugln('TStandardCodeTool.FindDanglingComponentEvents A ',MainFilename,' ',DbgSName(RootComponent));
{$ENDIF}
Result:=GatherPublishedClassElements(TheClassName,ExceptionOnClassNotFound,
false,true,false,SearchInAncestors,
PublishedMethods);

View File

@ -1,10 +1,9 @@
object CharacterMapDialog: TCharacterMapDialog
Left = 507
Left = 426
Height = 397
Top = 139
Top = 221
Width = 471
HorzScrollBar.Page = 470
VertScrollBar.Page = 396
ActiveControl = StringGrid1
Caption = 'CharacterMapDialog'
ClientHeight = 397
ClientWidth = 471
@ -12,6 +11,7 @@ object CharacterMapDialog: TCharacterMapDialog
KeyPreview = True
OnCreate = FormCreate
OnShow = FormShow
LCLVersion = '0.9.25'
object CharactersGroupbox: TGroupBox
AnchorSideLeft.Control = Owner
AnchorSideTop.Control = Owner
@ -19,20 +19,20 @@ object CharacterMapDialog: TCharacterMapDialog
AnchorSideRight.Side = asrBottom
AnchorSideBottom.Control = CloseButton
Left = 6
Height = 353
Height = 343
Top = 6
Width = 459
Anchors = [akTop, akLeft, akRight, akBottom]
BorderSpacing.Around = 6
Caption = 'Characters'
ClientHeight = 335
ClientHeight = 324
ClientWidth = 455
ParentCtl3D = False
TabOrder = 0
object CharInfoLabel: TLabel
Left = 6
Height = 14
Top = 315
Height = 20
Top = 298
Width = 443
Align = alBottom
BorderSpacing.Around = 6
@ -47,19 +47,18 @@ object CharacterMapDialog: TCharacterMapDialog
AnchorSideBottom.Control = CharactersGroupbox
AnchorSideBottom.Side = asrBottom
Left = 6
Height = 323
Height = 312
Top = 6
Width = 443
Anchors = [akTop, akLeft, akRight, akBottom]
BorderSpacing.Around = 6
ColCount = 17
DefaultColWidth = 16
ExtendedSelect = True
FixedColor = clBtnFace
Options = [goFixedVertLine, goFixedHorzLine, goVertLine, goHorzLine, goSmoothScroll]
RowCount = 15
ScrollBars = ssAutoBoth
TabOrder = 0
TabStop = True
OnMouseDown = StringGrid1MouseDown
OnMouseMove = StringGrid1MouseMove
end
@ -69,10 +68,10 @@ object CharacterMapDialog: TCharacterMapDialog
AnchorSideRight.Side = asrBottom
AnchorSideBottom.Control = Owner
AnchorSideBottom.Side = asrBottom
Left = 376
Height = 26
Top = 365
Width = 89
Left = 369
Height = 36
Top = 355
Width = 96
Anchors = [akRight, akBottom]
AutoSize = True
BorderSpacing.Around = 6

View File

@ -1,35 +1,35 @@
{ This is an automatically generated lazarus resource file }
LazarusResources.Add('TCharacterMapDialog','FORMDATA',[
'TPF0'#19'TCharacterMapDialog'#18'CharacterMapDialog'#4'Left'#3#251#1#6'Heigh'
+'t'#3#141#1#3'Top'#3#139#0#5'Width'#3#215#1#18'HorzScrollBar.Page'#3#214#1#18
+'VertScrollBar.Page'#3#140#1#7'Caption'#6#18'CharacterMapDialog'#12'ClientHe'
+'ight'#3#141#1#11'ClientWidth'#3#215#1#9'FormStyle'#7#11'fsStayOnTop'#10'Key'
+'Preview'#9#8'OnCreate'#7#10'FormCreate'#6'OnShow'#7#8'FormShow'#0#9'TGroupB'
+'ox'#18'CharactersGroupbox'#22'AnchorSideLeft.Control'#7#5'Owner'#21'AnchorS'
+'ideTop.Control'#7#5'Owner'#23'AnchorSideRight.Control'#7#5'Owner'#20'Anchor'
+'SideRight.Side'#7#9'asrBottom'#24'AnchorSideBottom.Control'#7#11'CloseButto'
+'n'#4'Left'#2#6#6'Height'#3'a'#1#3'Top'#2#6#5'Width'#3#203#1#7'Anchors'#11#5
+'akTop'#6'akLeft'#7'akRight'#8'akBottom'#0#20'BorderSpacing.Around'#2#6#7'Ca'
+'ption'#6#10'Characters'#12'ClientHeight'#3'O'#1#11'ClientWidth'#3#199#1#11
'TPF0'#19'TCharacterMapDialog'#18'CharacterMapDialog'#4'Left'#3#170#1#6'Heigh'
+'t'#3#141#1#3'Top'#3#221#0#5'Width'#3#215#1#13'ActiveControl'#7#11'StringGri'
+'d1'#7'Caption'#6#18'CharacterMapDialog'#12'ClientHeight'#3#141#1#11'ClientW'
+'idth'#3#215#1#9'FormStyle'#7#11'fsStayOnTop'#10'KeyPreview'#9#8'OnCreate'#7
+#10'FormCreate'#6'OnShow'#7#8'FormShow'#10'LCLVersion'#6#6'0.9.25'#0#9'TGrou'
+'pBox'#18'CharactersGroupbox'#22'AnchorSideLeft.Control'#7#5'Owner'#21'Ancho'
+'rSideTop.Control'#7#5'Owner'#23'AnchorSideRight.Control'#7#5'Owner'#20'Anch'
+'orSideRight.Side'#7#9'asrBottom'#24'AnchorSideBottom.Control'#7#11'CloseBut'
+'ton'#4'Left'#2#6#6'Height'#3'W'#1#3'Top'#2#6#5'Width'#3#203#1#7'Anchors'#11
+#5'akTop'#6'akLeft'#7'akRight'#8'akBottom'#0#20'BorderSpacing.Around'#2#6#7
+'Caption'#6#10'Characters'#12'ClientHeight'#3'D'#1#11'ClientWidth'#3#199#1#11
+'ParentCtl3D'#8#8'TabOrder'#2#0#0#6'TLabel'#13'CharInfoLabel'#4'Left'#2#6#6
+'Height'#2#14#3'Top'#3';'#1#5'Width'#3#187#1#5'Align'#7#8'alBottom'#20'Borde'
+'Height'#2#20#3'Top'#3'*'#1#5'Width'#3#187#1#5'Align'#7#8'alBottom'#20'Borde'
+'rSpacing.Around'#2#6#7'Caption'#6#13'CharInfoLabel'#11'ParentColor'#8#0#0#11
+'TStringGrid'#11'StringGrid1'#22'AnchorSideLeft.Control'#7#18'CharactersGrou'
+'pbox'#21'AnchorSideTop.Control'#7#18'CharactersGroupbox'#23'AnchorSideRight'
+'.Control'#7#18'CharactersGroupbox'#20'AnchorSideRight.Side'#7#9'asrBottom'
+#24'AnchorSideBottom.Control'#7#18'CharactersGroupbox'#21'AnchorSideBottom.S'
+'ide'#7#9'asrBottom'#4'Left'#2#6#6'Height'#3'C'#1#3'Top'#2#6#5'Width'#3#187#1
+'ide'#7#9'asrBottom'#4'Left'#2#6#6'Height'#3'8'#1#3'Top'#2#6#5'Width'#3#187#1
+#7'Anchors'#11#5'akTop'#6'akLeft'#7'akRight'#8'akBottom'#0#20'BorderSpacing.'
+'Around'#2#6#8'ColCount'#2#17#15'DefaultColWidth'#2#16#10'FixedColor'#7#9'cl'
+'BtnFace'#7'Options'#11#15'goFixedVertLine'#15'goFixedHorzLine'#10'goVertLin'
+'e'#10'goHorzLine'#14'goSmoothScroll'#0#8'RowCount'#2#15#10'ScrollBars'#7#10
+'ssAutoBoth'#8'TabOrder'#2#0#7'TabStop'#9#11'OnMouseDown'#7#20'StringGrid1Mo'
+'useDown'#11'OnMouseMove'#7#20'StringGrid1MouseMove'#0#0#0#7'TBitBtn'#11'Clo'
+'seButton'#23'AnchorSideRight.Control'#7#5'Owner'#20'AnchorSideRight.Side'#7
+#9'asrBottom'#24'AnchorSideBottom.Control'#7#5'Owner'#21'AnchorSideBottom.Si'
+'de'#7#9'asrBottom'#4'Left'#3'x'#1#6'Height'#2#26#3'Top'#3'm'#1#5'Width'#2'Y'
+#7'Anchors'#11#7'akRight'#8'akBottom'#0#8'AutoSize'#9#20'BorderSpacing.Aroun'
+'d'#2#6#7'Caption'#6#8'&'#199#224#234#240#251#242#252#4'Kind'#7#7'bkClose'#9
+'NumGlyphs'#2#0#7'OnClick'#7#16'CloseButtonClick'#8'TabOrder'#2#1#0#0#0
+'Around'#2#6#8'ColCount'#2#17#15'DefaultColWidth'#2#16#14'ExtendedSelect'#9
+#10'FixedColor'#7#9'clBtnFace'#7'Options'#11#15'goFixedVertLine'#15'goFixedH'
+'orzLine'#10'goVertLine'#10'goHorzLine'#14'goSmoothScroll'#0#8'RowCount'#2#15
+#8'TabOrder'#2#0#11'OnMouseDown'#7#20'StringGrid1MouseDown'#11'OnMouseMove'#7
+#20'StringGrid1MouseMove'#0#0#0#7'TBitBtn'#11'CloseButton'#23'AnchorSideRigh'
+'t.Control'#7#5'Owner'#20'AnchorSideRight.Side'#7#9'asrBottom'#24'AnchorSide'
+'Bottom.Control'#7#5'Owner'#21'AnchorSideBottom.Side'#7#9'asrBottom'#4'Left'
+#3'q'#1#6'Height'#2'$'#3'Top'#3'c'#1#5'Width'#2'`'#7'Anchors'#11#7'akRight'#8
+'akBottom'#0#8'AutoSize'#9#20'BorderSpacing.Around'#2#6#7'Caption'#6#15'&'
+#195#135#195#160#195#170#195#176#195#187#195#178#195#188#4'Kind'#7#7'bkClose'
+#9'NumGlyphs'#2#0#7'OnClick'#7#16'CloseButtonClick'#8'TabOrder'#2#1#0#0#0
]);

View File

@ -1,7 +1,7 @@
object CheckLFMDialog: TCheckLFMDialog
Left = 367
Left = 430
Height = 580
Top = 196
Top = 210
Width = 552
ActiveControl = LFMSynEdit
Caption = 'Repair LFM file'
@ -33,6 +33,7 @@ object CheckLFMDialog: TCheckLFMDialog
Align = alClient
Font.Height = -15
Font.Name = 'courier'
Font.Pitch = fpFixed
ParentColor = False
ParentCtl3D = False
TabOrder = 0

View File

@ -1,8 +1,8 @@
{ This is an automatically generated lazarus resource file }
LazarusResources.Add('TCheckLFMDialog','FORMDATA',[
'TPF0'#15'TCheckLFMDialog'#14'CheckLFMDialog'#4'Left'#3'o'#1#6'Height'#3'D'#2
+#3'Top'#3#196#0#5'Width'#3'('#2#13'ActiveControl'#7#10'LFMSynEdit'#7'Caption'
'TPF0'#15'TCheckLFMDialog'#14'CheckLFMDialog'#4'Left'#3#174#1#6'Height'#3'D'#2
+#3'Top'#3#210#0#5'Width'#3'('#2#13'ActiveControl'#7#10'LFMSynEdit'#7'Caption'
+#6#15'Repair LFM file'#12'ClientHeight'#3'D'#2#11'ClientWidth'#3'('#2#8'OnCr'
+'eate'#7#20'CheckLFMDialogCreate'#10'LCLVersion'#6#6'0.9.25'#0#6'TLabel'#9'N'
+'oteLabel'#6'Height'#2#20#5'Width'#3'('#2#5'Align'#7#5'alTop'#7'Caption'#6#9
@ -11,78 +11,7 @@ LazarusResources.Add('TCheckLFMDialog','FORMDATA',[
+'ion'#6#8'LFM file'#12'ClientHeight'#3#140#1#11'ClientWidth'#3'$'#2#11'Paren'
+'tCtl3D'#8#8'TabOrder'#2#0#0#8'TSynEdit'#10'LFMSynEdit'#6'Height'#3#140#1#5
+'Width'#3'$'#2#5'Align'#7#8'alClient'#11'Font.Height'#2#241#9'Font.Name'#6#7
+'courier'#11'ParentColor'#8#11'ParentCtl3D'#8#8'TabOrder'#2#0#24'BookMarkOpt'
+'ions.OnChange'#13#23'Gutter.CodeFoldingWidth'#2#14#11'Highlighter'#7#10'Syn'
+'LFMSyn1'#10'Keystrokes'#14#1#7'Command'#2#3#8'ShortCut'#2'&'#0#1#7'Command'
+#2'g'#8'ShortCut'#3'& '#0#1#7'Command'#3#211#0#8'ShortCut'#3'&@'#0#1#7'Comma'
+'nd'#2#4#8'ShortCut'#2'('#0#1#7'Command'#2'h'#8'ShortCut'#3'( '#0#1#7'Comman'
+'d'#3#212#0#8'ShortCut'#3'(@'#0#1#7'Command'#2#1#8'ShortCut'#2'%'#0#1#7'Comm'
+'and'#2'e'#8'ShortCut'#3'% '#0#1#7'Command'#2#5#8'ShortCut'#3'%@'#0#1#7'Comm'
+'and'#2'i'#8'ShortCut'#3'%`'#0#1#7'Command'#2#2#8'ShortCut'#2''''#0#1#7'Comm'
+'and'#2'f'#8'ShortCut'#3''' '#0#1#7'Command'#2#6#8'ShortCut'#3'''@'#0#1#7'Co'
+'mmand'#2'j'#8'ShortCut'#3'''`'#0#1#7'Command'#2#10#8'ShortCut'#2'"'#0#1#7'C'
+'ommand'#2'n'#8'ShortCut'#3'" '#0#1#7'Command'#2#14#8'ShortCut'#3'"@'#0#1#7
+'Command'#2'r'#8'ShortCut'#3'"`'#0#1#7'Command'#2#9#8'ShortCut'#2'!'#0#1#7'C'
+'ommand'#2'm'#8'ShortCut'#3'! '#0#1#7'Command'#2#13#8'ShortCut'#3'!@'#0#1#7
+'Command'#2'q'#8'ShortCut'#3'!`'#0#1#7'Command'#2#7#8'ShortCut'#2'$'#0#1#7'C'
+'ommand'#2'k'#8'ShortCut'#3'$ '#0#1#7'Command'#2#15#8'ShortCut'#3'$@'#0#1#7
+'Command'#2's'#8'ShortCut'#3'$`'#0#1#7'Command'#2#8#8'ShortCut'#2'#'#0#1#7'C'
+'ommand'#2'l'#8'ShortCut'#3'# '#0#1#7'Command'#2#16#8'ShortCut'#3'#@'#0#1#7
+'Command'#2't'#8'ShortCut'#3'#`'#0#1#7'Command'#3#223#0#8'ShortCut'#2'-'#0#1
+#7'Command'#3#201#0#8'ShortCut'#3'-@'#0#1#7'Command'#3'\'#2#8'ShortCut'#3'- '
+#0#1#7'Command'#3#246#1#8'ShortCut'#2'.'#0#1#7'Command'#3'['#2#8'ShortCut'#3
+'. '#0#1#7'Command'#3#245#1#8'ShortCut'#2#8#0#1#7'Command'#3#245#1#8'ShortCu'
+'t'#3#8' '#0#1#7'Command'#3#248#1#8'ShortCut'#3#8'@'#0#1#7'Command'#3'Y'#2#8
+'ShortCut'#4#8#128#0#0#0#1#7'Command'#3'Z'#2#8'ShortCut'#4#8#160#0#0#0#1#7'C'
+'ommand'#3#253#1#8'ShortCut'#2#13#0#1#7'Command'#3#199#0#8'ShortCut'#3'A@'#0
+#1#7'Command'#3#201#0#8'ShortCut'#3'C@'#0#1#7'Command'#3'b'#2#8'ShortCut'#3
+'I`'#0#1#7'Command'#3#253#1#8'ShortCut'#3'M@'#0#1#7'Command'#3#254#1#8'Short'
+'Cut'#3'N@'#0#1#7'Command'#3#247#1#8'ShortCut'#3'T@'#0#1#7'Command'#3'c'#2#8
+'ShortCut'#3'U`'#0#1#7'Command'#3'\'#2#8'ShortCut'#3'V@'#0#1#7'Command'#3'['
+#2#8'ShortCut'#3'X@'#0#1#7'Command'#3#251#1#8'ShortCut'#3'Y@'#0#1#7'Command'
+#3#250#1#8'ShortCut'#3'Y`'#0#1#7'Command'#3'Y'#2#8'ShortCut'#3'Z@'#0#1#7'Com'
+'mand'#3'Z'#2#8'ShortCut'#3'Z`'#0#1#7'Command'#3'-'#1#8'ShortCut'#3'0@'#0#1#7
+'Command'#3'.'#1#8'ShortCut'#3'1@'#0#1#7'Command'#3'/'#1#8'ShortCut'#3'2@'#0
+#1#7'Command'#3'0'#1#8'ShortCut'#3'3@'#0#1#7'Command'#3'1'#1#8'ShortCut'#3'4'
+'@'#0#1#7'Command'#3'2'#1#8'ShortCut'#3'5@'#0#1#7'Command'#3'3'#1#8'ShortCut'
+#3'6@'#0#1#7'Command'#3'4'#1#8'ShortCut'#3'7@'#0#1#7'Command'#3'5'#1#8'Short'
+'Cut'#3'8@'#0#1#7'Command'#3'6'#1#8'ShortCut'#3'9@'#0#1#7'Command'#3'_'#1#8
+'ShortCut'#3'0`'#0#1#7'Command'#3'`'#1#8'ShortCut'#3'1`'#0#1#7'Command'#3'a'
+#1#8'ShortCut'#3'2`'#0#1#7'Command'#3'b'#1#8'ShortCut'#3'3`'#0#1#7'Command'#3
+'c'#1#8'ShortCut'#3'4`'#0#1#7'Command'#3'd'#1#8'ShortCut'#3'5`'#0#1#7'Comman'
+'d'#3'e'#1#8'ShortCut'#3'6`'#0#1#7'Command'#3'f'#1#8'ShortCut'#3'7`'#0#1#7'C'
+'ommand'#3'g'#1#8'ShortCut'#3'8`'#0#1#7'Command'#3'h'#1#8'ShortCut'#3'9`'#0#1
+#7'Command'#3#231#0#8'ShortCut'#3'N`'#0#1#7'Command'#3#232#0#8'ShortCut'#3'C'
+'`'#0#1#7'Command'#3#233#0#8'ShortCut'#3'L`'#0#1#7'Command'#3'd'#2#8'ShortCu'
+'t'#2#9#0#1#7'Command'#3'e'#2#8'ShortCut'#3#9' '#0#1#7'Command'#3#250#0#8'Sh'
+'ortCut'#3'B`'#0#0#13'Lines.Strings'#1#6#10'LFMSynEdit'#0#22'SelectedColor.O'
+'nChange'#13#19'OnSpecialLineColors'#7#27'LFMSynEditSpecialLineColors'#0#0#0
+#9'TGroupBox'#14'ErrorsGroupBox'#6'Height'#2'h'#3'Top'#3#179#1#5'Width'#3'('
+#2#5'Align'#7#8'alBottom'#7'Caption'#6#6'Errors'#12'ClientHeight'#2'U'#11'Cl'
+'ientWidth'#3'$'#2#11'ParentCtl3D'#8#8'TabOrder'#2#1#0#8'TListBox'#13'Errors'
+'ListBox'#6'Height'#2'U'#5'Width'#3'$'#2#5'Align'#7#8'alClient'#7'OnClick'#7
+#18'ErrorsListBoxClick'#8'TabOrder'#2#0#8'TopIndex'#2#255#0#0#0#6'TPanel'#8
+'BtnPanel'#6'Height'#2')'#3'Top'#3#27#2#5'Width'#3'('#2#5'Align'#7#8'alBotto'
+'m'#8'AutoSize'#9#10'BevelOuter'#7#6'bvNone'#12'ClientHeight'#2')'#11'Client'
+'Width'#3'('#2#8'TabOrder'#2#2#0#7'TButton'#12'CancelButton'#4'Left'#3#235#1
,#6'Height'#2#29#3'Top'#2#6#5'Width'#2'7'#5'Align'#7#7'alRight'#8'AutoSize'#9
+#20'BorderSpacing.Around'#2#6#7'Caption'#6#6'Cancel'#11'ModalResult'#2#2#8'T'
+'abOrder'#2#0#0#0#7'TButton'#15'RemoveAllButton'#4'Left'#3'#'#1#6'Height'#2
+#29#3'Top'#2#6#5'Width'#3#194#0#5'Align'#7#7'alRight'#8'AutoSize'#9#20'Borde'
+'rSpacing.Around'#2#6#7'Caption'#6#29'Remove all invalid properties'#7'OnCli'
+'ck'#7#20'RemoveAllButtonClick'#8'TabOrder'#2#1#0#0#0#10'TSynLFMSyn'#10'SynL'
+'FMSyn1'#13'DefaultFilter'#6' Lazarus Form Files (*.lfm)|*.lfm'#7'Enabled'#8
+#4'left'#3#129#0#3'top'#2'h'#0#0#0#15'TCheckLFMDialog'#14'CheckLFMDialog'#4
+'Left'#3'o'#1#6'Height'#3'D'#2#3'Top'#3#196#0#5'Width'#3'('#2#13'ActiveContr'
+'ol'#7#10'LFMSynEdit'#7'Caption'#6#15'Repair LFM file'#12'ClientHeight'#3'D'
+#2#11'ClientWidth'#3'('#2#8'OnCreate'#7#20'CheckLFMDialogCreate'#10'LCLVersi'
+'on'#6#6'0.9.25'#0#6'TLabel'#9'NoteLabel'#6'Height'#2#20#5'Width'#3'('#2#5'A'
+'lign'#7#5'alTop'#7'Caption'#6#9'NoteLabel'#11'ParentColor'#8#8'WordWrap'#9#0
+#0#9'TGroupBox'#11'LFMGroupBox'#6'Height'#3#159#1#3'Top'#2#20#5'Width'#3'('#2
+#5'Align'#7#8'alClient'#7'Caption'#6#8'LFM file'#12'ClientHeight'#3#140#1#11
+'ClientWidth'#3'$'#2#11'ParentCtl3D'#8#8'TabOrder'#2#0#0#8'TSynEdit'#10'LFMS'
+'ynEdit'#6'Height'#3#140#1#5'Width'#3'$'#2#5'Align'#7#8'alClient'#11'Font.He'
+'ight'#2#241#9'Font.Name'#6#7'courier'#11'ParentColor'#8#11'ParentCtl3D'#8#8
+'courier'#10'Font.Pitch'#7#7'fpFixed'#11'ParentColor'#8#11'ParentCtl3D'#8#8
+'TabOrder'#2#0#24'BookMarkOptions.OnChange'#13#23'Gutter.CodeFoldingWidth'#2
+#14#11'Highlighter'#7#10'SynLFMSyn1'#10'Keystrokes'#14#1#7'Command'#2#3#8'Sh'
+'ortCut'#2'&'#0#1#7'Command'#2'g'#8'ShortCut'#3'& '#0#1#7'Command'#3#211#0#8
@ -129,14 +58,14 @@ LazarusResources.Add('TCheckLFMDialog','FORMDATA',[
+#7'Command'#3#250#0#8'ShortCut'#3'B`'#0#0#13'Lines.Strings'#1#6#10'LFMSynEdi'
+'t'#0#22'SelectedColor.OnChange'#13#19'OnSpecialLineColors'#7#27'LFMSynEditS'
+'pecialLineColors'#0#0#0#9'TGroupBox'#14'ErrorsGroupBox'#6'Height'#2'h'#3'To'
,'p'#3#179#1#5'Width'#3'('#2#5'Align'#7#8'alBottom'#7'Caption'#6#6'Errors'#12
+'p'#3#179#1#5'Width'#3'('#2#5'Align'#7#8'alBottom'#7'Caption'#6#6'Errors'#12
+'ClientHeight'#2'U'#11'ClientWidth'#3'$'#2#11'ParentCtl3D'#8#8'TabOrder'#2#1
+#0#8'TListBox'#13'ErrorsListBox'#6'Height'#2'U'#5'Width'#3'$'#2#5'Align'#7#8
+'alClient'#7'OnClick'#7#18'ErrorsListBoxClick'#8'TabOrder'#2#0#8'TopIndex'#2
+#255#0#0#0#6'TPanel'#8'BtnPanel'#6'Height'#2')'#3'Top'#3#27#2#5'Width'#3'('#2
+#5'Align'#7#8'alBottom'#8'AutoSize'#9#10'BevelOuter'#7#6'bvNone'#12'ClientHe'
+'ight'#2')'#11'ClientWidth'#3'('#2#8'TabOrder'#2#2#0#7'TButton'#12'CancelBut'
+'ton'#4'Left'#3#235#1#6'Height'#2#29#3'Top'#2#6#5'Width'#2'7'#5'Align'#7#7'a'
,'ton'#4'Left'#3#235#1#6'Height'#2#29#3'Top'#2#6#5'Width'#2'7'#5'Align'#7#7'a'
+'lRight'#8'AutoSize'#9#20'BorderSpacing.Around'#2#6#7'Caption'#6#6'Cancel'#11
+'ModalResult'#2#2#8'TabOrder'#2#0#0#0#7'TButton'#15'RemoveAllButton'#4'Left'
+#3'#'#1#6'Height'#2#29#3'Top'#2#6#5'Width'#3#194#0#5'Align'#7#7'alRight'#8'A'

View File

@ -1,7 +1,7 @@
object EditorOptionsForm: TEditorOptionsForm
Left = 443
Left = 410
Height = 541
Top = 167
Top = 201
Width = 554
ActiveControl = MainNotebook
Caption = 'EditorOptionsForm'
@ -417,6 +417,7 @@ object EditorOptionsForm: TEditorOptionsForm
BorderSpacing.Around = 6
Font.Height = -16
Font.Name = 'courier'
Font.Pitch = fpFixed
ParentColor = False
TabOrder = 2
Gutter.CodeFoldingWidth = 14
@ -906,6 +907,7 @@ object EditorOptionsForm: TEditorOptionsForm
Anchors = [akTop, akLeft, akRight, akBottom]
Font.Height = -16
Font.Name = 'courier'
Font.Pitch = fpFixed
ParentColor = False
TabOrder = 3
OnMouseDown = ColorPreviewMouseUp

File diff suppressed because it is too large Load Diff

View File

@ -1366,6 +1366,7 @@ function TMainIDE.OnPropHookGetMethodName(const Method: TMethod;
CheckOwner: TObject): String;
var
JITMethod: TJITMethod;
LookupRoot: TPersistent;
begin
if Method.Code<>nil then begin
if Method.Data<>nil then begin
@ -1381,15 +1382,20 @@ begin
end else if IsJITMethod(Method) then begin
JITMethod:=TJITMethod(Method.Data);
Result:=JITMethod.TheMethodName;
if CheckOwner is TComponent then begin
LookupRoot:=GetLookupRootForComponent(TComponent(CheckOwner));
if LookupRoot is TComponent then begin
//DebugLn(['TMainIDE.OnPropHookGetMethodName ',dbgsName(GlobalDesignHook.LookupRoot),' ',dbgsName(JITMethod.TheClass)]);
if (GlobalDesignHook.LookupRoot.ClassType<>JITMethod.TheClass)
or ((GlobalDesignHook.LookupRoot is TComponent)
and (csInline in TComponent(GlobalDesignHook.LookupRoot).ComponentState))
then begin
if (LookupRoot.ClassType<>JITMethod.TheClass) then begin
Result:=JITMethod.TheClass.ClassName+'.'+Result;
end;
end;
end;
end else
Result:='';
{$IFDEF VerboseDanglingComponentEvents}
DebugLn(['TMainIDE.OnPropHookGetMethodName ',Result,' ',IsJITMethod(Method)]);
{$ENDIF}
end;
procedure TMainIDE.OnPropHookGetMethods(TypeData:PTypeData;

View File

@ -4000,7 +4000,7 @@ end;
function TMethodPropertyEditor.GetValue: ansistring;
begin
Result:=PropertyHook.GetMethodName(GetMethodValue,nil);
Result:=PropertyHook.GetMethodName(GetMethodValue,GetComponent(0));
end;
procedure TMethodPropertyEditor.GetValues(Proc: TGetStringProc);