Delphi
Coud_Boy
这个作者很懒,什么都没留下…
展开
-
Delphi控件的默认值
在property关键词的最后面加上default xxx就可以指定默认值,该默认值是用于在Object Inspector栏中显示非粗体的默认属性用的,选择其他值后,对应的属性内容将会变粗(以说明该项被modify了)而控件的部署到窗体上的时候所自动给定的默认值不是用上面的default的值的,而是来自于控件类中的构造函数Create,这一点要注意...原创 2020-04-16 22:56:42 · 755 阅读 · 0 评论 -
Delphi中类的向前声明
在Delphi中需要对多个类进行交叉引用时,就需要用到类的向前声明,实际使用中,如果仍然报错,要检查一下这部分声明和使用是否是在同一个type关键字的下面type TClassA = class; TClassB = class(xxx) FB1: Integer; FB2: Integer; FBA: TClassA;typ...原创 2020-04-16 09:44:00 · 498 阅读 · 0 评论 -
Delphi VaComm串口使用(TMS Async32控件)
断开连接:VaComm1.Close;连接:VaComm1.Baudrate := TVaBaudrate.br115200;VaComm1.Parity := TVaParity.paNone;VaComm1.Databits := TVaDatabits.db8;VaComm1.Stopbits := TVaStopbits.sb1;VaComm1.PortNum := 1...原创 2020-04-10 10:32:48 · 883 阅读 · 0 评论 -
Delphi XE兼容注意要点
1、早期版本中Char默认是指向AnsiChar,XE版本后是指向WideChar,所以修改所有的Char为AnsiChar2、早期版本中WinAPI函数默认是指向xxxxxxA,XE版本后是指向xxxxxW,所以修改所有的WinAPI函数尾部加上A...原创 2019-11-12 21:52:01 · 351 阅读 · 0 评论 -
C的enum与Delphi中枚举的转换问题
当Delphi调用一个来自C的接口时,比如dll。C中的函数参数可能是枚举类型,由于Delphi默认枚举长度为2字节、C为4字节,则将会在调用时产生意外,因此需要解决该问题: Delphi中的枚举定义示例如下,这里以对接OpenSSL的point_conversion_form_t类型为例:type Tpoint_conversion_form = (POINT...原创 2019-04-09 15:57:11 · 750 阅读 · 0 评论 -
VaComm控件支持COM10以上串口的方法
VaComm2005的代码对COM口的支持不能超过COM10,根据Windows对COM10以上的串口的打开方法,需要修改VaComm的源码:将函数 TVaCustomComm.GetDeviceName的实现修如下:function TVaCustomComm.GetDeviceName : string;begin if PortNum <= 10 then Res...原创 2019-06-20 11:52:21 · 478 阅读 · 0 评论 -
Delphi XE8下 Indy使用:IdTCPClient
IdTCPClient这个控件在XE8里面和以前的代码感觉完全不一样了,研究了一下,基本通讯模式如下:首先防止IdTCPClient和IdAntiFreeze在界面上,uses里面包含一下IdGlobalTCP连接:begin IdTCPClient1.Host := '127.0.0.1'; IdTCPClient1.Port := 10000; try...原创 2019-08-05 20:10:38 · 2267 阅读 · 0 评论 -
Delphi Byte、PByte、TBytes的转换
PByte转TBytes: a:PByte; b:TBytes; b := TBytes(a);PByte转Byte:其实就是指针操作 a:PByte; b:Byte; b := a^;Byte转PByte:也是指针操作 a:Byte; b:PByte; b := @a;...原创 2019-08-06 15:35:59 · 4167 阅读 · 0 评论