How do i import an Interface Definition Language (idl
) file into Delphi; converting the types and interfaces to a pascal file?
I've tried:
.idl
text file to the projectusing Embarcadero's GenTLB tool: Fails (which makes sense, as GenTLB it doesn't support IDL, only "RIDL"):
D:\>gentlb d:\develop\avatar\pdb\source\import\CorSym.idl
Embarcadero GenTLB Version 12.16581
Copyright(c) 1995-2010 Embarcadero Technologies, Inc.
Opening 'd:\develop\avatar\pdb\source\import\CorSym.idl'
***ERRORS*** - 3 errors encountered:
Error E0001 CorSym.idl 14: 'library' expected, found 'cpp_quote' instead
Error E0001 CorSym.idl 49: Type keyword expected, found 'const' instead
Error E0001 CorSym.idl 63: '<EOF>' expected, found 'module' instead
You can use a two stage process with Embarcadero tools:
gentlb
to create a type library from your IDL file.tlibimp
to create a Pascal import file from the type library.I personally use gentlb
to make a type library from an Embarcadero IDE generated .ridl file. I believe that .ridl is an Embarcadero flavour of IDL that is not compatible with standard MS IDL. If you have IDL of the MS flavour then you'd use the MS IDL compiler to generate the type library.