下面这段代码,错在什么地方,为什么不能返回结果呢? 
 
  procedure TQueryForm.FormCreate(Sender: TObject);
var
  s1,s2,s3:string;
  i,n: integer;
begin
  //PopTpoint^:=@query1;
  n:=strlen(pchar(str_sql));
  showmessage(inttostr(n));
  s1:=copy(str_sql,15,n-15);
  showmessage(s1);
  combobox1.items.Clear ;
  combobox3.items.Clear ;
  for i := 0 to PopTpoint.FieldCount - 1 do  begin
  s2:=PopTpoint.Fields[i].DisplayLabel ;
  SHOWMESSAGE(S2);
  with query1 do begin
    close;
    sql.clear;
    sql.add('select ZWM from PUBQUERY ');
    sql.add('where ZDM='''+s2+''' and BM='''+s1+'''');
    prepare;
    open;
  end;
  s3:=query1.fieldbyname('ZWM').Asstring;
  showmessage(s3);
  ComboBox1.Items.Add(s3);
  ComboBox3.Items.Add(s3);
  end;
  combobox1.ItemIndex :=0;
  combobox2.ItemIndex :=0;
  combobox3.ItemIndex :=0;
  combobox4.ItemIndex :=0;
  showmessage(Str_sql);end;