摘要: 单元不能被循环引用(Circular unit reference)的。循环引用的意思是:A引用了B,而B又引用了A,且都是在interface部分进行引用。example:unit Unit1;interfaceusesUnit2;......unit Unit2;interfaceuses Un... 阅读全文
posted @ 2014-06-26 16:23 Values 阅读(548) 评论(0) 推荐(0) 编辑
摘要: 在Delphi中用ADOQuery进行数据库的记录操作时,有时会报 “无法为更新定位行。一些值可能已经在最后一次读取后已更改” 这个错。这个错通常是 你操作的记录 在数据库中已经被修改过了,如:在数据库中已被删除了,你用ADOQuery更新了被删除的记录数据库表字段有默认值,你用ADOQuery插入... 阅读全文
posted @ 2014-06-15 16:27 Values 阅读(519) 评论(0) 推荐(0) 编辑
摘要: exec sp_addlinkedserver 'RemoteServer','','SQLOLEDB','192.168.2.2,2434'Exec sp_addlinkedsrvlogin 'RemoteServer','false',null,'sa','932kj'GOSelect * Fr... 阅读全文
posted @ 2014-05-17 16:05 Values 阅读(184) 评论(0) 推荐(0) 编辑
摘要: 使用该组件一旦安装:{使用该组件的基本步骤:} 1)将一到'OnReceiveData'事件处理程序。 {1)添加'' OnReceiveData'事件。} 2)呼叫'StartComm'来打开端口。 {2)调用'StartComm'方法打开串口。} 3)使用'WriteCommData'... 阅读全文
posted @ 2014-04-16 11:53 Values 阅读(365) 评论(0) 推荐(0) 编辑
摘要: 转http://www.cnblogs.com/Simon_01/archive/2011/05/27/2059576.htmldxSkinController可以在运行时动态调入皮肤,不用在设计期Use一大串文件,把要用的皮肤用安装程序自带的Skin Editor编辑一个SkinRes文件,然后在程序中动态调入就可以了。uses dxSkinsDefaultPainters;procedure TForm1.FormCreate(Sender: TObject);begincxComboBox1.Properties.Items.Clear;dxSkinsUserSkinPopulateSk 阅读全文
posted @ 2014-03-10 11:48 Values 阅读(344) 评论(0) 推荐(0) 编辑
摘要: 这是转来的一篇文章,利用GetClass与RegisterClass可以实现根据字符串来实例化具体的子类,这对于某些需要动态配置程序的场合是很有用的。其他的应用如子窗体切换,算法替换等都能得到应用。unitExample1;interfaceusesWindows,Messages,SysUtils,Variants,Classes,Graphics,Controls,Forms,Dialogs,StdCtrls;typeTForm1=class(TForm)Button1:TButton;procedureButton1Click(Sender:TObject);privatepublice 阅读全文
posted @ 2014-02-27 11:27 Values 阅读(334) 评论(0) 推荐(0) 编辑
摘要: SendMessageA 说明: 调用一个窗口的窗口函数,将一条消息发给那个窗口。除非消息处理完毕,否则该函数不会返回SendMessage所包含4个参数: 1. hwnd 32位的窗口句柄窗口可以是任何类型的屏幕对象,因为Win32能够维护大多数可视对象的句柄 2. wMsg 用于区别其他消息的常量值,这些常量可以是Windows单元中预定义的常量,也可以是自定义的常量 3. wParam 通常是一个与消息有关的常量值,也可能是窗口或控件的句柄 4. lParam 通常是一个指向内存中数据的指针。由于WParm、lParam和Pointer都是32位的,因此,它们之间可以相互转换 wMsg函 阅读全文
posted @ 2013-12-26 14:23 Values 阅读(260) 评论(0) 推荐(0) 编辑
摘要: XE5中Android不支持SQL Server的连接,所以近来弄出了个歪办法:通过DataSnap(Web Services也可)来获取数据,现在建立一个DataSnap吧打开XE5,点击菜单File>>New>>Other>>DataSnap Server然后一直Next(设置端口那里可默认,也可以改为自己要想的),最后Finish到这一步会看到生成了这些在ServerContainerUnit1.Pas中加入关系如图所示(连接数据库的控件可换为你所熟用的)接着打开ServerMethodsUnit1.Pas编写获取数据的代码了public下加入 fun 阅读全文
posted @ 2013-11-12 16:28 Values 阅读(498) 评论(0) 推荐(0) 编辑
摘要: interfaceusesWinapi.Windows, Winapi.Messages, System.SysUtils, System.Classes, FMX.Forms,FMX.Platform.Win, FMX.Types, FMX.Layouts, FMX.Memo;typeTForm1 = class(TForm)Memo1: TMemo;procedureFormCreate(Sender: TObject);procedureFormDestroy(Sender: TObject);privateFHwnd: HWND; // 保存窗口句柄FOldWndProc: LONG; 阅读全文
posted @ 2013-10-01 10:55 Values 阅读(390) 评论(0) 推荐(0) 编辑
摘要: Delphi中,你在多线程或通讯方面使用临界区时,若使用了两次 Leave 会造成程序界面无响应,在Leave之前先使用Delete删除临界区再Leave时也会(其实也等同于两次Leave),所以在编写多线程和通讯用到临界区时,一定要确保一个Enter对应一个Leave,而且顺序一定要是Initia——[Enter——Leave]——Delete如有不对,请指点...... 阅读全文
posted @ 2013-09-08 14:52 Values 阅读(241) 评论(0) 推荐(0) 编辑