Einzelnen Beitrag anzeigen

Benutzerbild von sirius
sirius

Registriert seit: 3. Jan 2007
Ort: Dresden
3.443 Beiträge
 
Delphi 7 Enterprise
 
#8

AW: Applikation friert ein bei Datenbankzugriff trotz Thread

  Alt 26. Aug 2011, 09:06
Du darfst bei Threads nicht wie üblich die (bzw. bestimmte) Felder im constructor initialisieren, sondern du darsft das erst in Execute. Hier geht es hauptsächlich um die DB-Kompos.

VErsuch dir folgende Strucktur anzugewöhnen:
Delphi-Quellcode:
procedure Tupdater.execute;
begin
  ConInitialize(nil);
  myConnection:=TxyzConnection.Create(...);
  myQuery:=...
  try
    eigentlicher_Thread_execute;
  finally
    myQuery.free;
    myConnection.free;
    coUninitialize;
  end;
end;
procedure Tupdater.eigentlicher_thread_execute;
begin
  ...
end;
Edit: Und die letzten 4 Zeilen in Refresh nimmst du bitte auch raus und löst das anders!
Es gibt z.B. das Ereignis onTerminate, dass du zuweisen kannst (auf doUpdate).
Dieser Beitrag ist für Jugendliche unter 18 Jahren nicht geeignet.

Geändert von sirius (26. Aug 2011 um 09:10 Uhr)
  Mit Zitat antworten Zitat