[fpc-devel] importtl - importing typelib

Marco van de Voort marcov at stack.nl
Mon Dec 26 19:30:56 CET 2011


Recently, a type lib importer was added to FPC, made by Ludo.

I've played a bit, by running them against all TLBs on my, and in some of
the larger tlbs there are problems:

in activeds.tlb, there is a fragment that references non existing
identifiers that have "internal" naming:

ADSTYPEENUM = __MIDL___MIDL_itf_ads_0000_0000_0001;
     ADS_OCTET_STRING = __MIDL___MIDL_itf_ads_0000_0000_0002;
     P__MIDL___MIDL_itf_ads_0000_0000_0002 =
     __MIDL___MIDL_itf_ads_0000_0000_0002 = packed record
     dwLength : LongWord;
     lpValue : PByte;

Similarly, the huge mshtml (IE9) html had several failures. The first two
were fixable 

1. defining true=1 and false=0.
2. Somewhere a pointer type was referenced before definition (one line
lower) (same code fragment as (3), see below)
3. same problem as activeds, types that have "internal" names.

//records, unions, aliases
 wireHDC = P_RemotableHandle;             // problem  (2), only defined
						a line lower
 P_RemotableHandle = ^_RemotableHandle;

 _RemotableHandle = packed record
     fContext : Integer;
     u : __MIDL_IWinTypes_0009; // (3) unknown problem.

More information about the fpc-devel mailing list