关于delphi在DLL中使用TStyleManager加载皮肤ListView的问题
来源:互联网 发布:白银理财投资数据分析 编辑:程序博客网 时间:2024/06/01 08:15
DLL中的窗体嵌入到主程序的Panel中,一旦使用皮肤后,退出过程中程序全面崩溃,不使用皮肤没有任何的问题,不知道为什么,想着死马当着活马医,找到关键点,加上异常处理算了,自己水平可能有问题,调试到最后竟然跟踪到System.Classes单元的
{ Standard window procedure }function StdWndProc(Window: HWND; Message: UINT; WParam: WPARAM; LParam: WPARAM): LRESULT; stdcall;{$IF Defined(CPUX86)}{ In ECX = Address of method pointer }{ Out EAX = Result }var i,z,a:Integer ;asm XOR EAX,EAX PUSH EAX PUSH LParam PUSH WParam PUSH Message MOV EDX,ESP MOV EAX,[ECX].Longint[4] PUSH EBX MOV EBX,[ECX].Pointer MOV I,EBX MOV Z,ECX MOV a,EAX POP EBX CMP [ECX].Pointer,0 JE @j CALL [ECX].Pointer @j: ADD ESP,12 POP EAXend;函数,上面的函数是我自己调试的时候修改过的,本来想着既然是
CALL [ECX].Pointer出错,调试过程中也提示什么0地址,就想着加一个判断,但是调试到最后根本不是那回事,ecx好像不是0,后来又加上
MOV I,EBX MOV Z,ECX想看看结果,也没看出个所以然,无意中又加入了
MOV a,EAX想着随便看看EAX的值吧,但是加上后就发现怎么回事,不出错了,程序正常了,无语啊,看着这个函数是一个消息处理函数,这样瞎弄以后也不知道有什么后果,
反正程序暂时正常了,为什么那????????????????????????????
郁闷中......................................................
0 0
- 关于delphi在DLL中使用TStyleManager加载皮肤ListView的问题
- DLL中使用DevExpress 皮肤 的问题
- Delphi DevExpress VCL DLL窗体皮肤加载问题?
- 在DLL中使用了Devexpress控件的皮肤
- 在delphi中,DLL加载时做初始化的Demo
- 关于在DELPHI中FOR循环语句的使用问题
- 在Delphi中使用DLL
- delphi中dll的使用
- DLL在跨平台之间的使用中遇到的问题(以delphi中开发的dll,在vc中使用为例)
- 关于DLL加载的问题
- 在Android中关于ListView的使用
- 在DELPHI应用程序中使用DLL
- 在DELPHI应用程序中使用DLL
- 在Delphi应用程序中使用DLL
- 解决在log4net 中使用sqlite 无法加载“SQLite.Interop.066.DLL ”的问题
- 关于emgu cv中无法加载cxcore110.dll的问题
- 关于在listView中加载不同的条目
- 在DLL中使用DevExpress的问题
- 【杭电OJ从头刷】HDU1000
- C++笔试常考题 虚函数
- csdn markdown 使用说明
- 【java基础 14】锁的粒度:ThreadLocal、volatile、Atomic和Synchronized
- 字符串和数字的转换
- 关于delphi在DLL中使用TStyleManager加载皮肤ListView的问题
- 微信小程序_选项卡切换事例美容商城
- mysqldump 数据自动备份的使用
- 程序设计竞赛的十年
- android 反编译App的方法和工具
- 翻译《有关编程、重构及其他的终极问题?》——13.表格化的格式化
- Android自定义控件之《折线图的绘制》
- 一起学习如何使用Photoshop绘制像素图片
- 从BRD开始