• linkedu视频
  • 平面设计
  • 电脑入门
  • 操作系统
  • 办公应用
  • 电脑硬件
  • 动画设计
  • 3D设计
  • 网页设计
  • CAD设计
  • 影音处理
  • 数据库
  • 程序设计
  • 认证考试
  • 信息管理
  • 信息安全
菜单
linkedu.com
  • 网页制作
  • 数据库
  • 程序设计
  • 操作系统
  • CMS教程
  • 游戏攻略
  • 脚本语言
  • 平面设计
  • 软件教程
  • 网络安全
  • 电脑知识
  • 服务器
  • 视频教程
  • JavaScript
  • ASP.NET
  • PHP
  • 正则表达式
  • AJAX
  • JSP
  • ASP
  • Flex
  • XML
  • 编程技巧
  • Android
  • swift
  • C#教程
  • vb
  • vb.net
  • C语言
  • Java
  • Delphi
  • 易语言
  • vc/mfc
  • 嵌入式开发
  • 游戏开发
  • ios
  • 编程问答
  • 汇编语言
  • 微信小程序
  • 数据结构
  • OpenGL
  • 架构设计
  • qt
  • 微信公众号
您的位置:首页 > 程序设计 >vc/mfc > 大家帮我看看这个DLL怎么调用?

大家帮我看看这个DLL怎么调用?

作者:佚名 字体:[增加 减小] 来源:互联网 时间:2017-06-04

佚名通过本文主要向大家介绍了迅雷看看lc.dll,迅雷看看rv40.dll,dll帮,c#调用dll,c#调用c dll等相关知识,希望对您有所帮助,也希望大家支持linkedu.com www.linkedu.com
问题: 大家帮我看看这个DLL怎么调用?
描述:

现在我手上有个COMDll.dll与COMDll.tlb文件,我通过添加ACTIVE控件的形式将COMDll.tlb添加到工程中,结果出现一个CCOMLink.h和CCOMLink.cpp
下面是CCOMLink.h前面的一段代码:
class CCOMLink : public CWnd
{
protected:
DECLARE_DYNCREATE(CCOMLink)
public:
CLSID const& GetClsid()
{
static CLSID const clsid
= { 0x59BE3F11, 0xF1F, 0x4EC0, { 0xA4, 0xCC, 0x75, 0x57, 0xDC, 0xA5, 0x3B, 0x16 } };
return clsid;
}
virtual BOOL Create(LPCTSTR lpszClassName, LPCTSTR lpszWindowName, DWORD dwStyle,
const RECT& rect, CWnd* pParentWnd, UINT nID, 
CCreateContext* pContext = NULL)
{ 
return CreateControl(GetClsid(), lpszWindowName, dwStyle, rect, pParentWnd, nID); 
}
    BOOL Create(LPCTSTR lpszWindowName, DWORD dwStyle, const RECT& rect, CWnd* pParentWnd, 
UINT nID, CFile* pPersist = NULL, BOOL bStorage = FALSE,
BSTR bstrLicKey = NULL)
{ 
return CreateControl(GetClsid(), lpszWindowName, dwStyle, rect, pParentWnd, nID,
pPersist, bStorage, bstrLicKey); 
}
// 属性
public:
// 操作
public:
BOOL OpenCOM(long Net, LPSTR COM, long BaudRate)
{
BOOL result;
static BYTE parms[] = VTS_I4 VTS_UNKNOWN VTS_I4 ;
InvokeHelper(0x2, DISPATCH_METHOD, VT_BOOL, (void*)&result, parms, Net, COM, BaudRate);
return result;
}
}
我在程序中如此调用函数,结果每次都出断言错误
/*初始化COM组件*/
CoInitialize(NULL);
AfxEnableControlContainer();
CRect rt;
GetClientRect(&rt);
m_pCISComLink = new CCOMLink();
BOOL bCreate = m_pCISComLink->Create("CCOMLink",NULL,WS_CHILD|WS_VISIBLE,rt,this,0,NULL);
BOOL bOpenCom = m_pCISComLink->OpenCOM(0,"COM1",9600);
发现bCreate 返回都是0,不知道那个Create的那个函数的各个参数怎么调用?小弟第一次做这种DLL调用没有经验,请各位大虾帮我看看,如果不是上面那种方式调用,请问我该怎么调用才能正常调用,分不够我可以加,谢谢,十万火急!


解决方案1:

nID参数是0,有没有跟其它子窗口的ID重复?

解决方案2:

改成:
  BOOL   bCreate   =   m_pCISComLink-> Create(NULL,"CCOMLink",WS_CHILD |WS_VISIBLE,rt,this,0,NULL); 


分享到:QQ空间新浪微博腾讯微博微信百度贴吧QQ好友复制网址打印

您可能想查找下面的文章:

  • 帮我看看下面这个DLL异常是什么意思
  • 大家帮我看看这个DLL怎么调用?

相关文章

  • 2017-06-04 com中类型的问题???
  • 2017-06-05 求助!一个自动访问数据库的程序
  • 2017-06-04 我的控件有时要在所有IE窗口关闭后才能卸载,能调用窗口关闭就卸载吗?谢谢!
  • 2017-06-05 建立新类后的调试错误!!!
  • 2017-06-04 急!!!谁知道怎么在Activex工程中动态加载webservice??谢谢
  • 2017-06-05 调试问题(毕业设计)
  • 2017-06-04 踏入IT行业的第一份工作=高兴+郁闷
  • 2017-06-05 ATLCOM的dll,全局引用计数在哪里
  • 2017-06-04 找InsideATL代码,提供有分,提供线索也有分
  • 2017-06-04 关于64位编译,使用水晶报表问题

文章分类

  • JavaScript
  • ASP.NET
  • PHP
  • 正则表达式
  • AJAX
  • JSP
  • ASP
  • Flex
  • XML
  • 编程技巧
  • Android
  • swift
  • C#教程
  • vb
  • vb.net
  • C语言
  • Java
  • Delphi
  • 易语言
  • vc/mfc
  • 嵌入式开发
  • 游戏开发
  • ios
  • 编程问答
  • 汇编语言
  • 微信小程序
  • 数据结构
  • OpenGL
  • 架构设计
  • qt
  • 微信公众号

最近更新的内容

    • 讨厌的重叠:我做的相同的ATL控件,在VC里设计时A在B上,但运行时B却跑到A上面了,哪位大侠知道是怎么回事吗?
    • 非继承自CWinThread的类能不能有CWinThread类的成员变量?
    • [请教]如何与当前ie窗口联系
    • 请教大侠们Socket线程问题
    • 请问如何获得commondialog对话框中用户选择的预览模式。
    • 一个关于InitializeCriticalSection的错误?
    • 为什么我的CSocket在主程序中可以Accept而在线程中却会出错!
    • ON_EVENT_RANGE不出啊
    • 急!急!急!Dll编译错误。。。。。高人指教
    • 高分求助,NetMeetingCOM组件的头文件在哪里??已经安装了NetMeetingSDK,救急啊~~!希望各位大哥指点~~!

关于我们 - 联系我们 - 免责声明 - 网站地图

©2020-2025 All Rights Reserved. linkedu.com 版权所有