![]() |
Query innerhalb ein Threads nutzen ?
Wie kann man eine Query innerhalb eines Threads nutzen ?
folgendes habe ich verwendet nur kommt ständig eine Speicherzugriffsverletzung !
Delphi-Quellcode:
Das Hauptformular und den Button der den Thread erzeugt habe ich mal weggelassen !type Test = class(TThread) a1 : Integer; Query1 : TIBQuery; Datenbank : TIBDatabase; Transaction : TIBTransaction; private { Private-Deklarationen } public constructor create(Art : Integer; Datenbankkomp : TIBDatabase); overload; protected procedure Execute; override; end; var Test1 : Test; U_Datum : Tdate; U_Fach : Integer; implementation {$R *.DFM} constructor Test.create(Art : Integer; Datenbankkomp : TIBDatabase); Begin a1 := Art; Datenbank := Datenbankkomp; inherited create(false); End; procedure Test.Execute; begin Query1.text := 'Egal'; // Hier bekomme ich eine Speicherzugriffsverletzung ! sleep(10000); end; end. |
Re: Query innerhalb ein Threads nutzen ?
Hast du das Objekt irgendwo initialisiert?
(Wahrscheinlich brauchst du im Thread auch noch so etwas wie CoInitialize.) |
Re: Query innerhalb ein Threads nutzen ?
Ich gebe dir mal mein ButtonClick procedure :
Delphi-Quellcode:
reicht des ?
procedure TForm1.Button1Click(Sender: TObject);
begin U_Datum := MonthCalendar1.Date; Test1 := Test.Create(2,IBDatabase1); end; |
Re: Query innerhalb ein Threads nutzen ?
Du musst das Query Initialisieren/instanzieren:
Delphi-Quellcode:
Und übergebe am besten keine Objekte über Threadgrenzen. Du solltest dir besser gleich angewöhnen alles, was die Datenbank betrifft an Objekten komplett und ausschließlich im Thread zu erledigen.
Query1:=TIBQuery.create();
Zur Vereinfachung leg dir ein DataModul an, welches du nur im Thread benutzt. |
Re: Query innerhalb ein Threads nutzen ?
Des wars schon danke hat funktioniert !!!!!
|
Re: Query innerhalb ein Threads nutzen ?
Zitat:
|
Alle Zeitangaben in WEZ +1. Es ist jetzt 14:31 Uhr. |
Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024-2025 by Thomas Breitkreuz