AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Thema durchsuchen
Ansicht
Themen-Optionen

ADO und Thread

Ein Thema von Jacki O · begonnen am 6. Jan 2004 · letzter Beitrag vom 11. Nov 2004
Antwort Antwort
Jacki O

Registriert seit: 18. Okt 2003
73 Beiträge
 
#1

ADO und Thread

  Alt 6. Jan 2004, 08:41
Hallo,
ich habe eine kleine Appliction, die mittels ADO-Komponenten auf eine ACCESS DB zugreift. Alles klappt wunderbar, damit die Anwenung jedoch bedienbar bleibt, soll das Auslesen der ACCESS DB in einem Thread laufen. Dabei erhalte ich nun die Fehlermeldung: "CoInitialize must be called". Ich habe schon etwas über OLE und ActiveX gelesen, aber in meinem Thread funktioniert das leider nicht

Kann man mir helfen ?

Gruß Jacki
  Mit Zitat antworten Zitat
Benutzerbild von Jens Schumann
Jens Schumann

Registriert seit: 27. Apr 2003
Ort: Bad Honnef
1.644 Beiträge
 
Delphi 2009 Professional
 
#2

Re: ADO und Thread

  Alt 6. Jan 2004, 08:53
Hallo,
der Zugriff auf ADO ist ein Zugriff auf COM-Objekte.
Für den Zugriff muss jeder Thread ein eigenes Apartment anmelden.
Für das Hauptprgramm sollte das Application.Initialize erledigen.
Wenn Du aber einen Thread erzeugst musst Du das selber machen
Delphi-Quellcode:
procedure TMyADOThread.Execute;
begin
  CoInitialize(nil); // Apartment anmelden
  try
    // Hier kann dann Dein Code stehen
  finally
    CoUninitialize; // Apartment abmelden
  end;
end;
Hier findest weitere Info's vom COM Guru himself
Entwickler Forum
  Mit Zitat antworten Zitat
Jacki O

Registriert seit: 18. Okt 2003
73 Beiträge
 
#3

Re: ADO und Thread

  Alt 6. Jan 2004, 09:30
Hallo,

vielen Dank für den Tip, ich weder gleich den Umbau starten

Gruß Jacki
  Mit Zitat antworten Zitat
Benutzerbild von Kedariodakon
Kedariodakon

Registriert seit: 10. Sep 2004
Ort: Mönchengladbach
833 Beiträge
 
Delphi 7 Enterprise
 
#4

Re: ADO und Thread

  Alt 11. Nov 2004, 08:50
Hab ähnliches Problem, wollte eine TADOConnection in einen Thread packen, aber wenn ich die Verbindung öffne, wird der Thread gleich terminiert...

Liegt das auch daran?

Muß ich auch so ein ...Apartment anmelden...???

Und wannn genau muß man das machen?

Bevor man die schon erstellt, oder erst wenn ich die Verbindung öffnen will?


Bye
Christian
  Mit Zitat antworten Zitat
Benutzerbild von Bernhard Geyer
Bernhard Geyer

Registriert seit: 13. Aug 2002
17.171 Beiträge
 
Delphi 10.4 Sydney
 
#5

Re: ADO und Thread

  Alt 11. Nov 2004, 09:03
Zitat von Kedariodakon:
Hab ähnliches Problem, wollte eine TADOConnection in einen Thread packen, aber wenn ich die Verbindung öffne, wird der Thread gleich terminiert...

Liegt das auch daran?
Ja. Probier einfach mal das gleiche.

Zitat von Kedariodakon:
Bevor man die schon erstellt, oder erst wenn ich die Verbindung öffnen will?
Ich würde sofort bei Starten des Threads das Appartment anmelden. Ist am sichersten.
Windows Vista - Eine neue Erfahrung in Fehlern.
  Mit Zitat antworten Zitat
Benutzerbild von Kedariodakon
Kedariodakon

Registriert seit: 10. Sep 2004
Ort: Mönchengladbach
833 Beiträge
 
Delphi 7 Enterprise
 
#6

Re: ADO und Thread

  Alt 11. Nov 2004, 09:06
Tja ich bekomme immer:


Code:
[Fehler] FConThread.pas(76): Undefinierter Bezeichner: 'CoInitialize'
CoUninitialize Das selbe....


In welcher Unit ist diese Procedure Engebunden?


Bye


Edit: ActiveX habs gefunden...
Christian
  Mit Zitat antworten Zitat
Antwort Antwort


Forumregeln

Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are aus

Gehe zu:

Impressum · AGB · Datenschutz · Nach oben
Alle Zeitangaben in WEZ +1. Es ist jetzt 16:17 Uhr.
Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz