我不懂内存管理,每用query查询一次都没有释放,导致系统资源不足!50(50分)

  • 主题发起人 主题发起人 雪梨
  • 开始时间 开始时间

雪梨

Unregistered / Unconfirmed
GUEST, unregistred user!
我不懂内存管理,每用query查询一次都没有释放,导致系统资源不足!
高手教教我好吗?
50分
 
try
Query1.Close;
Query1.SQL:=Memo1.Lines;
Query1.Open;
except
ShowMessage('SQL 语法错误');
end;
至于内存管理,TQuery自动处理,
在Windows编程中,自己没有分配存储空间就不必释放,也就不存在管理
 
你可以把你的窗体资源释放出来
 
是呀,Delphi不用手动管理内存,窗体释放时会自动将窗体上的控件和变量释放掉
 
你建立query时给他一个Aowner
比如:query:=TQuery.Create(self);
self就是你的主窗体
那么在你free这个窗体后,query就会自动释放拉
否则,就使用Query.free拉
 
free后不能再使用了,我的系统资源在我的程序运行时只有别分之30多,是不是我的原程序太混乱了?
(我的程序有10多个query.50多个窗口)
 
动态创建窗体,动态创建Query。
类如
代码:
try
  frmXXX := TfrmXXX.Create(nil);
  soemthing do...
finally
  frmXXX.Free;
end;
 
多人接受答案了。
 
后退
顶部