既然是指针,我觉得应该这样使用:
ptndNewN^.iT_ID
ptndNewN^.iT_ID
解决方案 »
- bcb版没有解决的问题,跑delphi来问问,100分,各位专家请进
- 我用ADOTABLE连接ACCESS数据库,我用性别查询记录,然后显示在memo中,问题是用性别查询到性别为女的记录有很多,但只显示一条。
- 高难度问题:这段内存复制的代码,究竟错在哪里
- 请高手指教,关于对sql的查询结果记录,进行处理的问题~
- 有关控制MDI子窗体的问题!
- 关于QuickRept升级问题
- 我的问题怎么没有人回答阿~~ 开发三层架构时遇到的几个问题~~(初学者)
- 请问各位高手:如何实现将多个jpg尺寸不一图片存储到单一的文件中,并能快速检索回放?有点类似mjpeg
- 如何根据表中一列的名字获取他这列的所有值?
- !!!帮我一把!!!
- seek 函数???
- image控件,如何在运行后,可以拖动改变其大小呢?
请看delphi的例子:
type PListEntry = ^TListEntry;
TListEntry = record
Next: PListEntry;
Text: string;
Count: Integer;
end;
var
List, P: PListEntry;
begin
...
New(P);
P^.Next := List;
P^.Text := 'Hello world';
P^.Count := 1;
List := P;
...
end;
加上p^.。。的效果也是一样的,难到一定要使用List吗?
另外,参数可以改一下:
function TfrmMain.AddSNode(fp_adoqeTNT: TADOQuery):integer;
我在new语句之后又加了一个这条语句
ptndNewN^:=TNT.create;
原new语句没有删除,这样一来,可以了,申请的全部动态变量在涵数返回时都没有被删除
我不知道这个new语句可不可以删除。我还没有试验
不过我已经跟踪过很多次了,我相信应该就是这个new的问题,每次的错误都停在这条语句
之后。从我加了这条语句后可以执行看来其它代码或者adoquery都应该没有问题,我想请问一下,到底TNT.create是生成动态变量还是生成静态变量?或者是根据其左边的变量类型而定,例如如果指针就生成动态的。我想这种可能性应该没有吧?
Delphi的Class和C++的Class有本质的不同。
所以利这里最好用ptndnewn: TNT;
ptndnewn := TNT.Create;
声明一个Delphi的Class,并没有给Class分配内存,而不过声明了一个指针罢了。只有调用TCLASS.CREATE,才是给类分配内存。
这种做法虽然隐藏了很多概念,但是比C++先进。所以后来的Java,C#都是这样。
^TND,声明了变量之后,程序就会出错,这又是为什么呢?