哪里错了
在窗口上生成一个树形菜单:
procedure treecreate1(tabnam1:string);
var
  mynode:array[0..2] of ttreenode;
begin
  form3.TreeView1.Enabled:=true;
  form3.TreeView1.Items.Clear ;
  form3.ADOQuery1.Close;
  form3.ADOQuery1.SQL.Clear;
  form3.ADOQuery1.SQL.Add('select * from '''+tabnam1+'''');
  form3.ADOQuery1.Open ;
  while not form3.ADOQuery1.Eof do
  begin
    form3.TreeView1.Items.Add(form3.TreeView1.TopItem,form3.ADOQuery1.Fields[1].AsString+form3.ADOQuery1.Fields[0].AsString);
    form3.ADOQuery1.Next;
  end;
end;调用该过程,打开该窗口:
procedure TForm1.DBGrid1CellClick(Column: TColumn);
begin
 form3.hide;
 if dbgrid1.SelectedField=dbgrid1.DataSource.DataSet.FieldByName('b0110') then
  begin
   treecreate1('单位代码');
   form3.Show;
  end;
end;

解决方案 »

  1.   

    什么错误?
    另://form3.ADOQuery1.SQL.Add('select * from '''+tabnam1+'''');
    应改为:form3.ADOQuery1.SQL.Add('select * from '+tabnam1);
      

  2.   

    不行,错误提示如下:
    project project1.exe raised exception class EAccessViolation with message 'access violation at address 004563D6 in module 'project1.exe' read of address ffffffff'
      

  3.   

    这个问题解决了,是窗体出了问题。
    另外请问为什麽现在我每次登陆CSDN时,上面的内容都没有变化,还是几天前的内容。
      

  4.   

    别的网站都是好的,就是CSDN这样