AutoIt 大悲惨! windows7 64bit 被折腾了n久!!!!! ListView

我这个超级大笨蛋!!!!!!

每次编译 AutoIt 脚本都编译成 x64 版本, 然后写 第三方 32bit 的脚本. 

刚开始都没有问题的!

也完全没有意识到 64bit 32bit 的问题!

但是当涉及到:


_GuiCtrlListView_SetItemEx 这类函数,发现怎么都不起作用. 

设置 Item Text 只会使那个 Item 的字符变成空白!

我还自作聪明的以为 AutoIt 没有考虑到 跨进程SetText 需要打开目标进程,然后在对方的内存空间复制内容.

为此还深入 ListView.au3 一探究竟,结果发现Autoit 是处理过的,的确是在对方的内存空间复制内容.

然后百思不得其解, 

最后,自己写一个vc dll , 让autoit DllCall 解决这个问题.

还好,发现DllCall  无法调用这个 dll , 但是其他系统dll就可以!

突然想到,应该是这个 vc dll 是 32bit 的问题 . 

然后把脚本编译成 32bit , 发现可以顺利调用 vc dll

然后,然后!!!!!!!!!!!!!!!!!!!!

发现一切都正常了!!!!!!!!!!

原来就是32bit 的 问题 , 害的我调试了2天! 宝贵的两天!!!!!!


这种低级错误已经有好多次了. 说明!

千万不要怕麻烦,多尝试几个平台!

如果在多个平台上做,就不会有这个问题!

千万不要懒得不搭载平台!

多几台电脑,一起测试!!!!!


posted on 2011-11-23 16:54  norsd  阅读(273)  评论(0编辑  收藏  举报

导航