我正在根据C ++中的https://github.com/earthquake/UniversalDVC/tree/master/UDVC-Plugin将RDS(又称为终端服务)中的动态虚拟通道的代码从C ++转换为Delphi。这需要几个类来注册客户端插件,并且我在Windows系统上的tsvirtualchannels.h
的{{1}}和.idl
中找到了定义。
不幸的是,C:\Program Files (x86)\Windows Kits\10\Include\10.0.17763.0\um
文件不包含类型库,因此我无法构建类型库.idl
文件并导入该文件,因此我一直在Delphi中手动创建它。
Embarcadero使用.tlb
文件,该文件与idl文件相似但不完全相同。 .ridl
文件中的属性之一是.idl
。例如
cpp_quote("string")
Ridl不支持cpp_quote,所以我不确定如何处理。
答案 0 :(得分:1)
midl.exe
(来自Windows SDK)应该能够从tlb
文件生成idl
。
如果idl
文件中没有库定义,则可以自己添加一个库,如Hans Passant在对this question的回答中所解释的那样。