博客园  :: 首页  :: 新随笔  :: 联系 :: 订阅 订阅  :: 管理

2013年3月9日

摘要: 可以自己编译一个frcc.exe,替换Res目录下的,然后再recompile即可。 delphi 2010(update5)测试界面都正常。用delphi 2010 XE2建立一个console工程,名称为frcc,代码如下:program frcc;{$APPTYPE CONSOLE}uses SysUtils, Classes, StrUtils;var xml: string; list: TStringList; i: Integer; fileName : string; lineWidth: integer; line: st... 阅读全文

posted @ 2013-03-09 09:54 对镜弹箜篌 阅读(632) 评论(0) 推荐(0)

2013年2月27日

摘要: 最近很少上论坛,这几次发现好几个问题都是围绕如何使用DLL中的接口而展开的。问题描述:具体问题就是在隐式使用接口变量后,在FreeLibrary执行后,就会出现一个非法访址的错误。这个错误的原因就是在FreeLibrary后,DLL以的代码均为不可用状态,而在代码执行完整个过程后,VCL要对RTL类型的数据进行清理。而在清理过程中肯定要对接口进行减1并进行释放相关对象。而对象代码已从进程空间卸载,故报非法访址错误!解决方法:所以要想解决该问题,就应该把DLL调用过程放到一个单独的过程中,其目的就是让调用完毕后,让VCL来清理接口。清理完毕后返回后,再调用FreeLibrary来从进程空间中卸载 阅读全文

posted @ 2013-02-27 23:28 对镜弹箜篌 阅读(2791) 评论(1) 推荐(0)

摘要: Bug表现:用XE3 FireMonkey写的带有输入框(TEdit、TMemo等等)的程序,在64位系统下运行并且调用32位输入法的时候,均无法输入任何中文信息,而原生的64位输入法就没问题。我测试了XE3 Update1、Update2都有这个Bug。调试了半个小时,发现问题出在FMX.Platform.Win.pas这个函数:WMImeComposition函数最后有这样几行 //Pressed ESC if (AForm.Focused <> nil) and Supports(AForm.Focused, ITextServiceControl, TSObj) then 阅读全文

posted @ 2013-02-27 18:32 对镜弹箜篌 阅读(448) 评论(0) 推荐(0)

2013年2月26日

摘要: 目录===============================================================================⊙ RTTI 简介⊙ 类(class) 和 VMT 的关系⊙ 类(class)、类的类(class of class)、类变量(class variable) 的关系⊙ TObject.ClassType 和 TObject.ClassInfo⊙ is 和 as 运算符的原理⊙ TTypeInfo – RTTI 信息的结构⊙ 获取类(class)的属性(property)信息⊙ 获取方法(method)的类型信息⊙ 获取有序类型(or 阅读全文

posted @ 2013-02-26 10:01 对镜弹箜篌 阅读(316) 评论(0) 推荐(0)

2013年2月19日

摘要: 1 function Fib1(x: integer): integer; 2 var 3 temp: integer; 4 begin 5 if x = 0 then 6 Result := 0 7 else if x = 1 then 8 Result := 1 9 else10 Result := Fib1(x - 1) + Fib1(x - 2);11 end; 1 function fib_iter(x, y, z: integer): integer; 2 begin 3 if z = 0 then 4 Result := y ... 阅读全文

posted @ 2013-02-19 13:46 对镜弹箜篌 阅读(308) 评论(1) 推荐(0)

2013年2月18日

摘要: format('% * . * f',[10,4,num]);解析: 返回num变量格式化后的字符。整数位为10位,小数后为4位。例如:num=1234567890.123456,处理后为“1234567890.1234”的字符串。format函数,返回一个指定格式的字符。function Format(const Format: string; const Args: array of const): string;具体说明:const Fromat:string :格式信息const Args: 数组。主要是格式信息比较麻烦。格式化信息主要有以下元素组成:"%&q 阅读全文

posted @ 2013-02-18 20:10 对镜弹箜篌 阅读(748) 评论(0) 推荐(0)

2013年1月30日

摘要: View Code 1 unit XEMD5; 2 3 interface 4 5 uses 6 Winapi.Windows, System.SysUtils,{ Variants,} System.Classes; 7 8 type 9 MD5Count = array [0 .. 1] of DWORD; 10 MD5State = array [0 .. 3] of DWORD; 11 MD5Block = array [0 .. 15] of DWORD; 12 MD5CBits = array [0 .. 7] of Byte; 13 ... 阅读全文

posted @ 2013-01-30 09:47 对镜弹箜篌 阅读(193) 评论(0) 推荐(0)

摘要: View Code 1 unit Anti_Debug; 2 3 interface 4 5 uses 6 Windows, SysUtils, Classes, TlHelp32; 7 // -------------------查找-通用调试器(FD_)----------------------------------- 8 function FD_IsDebuggerPresent(): Boolean; // √ 9 function PD_PEB_BeingDebuggedFlag(): Boolean; // √ 10 function FD_PEB_... 阅读全文

posted @ 2013-01-30 09:45 对镜弹箜篌 阅读(480) 评论(0) 推荐(0)

摘要: View Code 1 unit Unit_Des_XE2; 2 3 { ********************************************************* } 4 { * DELPHI、PHP、C#通用DES编码解码单元 * } 5 { * 由TurboPower LockBox部分代码改写 * } 6 { * 滕州市东鸣软件工作室制作 ZWF 2011-12-27 * 7 * update by wh 2012-12-13 仅限英文及数字,中文不匹配 for delphi xe2 * } 8 { * EncryDes为编码函数,Dec... 阅读全文

posted @ 2013-01-30 09:39 对镜弹箜篌 阅读(543) 评论(0) 推荐(0)

2012年6月21日

摘要: uses activex;function Stream2OleVariantBytes(const Stream:TStream):OleVariant;var Data:Pointer;begin Result := VarArrayCreate([0,Stream.Size-1],varByte); Data := VarArrayLock(Result); try Stream.Position := 0; Stream.Read(Data^,Stream.Size); finally VarArrayUnlock(Result); end;end;pro... 阅读全文

posted @ 2012-06-21 16:24 对镜弹箜篌 阅读(406) 评论(0) 推荐(0)