• 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加上一个IDL接口之后在VB中调用会提示出错呢?(附有详细的IDL源文件)

为什么普通DLL加上一个IDL接口之后在VB中调用会提示出错呢?(附有详细的IDL源文件)

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

佚名通过本文主要向大家介绍了为什么普通DLL加上一个IDL接口之后在VB中调用会提示出错呢?(附有详细的IDL源文件)等相关知识,希望对您有所帮助,也希望大家支持linkedu.com www.linkedu.com
问题: 为什么普通DLL加上一个IDL接口之后在VB中调用会提示出错呢?(附有详细的IDL源文件)
描述:

import "oaidl.idl";
import "ocidl.idl";
[
uuid("EBCF2E5F-07AC-40a9-BE77-65BF567A8A47")
] 
library MyLib
{
[
uuid("BF30B2EF-B113-4b4f-B7C0-92E424C999AB"),
dllname("mynet.dll")
] 
module MyNetOp{
[
entry("StartUp")
]
void __stdcall StartUp(long hWnd);
[
entry("SignIn")
]
void __stdcall LogIn([in,string,max_is(255)]char *strUserName,
[in,string,max_is(32)]char *strPassword);
[
entry("SignOut")
]
void __stdcall LogOut(long nUserId);
[
entry("SendMobileMessage")
]
void __stdcall SendMobileMessage(long nUserId,
long nDestUserId,[in,string,max_is(100)]char *strContent);
[
entry("QueryMessageA")
]
BOOL __stdcall QueryMessage(long dwSeed,
[in,out,ref]struct TClientPacket *pPacket,
[in,out,string,max_is(nTitleLength)]char *strTitle,
long nTitleLength);
[
entry("QueryNotifyA")
]
BOOL __stdcall QueryNotify(long dwSeed,
[in,out,ref]struct TClientPacket *pPacket,
[in,out,string,max_is(nTitleLength)]char *strTitle,
long nTitleLength,
[in,out,string,max_is(nContentLength)]char *strContent,
long nContentLength);
[
entry("GetGroupInfo")
]
BOOL __stdcall GetGroupInfo(long dwSeed,
[in,out,ref]struct TClientPacket *pPacket,
[in,out,string,max_is(nGroupNameLength)]char *strGroupName,
long nGroupNameLength);
[
entry("GetFriendInfo")
]
BOOL __stdcall GetFriendInfo(long dwSeed,
[in,out,ref]struct TClientPacket *pPacket,
[in,out,string,max_is(nNickNameLength)]char *strNickName,
long nNickNameLength,
[in,out,string,max_is(nEmailLength)]char *strEmail,
long nEmailLength);
[
entry("GetCurGroupsCount")
]
int __stdcall GetCurGroupsCount(long dwSeed);
[
entry("GetCurFriendsCount")
]
bool __stdcall GetCurFriendsCount(long dwSeed,
[in,out,ref]long *pnGroupId,
[in,out,ref]long *pnFriendsCount);
//消息常量
typedef [public] enum MsgType{
SendToPc,
SendToMobile,
ServerNotify,
UpdateGroups,
UpdateFriends,
CurGroupCount,
CurFriendsCount
}MsgType;
typedef [public] struct TClientPacket{
enum MsgType Type;
int dwSenderId;
int dwTitleLength;
int dwContentLength;
byte strDestMobileNumber[20];
}TClientPacket;
}
} 
——————————————————————————————————
上面就是这个DLL的IDL文件,这个DLL是用VC写的,而且是标准的WIN32 DLL,本身没有使用COM,为了在VB中调用方便,特别做了这么一个IDL,很多文章都讲过用这样的方法来方便VB中访问WIN32 API函数,可是当我的VB测试程序访问其中公开出来的方法的时候却出现了异常,一共有两个,分别是:
运行是错误'-2147352560(80020010)':
Automation 错误
还有一个是
运行时错误'91':
未设置对象变量或With block 变量
我使用的时候直接从VB中选择引用该IDL产生的类型库,然后直接使用上面定义的方法了,哪位达人知道这是怎么回事啊?


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

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

相关文章

  • 2017-06-04 VC内嵌word,为什么没法添加图片?
  • 2017-06-05 Post不是IAccount的成员????
  • 2017-06-05 关于IE下使用embed标签的ActiveX控件问题
  • 2017-06-04 有关matlab&vc/c/c++接口问题II(急!急!!急!!!)
  • 2017-06-05 如何引用返回值为自定义结构的DLL中的函数?
  • 2017-06-05 如何强制关闭某操作?
  • 2017-06-04 DirectShowSourceFilterWMPlayer进度条只能显示一秒
  • 2017-06-04 我用SDK2000应用
  • 2017-06-04 dll中编写的类在测试程序中无法定位?请求各位大虾帮忙~
  • 2017-06-05 谁有修改EXE文件头信息,让其自动调用DLL的代码!给我一份好吗?

文章分类

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

最近更新的内容

    • 在dll中用SetTimer编译报告TimerProc定义错,我按msdn上定义的阿??
    • 请问如果要写一个在ASP网页中使用的COM,该选择哪个OBJECT啊?
    • 关于多线程的一个概念问题
    • 高手指点下串口接收数据的问题
    • MSCOMM控件的事件驱动使用问题
    • DllGetClassObject这个参数怎么找?
    • 关于COM调用
    • MFC的activex怎么引入对话框?
    • JS不能调用ActiveX控件方法
    • 急聘VC开发工程师上海,通讯信

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

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