社区
界面
帖子详情
一个关于剪贴版的问题 -=100分=-
Colin-Han
2003-10-27 10:50:06
我的一个程序,需要访问剪切版,所以使用了下面的代码:
COleDataObject obj;
if (obj.AttachClipboard())
{
if(obj.IsDataAvailable(CF_TEXT))
{
.....
}
}
但是在使用中,功能可以实现,但是在这段代码所在的函数退出时,会发生一个错误(chkesp.h),错误的大概意思是:使用了一个不同的调用转换(Calling convention)
那位兄弟知道是为什么?
...全文
34
15
打赏
收藏
一个关于剪贴版的问题 -=100分=-
我的一个程序,需要访问剪切版,所以使用了下面的代码: COleDataObject obj; if (obj.AttachClipboard()) { if(obj.IsDataAvailable(CF_TEXT)) { ..... } } 但是在使用中,功能可以实现,但是在这段代码所在的函数退出时,会发生一个错误(chkesp.h),错误的大概意思是:使用了一个不同的调用转换(Calling convention) 那位兄弟知道是为什么?
复制链接
扫一扫
分享
转发到动态
举报
写回复
配置赞助广告
用AI写文章
15 条
回复
切换为时间正序
请发表友善的回复…
发表回复
打赏红包
Colin-Han
2003-10-30
打赏
举报
回复
呵呵,谢谢,看来是我的系统有问题了!!!!!!非常感谢!
MilitaryMiniatures
2003-10-29
打赏
举报
回复
我昨天的那段代码,就是在xp下运行的。
Colin-Han
2003-10-29
打赏
举报
回复
终于找到问题的所在了,原来是我的操作系统有问题,有没有人用的是WinXP,帮我试一下
在我的同事的Win2K的机子上运行就不出问题!!!!!更加的郁闷!!!!!
如果没有什么异议,明天结贴!!!!
Colin-Han
2003-10-29
打赏
举报
回复
我对这个问题的理解,应该是在作栈操作时产生错误了,(ESP是栈指针),而且,在跟踪调试的过程中也确实发现在调用obj.IsDataAvailable(CF_TEXT)函数后,栈指针(ESP)产生了8个字节的偏差(据我理解,在进行调用(汇编指令CALL)后,栈指针应该不变,否则程序调用会发生混乱,所以,我认为这里的程序确实存在问题,但是我不知道怎样解决,因为这个似乎是VC编译产生的错误。(当然,一般情况下如果一个程序员这样说,往往证明他没有将VC领会透彻:-)呵呵!!)
希望哪位高手能给我一点指点。请MilitaryMiniatures(++) 也跟踪一下你的测试程序,看看是否发生这样的错误,谢谢了!!!
Colin-Han
2003-10-29
打赏
举报
回复
所有的程序再CJ608的DevStudioUIDome中都是可以正常运行的,但是在我的项目中却不能正常运行,很奇怪,我使用调试察看他们编译后的汇编代码,发现两边的差别就是在调用了一个_chkesp函数,谁知道他是干什么的?
实在太苦闷了,我也觉得是项目设置有问题,但是我仔细比较了两个项目的设置,没有什么实质性的区别。
郁闷!!!!!!郁闷!!!!!郁闷!!!郁闷!!郁闷!!!!!!郁闷!!!郁闷!!!!!!!
MilitaryMiniatures
2003-10-28
打赏
举报
回复
不知道你的问题具体是什么,不过,我做了如下的测试代码,是没有问题的,供参考:
#include "AfxOle.h"
void CTestDlg::OnOk()
{
COleDataObject obj;
if (obj.AttachClipboard())
{
if (obj.IsDataAvailable(CF_TEXT))
{
STGMEDIUM stg;
if (obj.GetData(CF_TEXT, &stg))
{
LPCTSTR str = (LPCTSTR)::GlobalLock(stg.hGlobal);
if (str != NULL)
{
SetDlgItemText(IDC_EDIT1, str);
}
::GlobalUnlock(stg.hGlobal);
::ReleaseStgMedium(&stg);
}
}
}
}
注意,调用这段代码之前,需要进行OLE初始化,可以通过调用OleInitialize(NULL)来实现。
Colin-Han
2003-10-28
打赏
举报
回复
错误信息如下:
--------------------------------------------------------------------------
Debug Error!
Program: E:\Cajon\My Project\CCWD\Codes\ModelBase\Debug\ModelBase.exe
Module:
File: i386\chkesp.c
Line: 42
The value of ESP was not properly saved across a function call.
This is usually a result of calling a function declared with one calling convention with a function pointer declared with a different calling convention.
(Press Retry to debug the application )
Colin-Han
2003-10-28
打赏
举报
回复
谢谢大家的回答!
程序是在函数结束时发生错误的,但是我通过禁用其中部分代码的方法,发现只要注释掉下面的代码,程序就可以正常运行了。
if(obj.IsDataAvailable(CF_TEXT))
{
.....
}
所以,我认为问题是出在这里,请大家在帮帮我。而且程序中没有什么临时变量之类的东西。
to tserpent(Tang):
我已经检查过了,设置是正确的,但是还是出错
这一段代码是CJ608库的演示代码DevStudio中的一部分代码,在他原有的演示程序中一切正常,但是我的程序里面就不行,这段代码的具体位置为:
CJLibaray->DevStudioUIDemo->CHexEdit->OnContextMenu函数->第33行
tserpent
2003-10-28
打赏
举报
回复
有可能和你的工程的设置有关系,检查一下project-->setting-->c++->code generation-->calling convention, 是__stdcall,还是__cdcel. 我简单试了一下,没有出问题,我的__cdcel,mutilthread dll.
Colin-Han
2003-10-27
打赏
举报
回复
在线等待,一定结贴
flinming
2003-10-27
打赏
举报
回复
up
MilitaryMiniatures
2003-10-27
打赏
举报
回复
你是不是定义了临时变量?比如数组?然后数组操作越界了?把你省略部分的代码贴出来看看吧。
lsl7909
2003-10-27
打赏
举报
回复
AttachClipboard()这应该没没问题,COleDataObject析构函数自动释放。是不是其它的问题呢?
Colin-Han
2003-10-27
打赏
举报
回复
你说的是AttachClipboard吗?应该怎样Detach呢?好像没有DetachChipboard这个方法
flyhigh
2003-10-27
打赏
举报
回复
attach and detach
【李宁】鸿蒙2.0 App入门与实战
鸿蒙(HarmonyOS)OS是一款“面向未来”的操作系统,一款基于微内核的面向全场景的
分
布式操作系统,现已适配智慧屏,未来它将适配手机、平板、电脑、智能汽车、可穿戴设备等多终端设备。 2020年9月10日,华为鸿蒙...
【网络通信 -- WebRTC】项目实战记录 -- Chrome 启动参数总结
因此,所有其他过程必须有
一个
,以避免污染其配置文件。注意:#必须始终在[1,8]; 否则Windows预取器会忽略它。 3 --/prefetch:2 没有描述 4 --/prefetch:3 没有描述 5 --/prefetch:4 没有描述 6 --/prefetch:5 /...
html页面
100
%高度,CSS设计网页小技巧
100
%的高度
在前端人员之间有
一个
普遍存在的
问题
,如何让
一个
div的高度自动延伸到浏览窗口
100
%的高度。有一些不同的方法可以实现,但是,我想出了
一个
我个人比较喜欢的方法。今天,我将于你
分
享一下。我对你是不了解的,但我...
Linux 中 VIM 的使用
vim是Vi IMproved,是编辑器Vi的
一个
加强
版
。Vim/Vi是
一个
功能强大的全屏幕文本编辑器, 是Linux/UNIX上最常用的文本编辑器, 它的作用是建立、编辑、显示文本文件;Vi几乎支持所有的语言。Vim/Vi 没有菜单,只有命令。...
vue-element-admin项目
性能
分
析 webpack排除打包 CDN文件配置 注入CDN文件到模板 在nodejs环境中应用并代理跨域 使用koa框架部署项目 解决history页面访问
问题
解决生产环境跨域
问题
vue-element-admin 介绍 vue-element-admin 是
一个
后台...
界面
15,979
社区成员
115,896
社区内容
发帖
与我相关
我的任务
界面
VC/MFC 界面
复制链接
扫一扫
分享
社区描述
VC/MFC 界面
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
暂无公告
试试用AI创作助手写篇文章吧
+ 用AI写文章