制作一个仓库系统,怎么将定义好的指针变量清空

制作一个仓库系统,如何将定义好的指针变量清空
本人制作了一个仓库统计系统,想要在确认出库(button3)按钮中添加一条清空指针变量的代码,因为每次关闭form2后重新添加货物时总是存在上一次存储的数据,希望各位论坛的高手能够帮我解决这个困扰,以下是添加按钮和删除按钮代码。
制作一个仓库系统,怎么将定义好的指针变量清空
procedure TForm2.Button1Click(Sender: TObject);
var
tempp,p:plink;
begin
new(tempp);
tempp^.mh:=edit1.Text;
tempp^.sl:=edit2.Text;
tempp^.dw:=edit3.Text;
tempp^.ck:=edit4.Text;
tempp^.next:=nil;
if dtrec=nil then
begin
new(dtrec);
dtrec:=tempp;
end
else
begin
p:=dtrec;
while p^.next<>nil do
p:=p^.next;
p^.next:=tempp;
end;

edit1.Clear;
edit2.Clear;
edit3.Clear;
edit4.Clear;
edit1.SetFocus;
end;

procedure TForm2.Button3Click(Sender: TObject);
var
p,p1:plink;
i:integer;
begin
if edit1.Text=''then
begin
showmessage('请输入模号,模号不能为空!');
exit;
end;
i:=0;
p:=dtrec;
if p=nil then
showmessage('无数据!')
else
if p^.mh=edit1.Text then
begin
dtrec:=p^.next;
p^.next:=nil;
  p:=dtrec;
end
else
begin
p1:=p^.next;
if p1<>nil then
repeat
if p1.mh=edit1.Text then
begin
p^.next:=p1^.next;
p1:=p;
i:=i+1;
end
else
begin
p:=p1;
p1:=p1^.next;
end;
until p1=nil;
if i=0 then
showmessage('无匹配数据!');
end;
end;
------解决思路----------------------
procedure TForm2.Button1Click(Sender: TObject);
var
tempp,p:plink;
begin
  new(tempp);
  tempp^.mh:=edit1.Text;
  tempp^.sl:=edit2.Text;
  tempp^.dw:=edit3.Text;
  tempp^.ck:=edit4.Text;
  tempp^.next:=nil;
  if dtrec=nil then
  begin
    new(dtrec);
    dtrec:=tempp;
  end
  else  begin
    p:=dtrec;
    while p^.next<>nil do
    p:=p^.next;
    p^.next:=tempp;
  end;

  edit1.Clear;
  edit2.Clear;
  edit3.Clear;
  edit4.Clear;
  edit1.SetFocus;
end;

procedure TForm2.Button3Click(Sender: TObject);
var
p,p1:plink;
i:integer;
begin
  if edit1.Text=''then
  begin
    showmessage('请输入模号,模号不能为空!');
    exit;
  end;
  i:=0;
  p:=dtrec;
  p1:=nil;
  //指针搜索
  while (p<>nil) do
  begin
    if p.mh=edit1.Text then
      break;
    p1:=p;  //保存当前指针
    p:=p^.next;
  end;
  if p=nil then
  begin
    showmessage('无数据!');
    Exit;
  end;
  if p1=nil then
  begin
    //删除第一个元素
    p1:=p;
    p:=p^.next;
    dispos(p1);
    Exit;
  end;
  //删除元素
  p1^.next:=p^.next;
  dispos(p);  
end;
------解决思路----------------------
ListBox.Items.Clear

你的结构类型的代码没有贴上来,不知道你的plink结构是如何组织