作者归档:raysoftware

FireMonkey GIF处理的更新

盒子上人才济济,很快就有兄弟发现在Android中有问题。

经过调试,发现Android中TCanvas.DrawBitmap对透明处理跟Windows不太一样,而是把透明部分也覆盖上去了,于是自己处理了一下帧的叠加,自己复制Bitmap的Scanline颜色,跳过透明即可。

2017.4.19[……]

继续阅读

发表在 Delphi | 标签为 , , | 182条评论

FireMonkey跨平台的GIF解决方案

用FireMonkey的同学们一定知道FireMonkey对GIF动画的支持不是太好,只有静态的。

网上已有的解决方案就是先手动预处理GIF文件分割成多个单张,然后放到BitmapList中,缺点是要手动处理,而且帧速率也麻烦。因为项目中要实现了一个GIF的格式处理,代码整理了一下,嫁接到Fire[……]

继续阅读

发表在 Delphi | 标签为 , , , , | 4条评论

VC版本的MakeObjectInstance把WNDPROC映射到类的成员函数

这段时间用VC封装Windows类库,没有MakeObjectInstance处理窗口消息确实不爽,又不想使用MFC的消息映射,这玩意的效率和美观只能呵呵。

至于MakeObjectInstance是什么,Delphi转过来的同学必然很了解这个方便的功能,就是动态构造一个函数把普通函数转到一个类的[……]

继续阅读

发表在 CPP | VC版本的MakeObjectInstance把WNDPROC映射到类的成员函数已关闭评论

Cocos2d-x程序Windows下VC中文乱码的解决

Cocos2d-x默认字符串常量编码都是UTF8的,而Windows中的VC默认都是跟系统相同,比如简体Windows是GB2312或者GBK.繁体就是BIG5编码.
而我们大多数中国人用VC编译出来的字符串常量也就是GBK编码的字符串.
在Cocos2d-x界面上绘制的时候它是不知道的,只会认为这[……]

继续阅读

发表在 cocos2d-x, CPP, 未分类 | Cocos2d-x程序Windows下VC中文乱码的解决已关闭评论

Delphi结构体的扩展,可以自动初始化,反初始化,自定义拷贝函数.

恭贺Delphi XE7诞生,Delphi XE7在编译器内部集成了我之前所实现的动态数组扩展.http://www.raysoftware.cn/?p=278
现在有一个更悠久的历史需求,在QC的Delphi板块上置顶了好多年.官方一直没有实现.
http://qc.embarcadero.com[……]

继续阅读

发表在 Delphi, 未分类 | 标签为 , , , | 121条评论

HTML解析器更新

增加了兼容性.
对于非标准的HTML做法,Tag中的符号没有转义做了兼容.
HtmlParser
或者
http://code.google.com/p/delphi-html-parser/[……]

继续阅读

发表在 Delphi, 未分类 | 188条评论

共享一个之前封装的多进程共享内存的MemoryStream

具体用处呢,有很多,比如多进程浏览器共享Cookie啦,多个进程传送点数据啦.[……]

继续阅读

发表在 Delphi | 标签为 , , | 190条评论

Delphi读取Android设备联系人.DelphiXE6中编译通过

和某牛讨论Delphi读Android联系人.写了如下代码

我是个懒人,不想再深究了.
对了,别忘了Android有权限,加上读取联系人的权限[……]

继续阅读

发表在 Delphi, 未分类 | 标签为 , , , | 155条评论

Delphi Hook Library做了一点小更新

http://www.raysoftware.cn/?p=357

1.原来的HOOK库,当遇到函数先被别人HOOK了,会无视对方的钩子,造成函数出问题.
现在加入了处理,如果想要HOOK的函数先被别人HOOK了,那么就去HOOK对方的函数.
但是要记得UnHOOK的时候也最好在对方去掉HOOK之前[……]

继续阅读

发表在 Delphi | 176条评论

Delphi循环移位操作

如果在X86计算机上很简单,直接内嵌汇编ror和rol指令就是循环移位.
但是如果在Android的平台上,asm关键字是无效的.
只能自己实现.

function ror(const Value: DWORD; ShiftValue: Byte): DWORD; overload;
begin[……]

继续阅读

发表在 Delphi, 未分类 | 154条评论