wangph 发表于 2007-4-4 16:40:00

如何用VC语言调用COM组件?

<p>我现在有一个COM组件文件——****.DLL,里面含有一些函数,请问如何用VC语言调用这些函数呢?</p><p>函数格式如下:</p><p>long UID(char * uid); <br/>Parameters <br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; Uid&nbsp; 为一个字符串 <br/>Return Value&nbsp;&nbsp; <br/>0&nbsp; 成功, 保存到uid中 <br/>&gt;0&nbsp; 失败。 </p><p>VB的调用如下:</p><p>Private Sub Form_Load()<br/>&nbsp;&nbsp;&nbsp; Set DAM2PAppA1 = CreateObject("DAM2PAppCOM.DAM2PApp")<br/>End Sub</p><p>请VC高手给一个用VC调用long UID(char * uid)函数的例子,谢谢了!<br/></p>

wangph 发表于 2007-4-4 16:54:00

上面的COM组件文件中的函数中因为有指针参数,所以在用VLisp语言调用函数时不知道如何去定义,不知道哪位大哥知道VLisp语言中对指针参数如何处理,如果不能处理就只能用VC去调用了,所以提出以上问题,望VC高手给于指点。

sunmz_wjxy 发表于 2007-4-13 14:26:00

<p>使用VC的大至例子和VB的差不多.</p><p>1&gt;把所选的DLL,#import&lt;***.dll&gt;进来</p><p>2&gt;编译你的代码.</p><p>3&gt;你就会发现在Debug or Release文件里生成对应的***.tlh文件.</p><p>4&gt;查看此***.tlh,找到它的指针.定义此指针,如下:</p><p>&nbsp;ISldWorksPtr&nbsp;m_SldWorks;</p><p>&nbsp;&nbsp;&nbsp;hr = m_SldWorks.CreateInstance(CLSID_SldWorks);<br/>&nbsp;&nbsp;&nbsp;if (FAILED(hr))<br/>&nbsp;&nbsp;&nbsp;&nbsp;return S_FALSE;<br/>就可以使用此方法了.</p><p>VC使用COM,需要很深的知识.楼主可以看一下类似的书.</p>
页: [1]
查看完整版本: 如何用VC语言调用COM组件?