上次加了STRICT后是不报歧义错误了,编译可以正常通过,但是在链接的时候会提示无法解析的符号,好像是implib的时候生成的lib不对的样子,最后检查了一下gdiplus.dll的版本号,发现当前系统的是5.1.3097.0(这个是有漏洞的版本),从m$网站上下载了最新的5.1.3102.1360(无漏洞)版本后,implib生成.lib,链接,没有问题了。
设计开发
S60 v3 SDK调用链接了ESTLIB.DLL的dll后的exe不能正常运行
连续试了HSS(Hekkus Sound System)和Tuny 2个sound library,都是这个错误,运行后在加载dll时就出错,stack trace:
关于SWT画半透明时用gc的setAlpha
由于gc的setAlpha会自动打开Advanced模式,相当于调用了setAdvanced(true),而这项操作意味着需要调用native的gdiplus.dll的函数,所以发布的时候如果客户端没有这个dll,就会在setAlpha的时候出异常。
C++ Builder 2007开始提供试用下载了
今天回家收信收到了CodeGear寄来的一封信,说CB2007已经提供试用下载了,马上到网站上查看,原来是和D2007一样的下载安装方式,先是一个小exe,然后漫长的在线下载安装。囧,今天累了,明天再说吧,硬盘也没那么多地方了……
加载PNG时的CImageDecoder和AO
加载png时创建CImageDecoder和AO的具体过程(下面的方法在decode的同时还根据png的alpha生成了mask做透明操作,但是不支持半透明alpha混合…):
Symbian C++ 的内联ARM汇编
每次用C/C++就有用inline assembler的冲动,尤其是这次的CPU是ARM,不同的指令集不知会有多少的相似之处,直接用原来的__asm习惯写法,结果,GCCE编译报错,不做盲目的尝试,直接狗狗,立刻得到答案:
PrivatePath引来的一个奇怪问题
最近在研究如何加载带alpha的png图片时遇到的这个问题,在模拟器上运行正常,图片也正常显示了,但是到了真机上程序就是不运行,后来用排除法补丁的build sis测试,最后错误定位到创建png解码器的时候,原因是找不到指定文件。
BitComet 0.61 去广告,去600k,显示地理位置修改
http://kloud.minidns.net/Projects/BitComet.rar
600K和广告是别人改的。
地理位置插件是自己做得。
只是Unicode版,ansi的应该可以直接挂进IPSearcher.dll。
似乎有别人也作了这个,不过好像使用了loader,估计原理都差不多。
PS:本来还想在gant,milk等美化上加上这个,无奈作者asprotect了(目前最讨厌的几个packer之一)