ID: integer;
sName: string;
UpdateTime: TDateTime; Pointer(fList^[Result].ID) := nil;
Pointer(fList^[Result].sName) := nil;
Pointer(fList^[Result].UpdateTime) := nil;TDateTime的类型用Pointer会编译错误。那要使用TDateTime类型应该怎么做了?
请大家帮帮忙。谢谢。
sName: string;
UpdateTime: TDateTime; Pointer(fList^[Result].ID) := nil;
Pointer(fList^[Result].sName) := nil;
Pointer(fList^[Result].UpdateTime) := nil;TDateTime的类型用Pointer会编译错误。那要使用TDateTime类型应该怎么做了?
请大家帮帮忙。谢谢。
解决方案 »
- delphi怎么创建动态的十六进制二维数组?
- 问一个关于fastreport直接打印的问题。
- 99.999999更新到数据库变成:90,请问这是怎么回事?
- “多步操作产生错误,请检查每一步的状态值”是如何引起的???
- 急~TWebBrowser如何实现HTML网页脚本中调用的JavaScript的ActiveXObject函数
- Excle问题,在线等候!
- 求救——bde和ado混用带来的麻烦怎样解决?详细请入内
- 一个查询语句的问题。小弟转不过弯来了!
- 谢谢大家!
- 要命啊,用dephi編譯生成一個空的表單(form),exe文件竟368k,天啊!!太大了,是不是我有些參數沒有設置好啊!!!
- 结构体中可以嵌套TObjectList吗?
- 如何将从文件中读取的字符串赋值给对象实例?
TRec = record
ID: integer;
sName: string;
UpdateTime: TDateTime;
end;我现在需要对每个变量都单独进行一次Pointer,即
Pointer(fList^[Result].ID) := nil;
Pointer(fList^[Result].sName) := nil;
Pointer(fList^[Result].UpdateTime) := nil;
有没有方法一条语句搞定啊。
我是参考TStringList的源码
TStringList在Add一个string时,会先执行一句
Pointer(fList^[Result].String) := nil;
我曾经测试过,如果去掉这句代码,后面的赋值会出现错误。
不知道这句是什么意思,希望各位大大能帮忙解释下。。
Pointer(fList^[Result].String) := nil;
------------------------
上面的意思应是初始化给字符分配的空间。 Pointer(fList^[Result].ID) := nil;
Pointer(fList^[Result].sName) := nil;
Pointer(fList^[Result].UpdateTime) := nil;-----------------------------------------------
上面的Pointer(fList^[Result].ID) := nil;是错误的,并没有将ID设置为NIL,面是将ID这个数字所指的位置设置为NIL,整数是可以强制转换成指针的,因为指针本身就是整数类型的。
Pointer(fList^[Result].sName) := nil;字符串本质上来说也是指针,所以这是可能通过编译的,怛也是错误的,造成了内存泄露;
Pointer(fList^[Result].UpdateTime) := nil;日期类型本质上是一个DOUBLE类型,所以并不能强制转换成指针类型的。你的意思是在列表中保存一个结构体吗?初始化应这样写:
fList^[Result].ID := 0;
fList^[Result].sName := ‘’;
fList^[Result].UpdateTime:= 0;