AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Programmierung allgemein Datenbanken Delphi CoInitialize wurde nicht aufgerufen
Thema durchsuchen
Ansicht
Themen-Optionen

CoInitialize wurde nicht aufgerufen

Ein Thema von bk_moon · begonnen am 15. Jun 2007 · letzter Beitrag vom 22. Jun 2007
Antwort Antwort
bk_moon

Registriert seit: 15. Jun 2007
4 Beiträge
 
Delphi 2007 Enterprise
 
#1

CoInitialize wurde nicht aufgerufen

  Alt 15. Jun 2007, 21:07
Datenbank: Access • Version: 2003 • Zugriff über: ADO
Hallo Leute,

ich hoffe einer von Euch kann mir helfen - ich werd echt noch wahnsinnig!
Ich mach gerade meine ersten Versuche mit Delphi2007 und den IntraWeb Komponenten.
Ich wollte eigentlich eine Datenbank auslesen und als Webseite anzeigen, aber das klappt nicht.
Es kommt immer der gleiche Fehler: 'CoInitialize wurde nicht aufgerufen'.
Ich hab jetzt auch schon überall nachgeschlagen und ausprobiert, aber nichts funktioniert.

Folgender Aufbau:
Ich hab lediglich eine TADOConnection, eine TADOTable, ein TDataSource und ein TIWDBEdit auf mein Formular gezogen,
alles mit meiner Access Datenbank verbunden und gestartet. Dann kam der Fehler!
Dann habe ich CoInitialize(nil) überall ausprobiert - in der Projektdatei, vor dem Application.run, danach,
in der eigentlichen unit, im Form.Create - quasi überall. Und immer der gleiche Fehler.
Ich weiß echt nicht mehr weiter!!!

Ich hoffe einer von Euch hat eine Idee!
Schon mal vielen Dank!
  Mit Zitat antworten Zitat
Benutzerbild von Luckie
Luckie

Registriert seit: 29. Mai 2002
37.621 Beiträge
 
Delphi 2006 Professional
 
#2

Re: CoInitialize wurde nicht aufgerufen

  Alt 15. Jun 2007, 22:49
Dann ruf doch CoInitialize auf. Ups sorry, hast du ja schon ausprobiert. Ich würde es da aufrufen, wo die Verbindung hergestellt wird. Eventuel im Initialization-Abschnitt der Unit.
Michael
Ein Teil meines Codes würde euch verunsichern.
  Mit Zitat antworten Zitat
alzaimar
(Moderator)

Registriert seit: 6. Mai 2005
Ort: Berlin
4.956 Beiträge
 
Delphi 2007 Enterprise
 
#3

Re: CoInitialize wurde nicht aufgerufen

  Alt 16. Jun 2007, 06:57
Vermutlich werden die ADO-Komponenten innerhalb eines Threads aufgerufen. Du musst die CoInitialize / CoUninitialize Aufrufe im Kontext des Threads ausführen, der die COM-Objekte verwendet.
"Wenn ist das Nunstruck git und Slotermeyer? Ja! Beiherhund das Oder die Flipperwaldt gersput!"
(Monty Python "Joke Warefare")
  Mit Zitat antworten Zitat
bk_moon

Registriert seit: 15. Jun 2007
4 Beiträge
 
Delphi 2007 Enterprise
 
#4

Re: CoInitialize wurde nicht aufgerufen

  Alt 16. Jun 2007, 18:50
Erst mal Danke für Eure Unterstützung.

Also das mit dem CoInitialize in dem Initialization-Teil von der Unit hab ich probiert - leider auch ohne Erfolg.
Das mit dem Thread probiere ich gerade aus, wobei ich mir aber nicht sicher bin, wie das funktioniert.
Ich hab jetzt einen Thread erstellt (bin mir aber nicht sicher, ob ich das richtig gemacht habe) und im Execute
das CoInitialize aufgerufen:

Delphi-Quellcode:
unit Unit3;

interface

uses
  Classes, SysUtils, IWAppForm, IWApplication, IWColor, IWTypes, DB, ADODB,
  Controls, IWVCLBaseControl, IWBaseControl, IWBaseHTMLControl, IWControl,
  IWGrids, IWDBGrids, IWCompButton, ActiveX;

type
  TMyOwnThread =class(TThread)
  protected
    procedure Execute; override;
  end;

  TIWForm3 = class(TIWAppForm)
    IWDBGrid1: TIWDBGrid;
    ADOConnection1: TADOConnection;
    DataSource1: TDataSource;
    ADOTable1: TADOTable;
    IWButton1: TIWButton;
    procedure IWButton1Click(Sender: TObject);
    procedure IWAppFormCreate(Sender: TObject);
  public
  end;

implementation

{$R *.dfm}


procedure TMyOwnThread.Execute;
begin
  CoInitialize(nil);
end;

procedure TIWForm3.IWAppFormCreate(Sender: TObject);
var
  Thread: TMyOwnThread;
begin
  Thread := TMYOwnThread.Create(True);
  Thread.Execute;
end;
Das klappt aber leider auch nicht! Was kann ich sonst noch machen?
  Mit Zitat antworten Zitat
Benutzerbild von Luckie
Luckie

Registriert seit: 29. Mai 2002
37.621 Beiträge
 
Delphi 2006 Professional
 
#5

Re: CoInitialize wurde nicht aufgerufen

  Alt 16. Jun 2007, 23:51
Ruf das am Anfang der Execute Methode auf. Dann sollte es klappen.
Michael
Ein Teil meines Codes würde euch verunsichern.
  Mit Zitat antworten Zitat
bk_moon

Registriert seit: 15. Jun 2007
4 Beiträge
 
Delphi 2007 Enterprise
 
#6

Re: CoInitialize wurde nicht aufgerufen

  Alt 22. Jun 2007, 16:38
Jetzt klappts! Vielen Dank für Eure Hilfe!!!
  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:39 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