• 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 > 关于用MFC制作ActiveX控件时方法中参数及返回值类型的设置!急切求救!!!

关于用MFC制作ActiveX控件时方法中参数及返回值类型的设置!急切求救!!!

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

佚名通过本文主要向大家介绍了 关于用MFC制作ActiveX控件时方法中参数及返回值类型的设置!急切求救!!!等相关知识,希望对您有所帮助,也希望大家支持linkedu.com www.linkedu.com
问题: 关于用MFC制作ActiveX控件时方法中参数及返回值类型的设置!急切求救!!!
描述:

用MFC制作ActiveX控件时,方法中参数以及返回值类型在MFC ClassWizard中就给了那几种,我想问问各位大侠能不能自己设置这些类型?我想在我的方法中参数和返回值的类型都时“字符串数组”类型,该怎么实现啊??谢谢先!!!!!


解决方案1:

用VARIANT或者VARIANT*作参数,里面塞上SafeArray的指针,用SafeArrayCreateVector
SafeArrayPutElement,SafeArrayGetElement,SafeArrayDestroy操作SafeArray
SafeArray的元素为BSTR

解决方案2:

ActiveX控件由于它的通用性,类型有所限制.
BSTR、LPSTR和LPWSTR
  在Visual C++.NET的所有编程方式中,我们常常要用到这样的一些基本字符串类型,如BSTR、LPSTR和LPWSTR等。之所以出现类似上述的这些数据类型,是因为不同编程语言之间的数据交换以及对ANSI、Unicode和多字节字符集(MBCS)的支持。
  那么什么是BSTR、LPSTR以及LPWSTR呢?
  BSTR(Basic STRing,Basic字符串)是一个OLECHAR*类型的Unicode字符串。它被描述成一个与自动化相兼容的类型。由于操作系统提供相应的API函数(如SysAllocString)来管理它以及一些默认的调度代码,因此BSTR实际上就是一个COM字符串,但它却在自动化技术以外的多种场合下得到广泛使用。图1描述了BSTR的结构,其中DWORD值是字符串中实际所占用的字节数,且它的值是字符串中Unicode字符的两倍。
  LPSTR和LPWSTR是Win32和VC++所使用的一种字符串数据类型。LPSTR被定义成是一个指向以NULL(‘\0’)结尾的8位ANSI字符数组指针,而LPWSTR是一个指向以NULL结尾的16位双字节字符数组指针。在VC++中,还有类似的字符串类型,如LPTSTR、LPCTSTR等

解决方案3:

[in] BSTR inbstr,[out, retval] BSTR* pVal


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

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

相关文章

  • 2017-06-04 我听说vc以后要逐渐转向ATL,不用MFC,是不是真的
  • 2017-06-04 OFFICE2007都用XML了,复合文档现在用的还多吗?VC++技术内幕第六版也没这一章了,除了OFFICE2003还有什么软件是用复合文档啊?
  • 2017-06-05 调用dll中的函数地址错误问题
  • 2017-06-04 newoperator和malloc函数在分配内存时有区别吗?
  • 2017-06-05 怎样设置socket的超时时间?怎样进行多线程非阻塞socket编程?
  • 2017-06-05 在技术内幕这本书里面的扩展名为ogx为组件?怎么用?
  • 2017-06-04 高手请进,利用com动态合并菜单
  • 2017-06-05 关于CloseHandle
  • 2017-06-04 CoCreateInstance的参数CLSID和riid从什么地方得到?
  • 2017-06-04 请问如何在mfc中打开图片后显示两张图?

文章分类

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

最近更新的内容

    • 有谁知道Word的命令格式(程序与Word通过DDE进行通讯)?谢谢!
    • 紧急求救:在VC中调用Java编的class组件
    • VC环境代码变色
    • 知道一个进程ID怎样得到它的句柄
    • 在页面访问ActiveX控件问题
    • 请教高手:在COM中接口方法需传一个struct数组,要求支持自动化,请问该如何传递?
    • 这段程序怎么用??
    • ActiveX控件创建FormView报错!!!
    • 无窗口windowless的Atl编写ActiveX怎么响应TAB或方向键激活
    • 使用sprintf函数,报错如下:LNK2001:unresolvedexternalsymbol_main,怎么办

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

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