社区
界面
帖子详情
一个关于剪贴版的问题 -=100分=-
Colin-Han
2003-10-27 10:50:06
我的一个程序,需要访问剪切版,所以使用了下面的代码:
COleDataObject obj;
if (obj.AttachClipboard())
{
if(obj.IsDataAvailable(CF_TEXT))
{
.....
}
}
但是在使用中,功能可以实现,但是在这段代码所在的函数退出时,会发生一个错误(chkesp.h),错误的大概意思是:使用了一个不同的调用转换(Calling convention)
那位兄弟知道是为什么?
...全文
65
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
52.响应式
剪贴
蒙
版
视差滚动效果
效果 (源码网盘地址在最后) 视频演示 「前端编程实战 52」HTML+CSS3 实现响应式
剪贴
蒙
版
视差滚动效果 视频地址一:https://www.ixigua.com/i6841112747518722568/ 视频地址二:https://www.bilibili.com/video/BV1hv411677o/ 源码 index.html <!DOCTYPE html>
图层蒙
版
vs
剪贴
蒙
版
:PS合成照片时到底该用哪个?(含实操对比)
本文深入解析Photoshop中图层蒙
版
与
剪贴
蒙
版
的核心区别与适用场景。通过天空替换和服装添加图案等实战案例对比,阐明图层蒙
版
擅长柔和的图像融合,而
剪贴
蒙
版
则用于内容精准贴合形状。文章提供了清晰的决策框架,帮助用户在照片合成时高效选择正确工具,提升工作效率与合成效果。
小程序实现
剪贴
蒙
版
样式效果
日常开发中,我们经常遇到
剪贴
蒙
版
样式的进度条效果,通过限制上方图层的显示长度,达到视觉差的效果。代码里主要通过overflow:hidden的属性,元素的内容若超出了给定的宽度和高度,那么超出的部
分
将会被隐藏。 例如: 这张图可以
分
为三层, 最低层的背景色+加上底部的文字 中间层是张进度条的图片,根据不同进度长短覆盖在底层上面 最上面还有一行白色的文字,位置跟底层的文字重合,通过限制长度部
分
...
PP
剪贴
板突破系统限制,免费实现无限
剪贴
板记录与高效管理
在日常电脑操作中,复制粘贴(Ctrl+C 和 Ctrl+V)堪称每位用户的“高频刚需”,无论是办公文档编辑、设计素材整理,还是代码编写调试,都离不开这一基础功能的支持。然而,Windows自带的
剪贴
板功能存在明显短板——仅能存储25条记录且重启后自动清空,导致大量历史内容丢失,操作效率大打折扣。
PhotoShop图层蒙
版
完全指南:从照片合并到高级合成(含
剪贴
蒙
版
彩蛋)
本文深入解析Photoshop图层蒙
版
的核心原理与实战应用,涵盖从基础照片合并到高级合成的完整工作流。通过理解“黑透白不透”的非破坏性编辑哲学,结合画笔、渐变及“选择并遮住”等工具,实现图像的无缝融合与复杂边缘处理。文章还揭秘了
剪贴
蒙
版
的创意用法,如为衣物添加纹理,并提供了提升效率的快捷键与高级技巧,助您精准掌控合成艺术。
界面
15,976
社区成员
115,866
社区内容
发帖
与我相关
我的任务
界面
VC/MFC 界面
复制链接
扫一扫
分享
社区描述
VC/MFC 界面
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
暂无公告
试试用AI创作助手写篇文章吧
+ 用AI写文章