Fyi 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; __MIDL___MIDL_itf_ads_0000_0000_0002 = packed record dwLength : LongWord; lpValue : PByte; end; 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. end; _______________________________________________ fpc-devel maillist - fpc-devel@lists.freepascal.org http://lists.freepascal.org/mailman/listinfo/fpc-devel