Problem med Free i dbExpress
Har en tråd som ser ud som vist neden for, problemet er at når jeg sætter NewDBCon.Freeså Free'er den også min MyDBCon
unit tTestThread1;
interface
uses
Classes, DBXpress, Provider, SqlExpr, FMTBcd, DB, Grids, DBGrids,
DBClient, DBLocal, DBLocalS, StdCtrls, Spin, ExtCtrls, sysutils;
type
TestThread1 = class(TThread)
private
{ Private declarations }
protected
procedure Execute; override;
public
MyDBCon : TSQLConnection;
NewDBCon : TSQLConnection;
Tal : Integer;
end;
implementation
procedure TestThread1.Execute;
var
i : Integer;
begin
FreeOnTerminate := True;
i := 1;
NewDBCon := TSQLConnection.Create(nil);
NewDBCon := MyDBCon;
if NewDBCon.Connected then
begin
with TSQLQuery.Create(nil) do
begin
SQLConnection := MyDBCon;
while i < 100 do
begin
DisableControls;
SQL.Clear;
SQL.Add('UPDATE TestThread SET Tal = '''+IntToStr(tal)+'''' +
' WHERE id = ''' + IntToStr(i) + '''');
ExecSQL;
EnableControls;
inc(i, 2);
end;
Free;
end;
end;
NewDBCon.Free; <----NÅR DENNE LINIE ER MED GÅR DET GALT
end;
end.
