新手求教 在函数中创建对象
为了避便代码重复 搞了个函数
procedure DoSql(sql:string;DS: TADOQuery);
begin
DS := TADOQuery.Create(nil);
DS.Close;
DS.Connection := DBConnect;
DS.sql.Clear;
DS.sql.Add(sql);
DS.Open;
end;
调用时
var QueryTemp:TADOQuery;
try
DoSQL(sql,QueryTemp);
// QueryTemp.DoSomething;
finally
freeandnil(QueryTemp);
end;
可是报内存错误.... 求解~~~ Create不是在堆上分配内存么?为什么离开函数后还不可以访问了...