View Issue Details

IDProjectCategoryView StatusLast Update
0024570LazarusIDEpublic2017-09-24 21:15
ReporterVyacheslav BondarevAssigned ToMattias Gaertner 
PrioritynormalSeverityminorReproducibilityalways
Status resolvedResolutionfixed 
Platformx86OSLinux, Win32OS VersionMint 14, WinXP
Product Version1.0.8Product Build 
Target VersionFixed in Version1.1 (SVN) 
Summary0024570: Properties of type "interface" in the object inspector does not work
DescriptionLazarus's object inspector does not show published properties of type interface.

For example, I create package with such content:

Code: [Select]

Unit example;

interface

type

ITestInterface = interface
     { some functions and procedures }
     ....
end;

TFirstClass = class(TComponent)
private
     fTestIntf : ITestInterface;
published
     property TestInterface : ITestInterface read fTestIntf write fTestIntf;
end;

TSecondClass = class(TComponent, ITestInterface)
private
      { TSecondClass specific stuff }
protected
     { implementing ITestInterface}
public
     { TSecondClass specific stuff }
published
     { TSecondClass specific stuff }
end;

procedure Register;

implementation

     { Implementation of the package. }
end.


Then, I install this package.

I have two components TFirstClass and TSecondClass installed.

In Delphi I can simply put both components on the TForm and assign TFirstClass.TestInterface to the TSecondClass
instance in the object inspector.

But not in the Lazarus: property TestInterface is not displayed.
Even if I will open *.lfm code and add
Code: [Select]

    TestInterface = TSecondClass1


it does not work.
I get error: "illegal type id 14"
TagsNo tags attached.
Fixed in Revisionr41645, r54067
LazTarget-
WidgetsetGTK 2, Win32/Win64, QT
Attached Files

Relationships

related to 0031324 resolvedMattias Gaertner Property editor for interface type properties (TInterfacePropertyEditor) 
has duplicate 0021313 resolvedPaul Ishenin Properties of type "interface" in the object inspector 

Activities

Paul Ishenin

2013-06-10 07:13

manager   ~0068169

Please test and close if ok.

I did not check myself since you did not attached a test application/project.

Vyacheslav Bondarev

2013-11-12 20:36

reporter   ~0071287

I previously tried to implement this feature myself. With changes I made in Lazarus 0.9.31 code property with type "interface" appears in the object inspector with list of components that inherits that interface, as it should be. But a value assignment through it does not work(when selecting any component from the list nothing is happening).

I do not remember, what problem did not let me to implement that feature completely(most likely, it was some misunderstand of lazarus internals), but maybe my work can be useful to solve problem?

Vyacheslav Bondarev

2013-11-12 20:43

reporter   ~0071288

Tested on Lazarus 1.2RC1: does not work.
Property of type "interface" is still invisible in the object inspector.

Issue History

Date Modified Username Field Change
2013-06-08 20:47 Vyacheslav Bondarev New Issue
2013-06-10 07:13 Paul Ishenin Fixed in Revision => 41645
2013-06-10 07:13 Paul Ishenin LazTarget => 1.2
2013-06-10 07:13 Paul Ishenin Note Added: 0068169
2013-06-10 07:13 Paul Ishenin Status new => resolved
2013-06-10 07:13 Paul Ishenin Fixed in Version => 1.1 (SVN)
2013-06-10 07:13 Paul Ishenin Resolution open => fixed
2013-06-10 07:13 Paul Ishenin Assigned To => Paul Ishenin
2013-06-11 08:29 Paul Ishenin Relationship added has duplicate 0021313
2013-11-12 20:36 Vyacheslav Bondarev Note Added: 0071287
2013-11-12 20:43 Vyacheslav Bondarev Note Added: 0071288
2013-11-12 20:43 Vyacheslav Bondarev Status resolved => assigned
2013-11-12 20:43 Vyacheslav Bondarev Resolution fixed => reopened
2014-01-14 15:22 Martin Friebe Target Version => 1.2.0
2014-02-17 16:31 Martin Friebe LazTarget 1.2 => 1.4
2014-02-17 16:32 Martin Friebe Target Version 1.2.0 => 1.4
2015-02-27 00:49 Juha Manninen Assigned To Paul Ishenin => Juha Manninen
2015-02-27 00:50 Juha Manninen Status assigned => feedback
2015-04-27 21:59 Juha Manninen LazTarget 1.4 => -
2015-04-27 22:02 Juha Manninen Target Version 1.4 =>
2017-09-24 21:09 Juha Manninen Assigned To Juha Manninen => Mattias Gaertner
2017-09-24 21:09 Juha Manninen Status feedback => assigned
2017-09-24 21:10 Juha Manninen Relationship added related to 0031324
2017-09-24 21:15 Juha Manninen Fixed in Revision 41645 => r41645, r54067
2017-09-24 21:15 Juha Manninen Status assigned => resolved
2017-09-24 21:15 Juha Manninen Resolution reopened => fixed