Avatar billede morten_s Nybegynder
18. juni 2002 - 10:10 Der er 1 løsning

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.Free
så 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.
Avatar billede morten_s Nybegynder
19. juni 2002 - 08:36 #1
har løst det
Avatar billede Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.

Loading billede Opret Preview
Kategori
Kurser inden for grundlæggende programmering

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester