你是Integer,根本不用考虑是否被摧毁。
因为TreeNode.Data的大小是32bit,而Integer也是32bit。你的做法只是一个值拷贝吧。放心的用,声明事情都没有。
因为TreeNode.Data的大小是32bit,而Integer也是32bit。你的做法只是一个值拷贝吧。放心的用,声明事情都没有。
解决方案 »
- 关于bpl问题(Access violation at address 00000000 read of address 00000000)
- 求助!请教一个难题(拷贝当前屏幕到文件,在xp系统下,当用户切换以后,原用户的屏幕信息)
- 请问如何用delphi+xml制作菜单,在线等
- 窗口间怎么进行参数传递!
- 求救关于powerdesigner的问题
- DBComboBox1来显示一个字段里的数据遇到的问题!!!
- 关于win2000中系统问题
- 我该怎么办?
- 各位大师。demo控件里怎么实现从右往左的输入?尽量详细点。我是个新手。请多多赐教。还有用特定字体实现输入特定的输入。
- 关于封装dll的问题
- 求救!!!!!
- 快过年了,散点分,并祝大家新年快乐!
因为TreeNode.Data的大小是32bit,而Integer也是32bit。你的做法只是一个值拷贝吧。放心的用,什么事情都没有。
由于data里放的是指向i的地址,所以当i摧毁后,只要i所在地址的内容还没有被改写的话,使用时就仍是正常的
但显然,这样使用是很危险的
你只不过在欺骗Delphi罢了,让Data存储一个Integer,而不是一个指针。所以没有内存占用。
很谢谢你,我想还让这个帖子讨论一会儿,完了之后会加分的。每个人都有的。
TreeNode.data := Pointer(i);是正确的.
2、pgMain.ActivePageIndex := Integer(Node.Data);是访问了这个指针本
身的值,所以没有错;但你肯定不能访问Node.Data指向的地址。
最好不要这么用,很危险,容易造成概念混淆