• 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 > http://communitycsdnnet/Expert/topic/4874/4874384xml?temp=988537本贴加分

http://communitycsdnnet/Expert/topic/4874/4874384xml?temp=988537本贴加分

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

佚名通过本文主要向大家介绍了 http://communitycsdnnet/Expert/topic/4874/4874384xml?temp=988537本贴加分等相关知识,希望对您有所帮助,也希望大家支持linkedu.com www.linkedu.com
问题: http://communitycsdnnet/Expert/topic/4874/4874384xml?temp=988537 本贴加分
描述:

由于本人一次最多只能出100分,所以再开一贴感谢各位大虾。问题真得很急。。。在线急等!


解决方案1:

对IDispatch 接口的实现 LPDispatch 属性:
http://www.itcomputer.com.cn/Programs/VC/COM/200512/10656.html

解决方案2:

//自定义结构体
typedef struct tagSNAPENVIRONMENT
{
CString str;
int     data;
}SNAPENVIRONMENT, FAR* LPSNAPENVIRONMENT;
//---------------------------------------
//传送自定义结构体
//---------------------------------------
//自定义结构体变量
SNAPENVIRONMENT     *pSnapEnvi;  
SAFEARRAY       FAR *pSafeArray = NULL;
//SAFEARRAY(我也不知道该怎么翻译这个东西自己可以查查MSDN)范围声明
//表示这个SAFEARRAY只能最多存放32个,当然可以改变它的大小让它存的更多
SAFEARRAYBOUND       dimension[1];
dimension[0].cElements = 32;
dimension[0].lLbound   = 0;
//创建SAFEARRAY
pSafeArray = SafeArrayCreate( VT_BSTR, 1, dimension );
//---------------------------------
//准备读取数据,将你要的自定义结构的数据按如下方式写入,必须这样写入
//---------------------------------
::SafeArrayAccessData( pSafeArray, (void HUGEP* FAR*)&pSnapEnvi );
for ( long i=0; i<32; i++ )
{
CString str;
str.Format("%d", i);
pSnapEnvi[ i].str = str;
pSnapEnvi[ i].data = i;
}
//---------------------------------
//写入结束保存
//---------------------------------
::SafeArrayUnaccessData( pSafeArray );
VARIANT val;
val.vt     = VT_ARRAY;
val.parray = pSafeArray;
//这样你就可以给你的控件添加这样一个VARIANT属性下面是怎么取到VARIANT中的数据
//----------------------------------------
//接收自定义结构体,也是就是把VARIANT数据类型转换成你所想要的结构体
//---------------------------------------
SAFEARRAYBOUND dimension[1];
SAFEARRAY FAR *pSafeArray = NULL;
dimension[0].cElements = 32;
dimension[0].lLbound   = 0;
pSafeArray = SafeArrayCreate( VT_BSTR, 1, dimension );
pSafeArray = val.parray;
//自定义结构体变量
SNAPENVIRONMENT     *pSnapEnvi;  
//读取自定义结构体数据
::SafeArrayAccessData( pSafeArray, ( void HUGEP* FAR* )&pSnapEnvi );
::SafeArrayUnaccessData( pSafeArray );

解决方案3:

http://www.vckbase.com/document/viewdoc/?id=1159
http://www.vckbase.com/document/viewdoc/?id=1506

解决方案4:

说了你不能直接传递你自定义的数据类型(类)
你只能通过VARIANT 来间接传递。
你在为控件定义属性的时候选择VARIANT类型,然后对VARIANT类型进行封装。
你能把你的那个类的定义给我看看吗?
如果你的类也有方法,那就要把类写成接口,如果只是传递简单数据就可以直接进行封装。
我要看了你的类 才知道具体怎么封装。


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

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

相关文章

  • 2017-06-04 IEBHO问题???
  • 2017-06-05 关于在线程中传递CString类型变量的问题
  • 2017-06-05 复合文档函数StgCreateDocFile里面的STG是什么的缩写?
  • 2017-06-04 VISTA下判断dll是否正在被使用
  • 2017-06-04 急!急!急!哪位好心人帮帮小弟?小弟万分感谢!!!!!!!!!!
  • 2017-06-05 急!!!求助!!!如何用API结束进程,一定给分
  • 2017-06-05 DLL組件釋放問題
  • 2017-06-04 请教:在VB中能够象Excel那样seta=GetOjbect;setb=aGetB的com实现
  • 2017-06-05 hook挂上后调用hook所在dll的exe能不能推出?
  • 2017-06-05 请问如何获得其他程序listctrl控件中某行的内容?真奇怪!

文章分类

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

最近更新的内容

    • 怎么截获文件夹分区的双击操作啊?
    • ActiveX返回结构体数组
    • 急问,如何控制多个线程访问同一资源的问题?
    • VC调用远程COM+组件
    • 在线程里可以初始化COM库CoInitialize吗?
    • ADO+多线程
    • 編譯時出現如下的報錯,怎麽囘事兒呢???
    • 用opencv自带的OpenCVStichlingLibrary做全景图拼接出现内存不足的现象
    • 火急!!!100分请教自定义结构传递问题
    • AfxBeginThread和CreateThread这两个函数有什么区别,分别用在什么场合?

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

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