[fpc-pascal] corba interfaces - is/as not working properly
Martin Schreiber
mse00000 at gmail.com
Thu Sep 29 07:42:42 CEST 2016
On Thursday 29 September 2016 01:14:44 David Emerson wrote:
> On 09/28/2016 03:31 PM, Graeme Geldenhuys wrote:
> > On 2016-09-28 22:59, David Emerson wrote:
> >> Alternately, if I give a GUID does an interface not automatically become
> >> COM + managed?
> >
> > No definitely not! The GUID just helps the compiler or RTL identify an
> > Interface.
>
> Oh fabulous! Thanks much. I definitely got a wrong impression on that one.
>
> > Ctrl+Shift+G in Lazarus IDE should generate a GUID for you.
>
> thanks, very handy :)
>
Corba-style interfaces can use any string as ID so for local interfaces it is
possible to use shorter ID-strings for better performance.
MSEide constructs such ID's by RightClick-'Insert UID'. Example: "['jA']{49}".
If the interface is listed in header of the queried class it is also possible
to get the interface by compile time type conversion:
"
type
{$interfaces corba}
iabc = interface
procedure a();
procedure b();
procedure c();
end;
tabc = class(tobject,iabc)
protected
procedure a();
procedure b();
procedure c();
end;
var
abc: tabc;
abcintf: iabc;
[...]
abcintf:= iabc(abc);
"
which has the best performace.
Martin
More information about the fpc-pascal
mailing list