View Issue Details

IDProjectCategoryView StatusLast Update
0012248PatchesIDEpublic2008-11-04 13:15
ReporterYuriy SydorovAssigned ToMattias Gaertner 
PrioritynormalSeverityblockReproducibilityalways
Status closedResolutionfixed 
Platformwin32OSWindowsOS VersionXP
Product Version0.9.25 (SVN)Product Build 
Target Version0.9.28Fixed in Version 
Summary0012248: Method names are not shown in OI when IDE is compiled with DisableFakeMethods defined
DescriptionWhen Lazarus IDE is compiled with DisableFakeMethods defined, Object Inspector does not show method names. This problem was introduced in rev. 15798.

DisableFakeMethods is used to make MCK (visual part of KOL library) to work with Lazarus IDE.

Attached patch fixes this problem.
TagsNo tags attached.
Fixed in Revision17214
LazTarget0.9.28
Widgetset
Attached Files
  • ide.patch (472 bytes)
    Index: ideintf/propedits.pp
    ===================================================================
    --- ideintf/propedits.pp	(revision 16775)
    +++ ideintf/propedits.pp	(working copy)
    @@ -4127,7 +4127,7 @@
     
     function TMethodPropertyEditor.GetValue: ansistring;
     begin
    -  Result:=PropertyHook.GetMethodName(GetMethodValue,GetComponent(0));
    +  Result:=PropertyHook.GetMethodName(GetMethodValue,nil);
     end;
     
     procedure TMethodPropertyEditor.GetValues(Proc: TGetStringProc);
    
    ide.patch (472 bytes)

Activities

2008-09-28 15:39

 

ide.patch (472 bytes)
Index: ideintf/propedits.pp
===================================================================
--- ideintf/propedits.pp	(revision 16775)
+++ ideintf/propedits.pp	(working copy)
@@ -4127,7 +4127,7 @@
 
 function TMethodPropertyEditor.GetValue: ansistring;
 begin
-  Result:=PropertyHook.GetMethodName(GetMethodValue,GetComponent(0));
+  Result:=PropertyHook.GetMethodName(GetMethodValue,nil);
 end;
 
 procedure TMethodPropertyEditor.GetValues(Proc: TGetStringProc);
ide.patch (472 bytes)

Mattias Gaertner

2008-11-04 11:45

manager   ~0023144

The patch sets the property owner to nil. But this information is needed for events from other designer forms. I fixed it. But fake methods are the old hack and don't support all features (VFI, datamodules).

Why does kol need fake methods?
fake methods are deprecated and will probably be removed in the next release.

Yuriy Sydorov

2008-11-04 13:15

developer   ~0023146

Thanks. Actually MCK needs REAL method pointers in IDE. Lazarus uses FAKE methods by default for some time.
I already changed MCK to work with fake methods to simplify life for users...

Issue History

Date Modified Username Field Change
2008-09-28 15:39 Yuriy Sydorov New Issue
2008-09-28 15:39 Yuriy Sydorov File Added: ide.patch
2008-09-28 15:39 Yuriy Sydorov LazTarget => -
2008-09-28 20:08 Vincent Snijders LazTarget - => 0.9.28
2008-09-28 20:08 Vincent Snijders Assigned To => Mattias Gaertner
2008-09-28 20:08 Vincent Snijders Status new => assigned
2008-09-28 20:08 Vincent Snijders Target Version => 0.9.28
2008-11-04 11:45 Mattias Gaertner Fixed in Revision => 17214
2008-11-04 11:45 Mattias Gaertner Note Added: 0023144
2008-11-04 11:45 Mattias Gaertner Status assigned => resolved
2008-11-04 11:45 Mattias Gaertner Resolution open => fixed
2008-11-04 13:15 Yuriy Sydorov Status resolved => closed
2008-11-04 13:15 Yuriy Sydorov Note Added: 0023146