如何在程序中动态的创建如tquery这类的控件?(100分)

  • 主题发起人 主题发起人 yucd
  • 开始时间 开始时间
Y

yucd

Unregistered / Unconfirmed
GUEST, unregistred user!
一般函数
procedure tform1.dosql(f:filename);
var q:tquery;
begin
q:=tquery.create(self);
.
.
end;
q 无法正常建立,总出现内存错误,问这种该死的没 parant 的控件如何动态创建
 
应该没错,是不是其它地方的事;
 
改为:
procedure tform1.dosql(f:filename);
var q:tquery;
begin
try
q:=tquery.create(tform1);
. .
finally tquery.Free; end;
end;
注意,生成后手动释放内存
 
不可能创建不了的,我经常使用动态生成的,没问题可能是你的代码有问题吧好好检查一下
 
是这个地方出错吗,要是的话,可能是你的DELPHI或
操作系统有问题,我刚试过,没有问题
 
试一试这个:
procedure TForm1.Proc;
var q:tquery;
begin
q:=tquery.create(nil);
try
...
finally
q.Free;
end;
end;
 
你的代码应该没有问题,主要是内存条的问题,我以前也是这样.我用金邦64M金条,经常出现
内存错误的提示,换一根后就没有问题了.
 
var
Query:TQuery;
begin
Query:=TQuery.Create(Application);
try
wity Query do begin
...
end;
finally
Query.Free;
end;
end;
 
yucd,至少你写的这部分没错!
别的地方呢?贴出来看看!
 
var tq:tquery;
begin
tq:=tquery.create(nil);
try
...
finally
tq.Free;
end;end;
 
多人接受答案了。
 
后退
顶部