• 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 > 很简单的一个问题,100分相送,在线等待~~

很简单的一个问题,100分相送,在线等待~~

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

佚名通过本文主要向大家介绍了等待问题,等待戈多在线阅读,等待哈金在线阅读,15年等待候鸟在线观看,自爱无须等待在线阅读等相关知识,希望对您有所帮助,也希望大家支持linkedu.com www.linkedu.com
问题: 很简单的一个问题,100分相送,在线等待~~
描述:

我要往COM里面传递字符串,应该怎么样定义?我没写过这玩意儿,我们老大逼我搞一个出来~~
我是这样定义的
STDMETHOD (PrintOpen)(BSTR );//传递参数打开串口
我在实现函数这样写的。
STDMETHODIMP CPrintEx::PrintOpen(BSTR port = _bstr_t("com1"))
{
// TCHAR *szPort = ConvertBSTRToString(port);
LOGERR(LOGFILE,TEXT("PrintOpen has been called! The parm is %s\n"),port);
if(!com.Open((TCHAR*)port))
return S_FALSE;
return S_OK;
}
LOGERR是一个写日志文件的函数,作用就是为了察看传递的参数是否正确
当我在Web上调用的时候,日志文件写入的传递参数是错误的
//Web页面调用的代码
<HTML>
<HEAD>
<META NAME="GENERATOR" C /> <TITLE></TITLE>
<SCRIPT ID=clientEventHandlersVBS LANGUAGE=vbscript>
<!--
Sub button1_onclick
DOcxtest1.printopen ("com1")
End Sub
-->
</SCRIPT>
</HEAD>
<BODY>
<P>
<INPUT id=button1 type=button value=Button name=button1>
<OBJECT id=DOcxtest1 classid=clsid:6622E24C-A348-4B33-AD1A-C9667A1B6ED7 CODEBASE="printdll.CAB">
</OBJECT>
</P>
</BODY>
</HTML>
下面是生成的日志
2004-09-11 21:13:15 PrintOpen has been called! The parm is c
参数传递的是Com1,可是接收到的只是c
我写日志文件的函数,里面的处理时使用wsprint传递到一个TCHAR数组中的。
请问在Com中,应该如何传递字符串才是正确的,是否定义的时候应该是BSTR *呢?


解决方案1:

char* p = (char*)(_bstr_t)(BSTR param);
p就是一个指向c风格字符串的指针

解决方案2:

COM中应该传BSTR, 在ASP中应该把类型强制转换成CStr()

解决方案3:

需要类型转换的。


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

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

  • 服务问题---在线等待,立马给分!
  • 问题,解决100分立刻就送,(在线等待,马上结帖
  • 奇怪,这问题真是奇怪!!!在线等待
  • 调试出了一个这样的问题(在线等待)
  • 问一个很菜的问题,在线等待!
  • 关于两个工程的融合问题,在线等待
  • 一个紧急的问题,在线等待解决!
  • 一个很菜的问题急呀,在线等待
  • 一个紧急的问题,在线等待解决!
  • 另一怪问题?在线等待

相关文章

  • 2017-06-04 VC自定义控件的删除
  • 2017-06-05 多线程如何共用一个变量?
  • 2017-06-04 VB编的Com组件在ASP环境下与在应用程序下使用的问题
  • 2017-06-05 关于mapi的使用,总是显示“传递邮件未能传递信息”的错误
  • 2017-06-04 晕死,如何手动注册一个COM组件
  • 2017-06-04 关于注册com组件的问题
  • 2017-06-04 com接口调用的问题
  • 2017-06-04 我用VC的atl开发了一个activex控件,在里面我定义了一个方法供外部的javascript调用不过,不过IE总提示不安全
  • 2017-06-05 系统集成时关于商业软件与自编软件的数据交换接口实现问题
  • 2017-06-05 大家帮我看一下下面的代码安全吗,谢谢了

文章分类

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

最近更新的内容

    • 请问我用sapi,中的tts已经实现语音播放,但是如何实现语音循环播放?
    • 各位官人看过来,小生有个问题########################
    • 请问怎么把项目中所需的DLL的目录添加到VCNET中?
    • 关于DATAGRID控件删除记录的问题
    • 做控件刚入门,有些问题请教:
    • OLE编程:MFC自动化控制PPT的错误,急求解决!!立刻给分!!
    • 请:oyljerry→进来接分(请板主保留一天谢谢)
    • quicktime的activex控件??
    • 如何添加WINDWOWSMEDIAPLAYER控件并播放啊?谢谢
    • 用atl制作ActiveX控件的问题

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

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