如何用VC调用其它语言写的DLL文件,此DLL应该是个COM,最好能给个例子
asp的调用方法
<%
'//***********开始***********
'//author:allen
'//last update date:2004/12/24
'//建立实例
Set funcname= Server.CreateObject("dllname.funcname")
''//生成缩略图
call funcname.funcname(source,120,90,target)
'//注销实例
set funcname=nothing
'//***********结束***********
%>
知道DLL中的函数名,
VC中应该如何调用?谢谢。
问题点数:0、回复次数:3Top
1 楼xhncmec(小王)回复于 2005-04-02 02:20:31 得分 0
通常给脚本语言用的COM组件一般是晚绑定,它不需要知道有关接口IYourInteface的任何信息(包括IID和类型信息),VC客户代码如下:
CLSID clsid;
LPCLASSFACTORY pClf;
LPUNKNOWN pUnknown;
if ((::CLSIDFromProgID(L"progid", &clsid)) != NOERROR)
{return;}
if ((::CoGetClassObject(clsid, CLSCTX_SERVER,NULL, IID_IClassFactory, (void **) &pClf)) != NOERROR)
{return;}
pClf->CreateInstance(NULL, IID_IUnknown, (void**) &pUnknown);
IDispatch *pItf;
HRESULT hResult = pUnknown->QueryInterface(IID_IDispatch, (void **)&pItf);
if (SUCCEED(hResult)) {
LPOLESTR methodName = L"Method1";
DISPID dispID;
hResult = pItf->GetIDsOfNames(ID_NULL, &methodName, 1, lcid, &dispID);
if (SUCCEED(hResult)) {
// 参数准备
pItf->Invoke(dispID, ID_NULL, lcid, DISPATCH_METHOD, ...);
...
}
...
}
Top
2 楼xiaoyuzi(小鱼子)回复于 2005-04-02 11:11:06 得分 0
用#import "*.dll"
网上介绍这个很多的Top
3 楼hotalpha(iSystem)回复于 2005-04-02 11:29:58 得分 0
楼上的能不能给全啊,晕Top




