Recent

Author Topic: Properties of type "interface" in the object inspector  (Read 2583 times)

stalker

  • Newbie
  • Posts: 1
Properties of type "interface" in the object inspector
« on: February 13, 2012, 08:14:50 pm »
Hello!

Lazarus'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", or something like this(I have remember the number "14" but not the message text... :-[)

Why?  :'(

P.S. Lazarus version 0.9.31 SVN rev. 35345 fpc version 2.6.1 (daily snapshot)

P.P.S. Sorry for my bad English.  :-\
« Last Edit: February 13, 2012, 08:19:56 pm by stalker »