[dll部分]
mydll.dpr:
library mydll;
uses
  fmform1 in 'fmform1.pas' {frmform1};
exports
ShowDevicemanage;
end.unit1.pas:
Tform1 = ....
   ...
public
    dbEview:^TDatabase;
    qryupdate, qryClient: ^TQuery;
    iCurrentDC_ID: Cardinal;
    ParentForm : ^Tform;
end;
var
  form1: tform1;
  function ShowDevicemanage(db: pointer; qry, qry1,ParentForm:pointer; CurrentDC_ID: Cardinal):integer;stdCall;
implementation
{$R *.dfm}
procedure Tform1.dosomething(sender);
  begin
     使用这些dbEview,qryupdate,qryClient等
  end;function ShowDevicemanage(db: pointer; qry, qry1,ParentForm:pointer; CurrentDC_ID: Cardinal):integer
begin
  form1 = tform1.create(nil);
  with form1 do 
  begin
    dbEview := db;
    qryupdate := qry;
    qryClient := qry1;
    showmodel;
  end;
end;
问题出来了,form1第一次调用dosomething没问题,再次调用就会出现很多莫名其妙的错误。。谁能告诉我为什么呢