idl

idl文件转java代码

扶醉桌前 提交于 2019-12-07 10:28:08
之前需要调后台接口中的方法,向后台人员咨询,丢给我一个idl文件,刚拿到不知道怎么搞,经过查找资料,原来这个idl文件是可以转成java代码的,然后导入到项目中编译。 那怎么才能把idl文件转java代码呢? 我的方法是使用jdk的指令完成。 1、找到jdk的目录 2、把需要转换的idl文件到bin目录下 3、打开cmd,进入到jdk的bin目录 4、输入指令 idlj -td 文件夹名称 xxx.idl 5、然后在bin目录下就看到这个文件啦,里面就是转换好的java代码 来源: CSDN 作者: wzuden 链接: https://blog.csdn.net/wzuden/article/details/52251099

CORBA 编译idl文件所产生的文件名与ORB无关

随声附和 提交于 2019-12-07 10:27:51
对idl文件进行编译时,需要将这个idl文件名作为参数来调用编译器,如果用OmniORB编译器则命令为:omniidl -bcxx time.idl(假设idl文件名为time.idl)。用不同的编译器,命令可能有所不同。 如果idl定义没有什么错误,你将在当前的目录中发现若干新的文件(这些文件名与ORB无关,所以你可能看到在不同的编译器中生成不同的文件名和文件个数)。 来源: CSDN 作者: ljg888 链接: https://blog.csdn.net/ljg888/article/details/6537322

idl文件,tlb文件 COM调用

泪湿孤枕 提交于 2019-12-07 10:27:33
1 使用i.h,i.c ,或者tlb文件 注册dll 然後調用 hrInit = ::CoInitializeEx(NULL, COINIT_APARTMENTTHREADED); if (SUCCEEDED(hrInit) || RPC_E_CHANGED_MODE == hrInit) { hr = ::CoCreateInstance( CLSID_MyComClass , NULL, CLSCTX_INPROC_SERVER, IID_IMyComClass , (void**)& pMyCOM); if (NULL != pMyCOM) { hr = pMyCOM->Add(2, 564); pMyCOM->Release(); pMyCOM = NULL; } if (SUCCEEDED(hrInit)) { ::CoUninitialize(); } 2 idl文件生成其他文件 MIDL D:\MyCOM.idl /tlb D:\MyCOM.tlb /h D:\MyCOM_i.h /iid D:\MyCOM_i.c /Oicf 3 跨语言 注册dll #import "..\..\comtest\comtest\Debug\comtest.tlb" named_guids ,no_namespace,raw_interfaces_only, raw_native

将IDL项目创建在现存的pro文件的文件夹内

只谈情不闲聊 提交于 2019-12-07 10:27:24
将IDL项目创建在现存的pro文件的文件夹内 在使用IDL时经常会碰到这样一种情况:我有已经编写好的pro代码,而且这里面没有项目文件,但是IDL在工作空间中使用“导入”功能时,需要将pro代码导入到指定的工作空间的项目内,而无法直接使用我在文件系统里指定的pro代码,对于我这种有点强迫症的人来说这确实是一件蛮抓狂的事情,因为我想基于我自己的文件结构建立整个IDL项目。 经过一阵的摸索,提供一种解决思路: 1、文件系统中仅有pro代码,之前并未创建项目 - 在文件系统中建立一个文件夹A用于存放pro文件 - 使用IDL建立一个工作空间,工作空间目录为文件夹A的上一级 - 在项目资源管理器中删除“default”项目 - 随后在项目资源管理器中新建工程,位置为“在当前工作台中创建新的IDL工程”,工程名称为文件夹A的名称,这样文件夹A的所有pro代码均被导入到工作空间中 2、文件系统中有pro代码,之前创建过项目 待续 来源: CSDN 作者: 井上小园 链接: https://blog.csdn.net/Bevanst/article/details/51857982

.idl文件解析

纵饮孤独 提交于 2019-12-07 10:27:10
1、以下是vs2015 ATL项目(名称为:atlib)生成的idl文件: // atlib.idl : atlib的 IDL 源 // // 此文件将由 MIDL 工具处理以 // 产生类型库(atlib.tlb)和封送处理代码。 import “oaidl.idl”; import “ocidl.idl”; [ object, //指明com对象 uuid(FCF44EA5-5E02-44CB-8531-06A1A9C24360), //接口的uuid dual, //双重接口 nonextensible, pointer_default(unique) ] //接口定义 interface Ifcom : IDispatch{ [id(1)] HRESULT Add([in] LONG para1, [in] LONG para2, [out, retval] LONG* result); //接口函数 }; [ uuid(91EA5B3C-B774-4E24-BD20-21B191A1C131), version(1.0), ] //atlib库的uuid library atlibLib { importlib(“stdole2.tlb”); [ uuid(4323D8F3-9C80-4AF2-9370-CC29A3F043B5) ] // fcom的clsid

Idl文件编译成c++头文件

时光毁灭记忆、已成空白 提交于 2019-12-07 10:26:41
如何使用本机上的一个activeobject呢,首先用vs自带的ole/com object viewer查看你想要的object。 生成出idl文件。那么对于c/c++开发的人员应该怎么使用这个东西呢。首 先我们需要要idl文件转换成.h文件,你可以使用midl命令生成,可以用一种简单的方法:就是将idl文件加入到工程项目中,然后右键属性在output中生成文件即可。 有了头文件之后,我们就可以在工程中直接使用了。在这里我是以阿里旺旺为例子说明的。下面是一小段测试代码。 CoInitializeEx(NULL, COINIT_MULTITHREADED); IUnknown* pUnknown = 0; IWangWangX* pWangWangX = 0; HRESULT hr = CoCreateInstance( CLSID_WangWangX, // COM class id NULL, // outer unknown CLSCTX_INPROC_SERVER, // server INFO IID_IWangWangX, // interface id (void**)&pWangWangX ); // pointer to inter if (hr != S_OK) return 0; pWangWangX->Release(); CoUninitialize();

c++中的idl文件

喜欢而已 提交于 2019-12-07 10:26:26
最近研究的需要,在研究一些源代码。源代码是用C++写的,遇到一种idl文件。下面写写idl文件的相关内容: I nterface D escription(or D efinition) L anguage,即接口描述语言,是用来描述组件接口的一种规约语言。它实现了接口描述对于编程语言的独立性,方便了不同语言实现的组件的通信。IDL广泛用于远程过程调用(Remote Procedure Call)中,充当了连接不同系统的桥梁的角色。 基于IDL的软件系统包括可以参考 这里 。 来源: CSDN 作者: ryan_pei 链接: https://blog.csdn.net/u010626881/article/details/8986667

IDL文件模版

心不动则不痛 提交于 2019-12-07 10:21:40
<span style="font-family: Arial, Helvetica, sans-serif;">上周接触了COM,并且自己照着别人的代码仿照了几个COM,记录一下IDL文件的规则,做一个模版方便以后再写</span> <span style="font-family: Arial, Helvetica, sans-serif;"> </span> // complete IXXX.idl file import "oaidl.idl"; import "ocidl.idl"; cpp_quote("#ifndef _Included_IXXX_idl_") cpp_quote("#define _Included_IXXX_idl_") cpp_quote("#endif // _Included_IXXX_idl_") // Interface IXXX [ object, uuid(......), helpstring("IXXX Interface"), pointer_default(unique), ] interface ICmrCaContextMenuModel : IUnknown { HRESULT FunctionName( [in] TypeName in_parameter, [out, retval] TypeName out_and

接口定义语言IDL,COM

北城以北 提交于 2019-12-07 09:49:11
接口定义语言MIDL:Microsoft Interface Definition Language。 MIDL是定义COM接口的说明性语言。是一种独立于语言的接口定义方式,从而产生RPC(Remote Procedure Call,远程调用过程)处理和实现接口定义的COM的服务。 COM服务器的三个关键要求: 1、接口(Interface) 客户端访问服务器的入口,即通过接口调用服务器函数 2、组件类(CoClass) 接口的具体实现 3、类型库(Type library) 编译的IDL文件,向支持COM的环境传送接口的信息 IDL文件实例 import "oaidl.idl"; [ object, uuid(57140480-CB78-11d2-91A6-0008C7FE9130) ] interface IFirstInterface : IUnknown { HRESULT DoSomething(); }; [ uuid(57140482-CB78-11d2-91A6-0008C7FE9130), version(1.0) ] library FirstTypeLib { importlib("stdole32.tlb"); [ uuid(57140483-CB78-11d2-91A6-0008C7FE9130) ] coclass FirstComponent {

IDL接口描述语言和COM接口COM组件

此生再无相见时 提交于 2019-12-07 09:48:04
接口描述语言(Interface description language,缩写 IDL ) c++写的接口,只能c++和c识别,为了接口的通用性,让所有的语言都通用的定义使用接口 引入IDL,使用IDL定义接口以后,用MIDL编译为c++可用的接口定义 接口描述语言 - IDL(Interface Definition Language ) 1 IDL和MIDL IDL - 定义接口的一种语言,与开发 语言无关. MIDL.EXE - 可以将IDL语言定义接口, 编译成C++语言的接口定义 2 IDL的基础 IDL接口定义方式: 在项目中添加**.idl文件,在文件中: 1导入idl import "XXXX.idl" 2定义属性 [ attribute ] 3定义接口 interface A : interface_base { } 编译后生成三个文件 **_h.h 接口头文件 **_i.cpp 接口GUID **_p.cpp 远程调用相关,代理层 2.1 Import 导入IDL文件,相当于C++的 #include 2.2 使用"[]"定义区域,属性描述 关键字,描述接口GUID等信息 1) object - 后续是对象 2) uuid - 定义对象GUID 3) helpstring - 帮助信息 4) version - 版本 5) point_default -