• 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 > 简单问题,高分相送,online

简单问题,高分相送,online

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

佚名通过本文主要向大家介绍了win10高分屏问题,高分新托福阅读120,mpacc逻辑高分指南,高分起名软件,新东方高分奖合肥等相关知识,希望对您有所帮助,也希望大家支持linkedu.com www.linkedu.com
问题: 简单问题,高分相送,online
描述:

各位大哥大姐:
 我用safearray存了数据,代码如下:
   
VARIANT testdialog::getbarcodes()
{
    HANDLE  hCspText;           // handle to barcode text file
    char    szCspText[80];      // Barcode text
    DWORD   nCspTextLength;     // for loop index
    long nRetStatus; 
VARIANT  varValue;
nRetStatus = cspReadData();
// Create SafeArray of VARIANT BSTRs
SAFEARRAY *pSA;
SAFEARRAYBOUND aDim[1];    // a one dimensional array
aDim[0].lLbound= 0;  // Visual Basic arrays start with index 0
aDim[0].cElements= nRetStatus;
pSA= SafeArrayCreate(VT_VARIANT,1,aDim);  
         if (pSA != NULL) {
long aLong[1];
for (long l= aDim[0].lLbound; l< (aDim[0].cElements + aDim[0].lLbound); l++) { 
CspTextLength = cspGetBarcode(szCspText, l, sizeof(szCspText));
            // subtract out the null terminator
          VARIANT vOut;
VariantInit(&vOut);
vOut.vt= VT_BSTR;
BSTR b=_com_util::ConvertStringToBSTR(szCspText);
vOut.bstrVal=::SysAllocString(b); 
aLong[0]= l;  
hr= SafeArrayPutElement(pSA, aLong, &vOut);
if (FAILED(hr)) { // "correctly" copies VARIANT
VariantClear(&vOut);  // release BSTR from memory on error
SafeArrayDestroy(pSA); // does a deep destroy on error
// return hr;
}
VariantClear(&vOut);  // does a deep destroy of source VARIANT
} // end iteration
varValue.parray=pSA;
varValue.vt = VT_ARRAY|VT_BSTR;
}
return varValue;
}
然后在另一个函数中取数据,如下:
   void testdialog::Onread() 
{
VARIANT  v =getbarcodes();
if (v.parray&&VT_ARRAY)
{
AfxMessageBox("sss111111111111111111");
if (v.bstrVal&&VT_BSTR)
{
LONG LBound;
LONG UBound;
::SafeArrayGetLBound(v.parray, 1, &LBound);
::SafeArrayGetUBound(v.parray, 1, &UBound);
LONG Count = UBound - LBound  +1;
char temp[200];
ltoa(Count,temp,10);
                           AfxMessageBox(temp);
BSTR pvData ;
HRESULT hr;
hr=::SafeArrayAccessData(v.parray, (void **)&pvData);
if(FAILED(hr))
                AfxMessageBox("errorsss");
char * buf = _com_util::ConvertBSTRToString(pvData); 
CString ss=*pvData;
AfxMessageBox(ss);
AfxMessageBox("---------------");
::SafeArrayUnaccessData(v.parray);
}
}
}
为什么取不到正确的数据,老是为空,AfxMessageBox(ss)输出为空,但是在存数据时,可以看到数据确实读入了,vOut.bstrVal=::SysAllocString(b); 这里确实有数据,请各位高人帮忙,谢谢!!!在线等


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

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

  • 一个郁闷好久的问题高分求解在线等
  • 关于COM下的奇怪问题,高分求救!!
  • 简单问题,求救,200高分相送!
  • [高分求解简单问题]EXCEL为什么有些数据能读出来,有些读不出来。
  • 在线高分求解。为什么会出错,线程问题
  • 高分!求解关于钩子的问题
  • 高分求解一个奇怪的问题
  • 简单问题,高分相送!关于程序跟踪调试的问题!
  • 高分求助,杀死进程的问题
  • 高分请教!!!远线程编程中的具体问题!!!

相关文章

  • 2017-06-04 如何让控件读取数据库中的数据?
  • 2017-06-04 调用某个COM组件的方法,其中有一个参数是输出参数,是一个_RecordsetPtr用户获记录集,如果数据记录是空的时后程序当掉了……
  • 2017-06-05 为什么我在线程中创建一个对话框却没响应呢?
  • 2017-06-04 如何将文件以IStream流的形式打开,如何获得IStream指针??
  • 2017-06-04 救命:OCX控件的问题在线等待
  • 2017-06-05 有更好的技术取代ActiveX技术吗
  • 2017-06-05 我在一个自建的类中构造函数中用CreateEvent创建一个信号
  • 2017-06-04 使用MFC制作ActiveX控件,怎么导出函数?
  • 2017-06-05 各位大侠帮帮忙!一个多线程与数据库问题,已经想了好几天了up有分
  • 2017-06-04 怎么在BHO中获得IE的ICustomDoc接口?

文章分类

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

最近更新的内容

    • ocx控件当中如何接收从网页上传递过来的参数?
    • 求个TLS(线程本地存储)例子
    • WTL中GetModuleInstance与_tWinMain传入的不一样
    • 有没有已会c++,如何学会vc的发展路线阿?:)
    • 如何插入一个新的item到一个已经存在的SAFEARRAY中?
    • VC中如何将数据保存到Excel表?
    • Dll导出静态成员问题?
    • 用CreateProcess运行一个exe,如何设定该exe的工作路径
    • DLL中如何返回CStringArray
    • 如果让自己的COM组件能够返回ADO数据集(Delphi实现)

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

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