-----------
1.错在啦?
var
AStack:Tstack;
P,p1:^integer;
i,j:integer;
begin
AStack:=Tstack.create; for i:=1 to 10 do
begin
new(p);
p^:=i;
Astack.push(p);
dispose(p);
end; p:=Astack.peek;
j:=p^;
listbox1.Items.Add(IntTostr(j));
Astack.free;----
2.create(self);其中 self代表什么?还有其他参数吗?
1.错在啦?
var
AStack:Tstack;
P,p1:^integer;
i,j:integer;
begin
AStack:=Tstack.create; for i:=1 to 10 do
begin
new(p);
p^:=i;
Astack.push(p);
dispose(p);
end; p:=Astack.peek;
j:=p^;
listbox1.Items.Add(IntTostr(j));
Astack.free;----
2.create(self);其中 self代表什么?还有其他参数吗?
解决方案 »
- 数据库表结构
- 如何取出时间分年月日时分(200806161459)
- 这是一个可以设置窗体边框颜色的函数,大家能帮忙设计一个可以删除该窗体边框颜色的函数吗?
- ADO运行存储过程超时的问题
- 提示“缺少更新或刷新的键列信息“
- 求助:在线等待,关于sql编程
- 有谁搞过网络互联的工作,进来看看?
- 我想讓label.caption:='中國人民'這四個字在form1中豎著顯示,而不是橫著顯示,請問應設label的哪一個屬性。
- 什么是曼砌斯特编码与差分曼砌斯特编码????请指教!!!!
- TWebBrowser中能不能LoadFromStream?
- 如何人性化的处理日期(有简单的方法吗?)
- 如何更改应用程序的窗口标题?
p^:=i;
Astack.push(p);
dispose(p); p:=Astack.peek;
j:=p^; 你的 TStack.Push 压入的是指针,而指针指向的内存已经释放,因此TStack.Pop 取出的是以释放的指针,你如果使用的话,肯定有问题。
你可以在 Push 后不释放指针,而在 Peek 后,使用完指针,再释放它2 Self 表示当前类对象,例如在 TForm.Create(...) 过程中,Self 表示当前的窗体
----觉的前面两位没有说到点子上,我补充一下
create(owner:tobject);
里面放的是该组件的owner,还有一个parent,如果动态创建一定要指定的,如果是设计期加入可以通过object treeview来看。parent和owner的区别:组件的owner释放的时候一定要释放它拥有的所有组件才能释放自己,parent主要是和组件的位置,坐标有关。