Guybrush Threepwood Geschrieben 9. Oktober 2002 Geschrieben 9. Oktober 2002 Hi, ich hab ein Programm (mit Windows API) welches auf verschiedene COM-Interface zugreift, dazu wird am Anfang (bei WM_CREATE) die Funktion CoInitialize(0) ausgeführt. Bei Win98 läuft alles ohne Probleme, bei XP aber bekomme ich bei einer Funktion den Fehler "CoInitialize wurde nicht aufgerufen. ". Woran kann das liegen?:confused: Gruß Guybrush Zitieren
Klotzkopp Geschrieben 10. Oktober 2002 Geschrieben 10. Oktober 2002 Ist der Rückgabewert von CoInitialize in Ordnung? Verwendest Du Multithreading? Was für eine Funktion ist es, die den Fehler liefert? API oder selbstgeschrieben? Zitieren
Guybrush Threepwood Geschrieben 10. Oktober 2002 Autor Geschrieben 10. Oktober 2002 Der Rückgabewert ist in Ordnung, ich hab zwei Threads und die Funktion die den Fehler verursacht ist IDataInitialize::CreateDBInstance. Ich habe die Funktion jetzt auch in WM_CREATE gesetzt und jetzt funktionierts, ich hab aber keine Ahnung warum es anders nicht klappt. Zitieren
Guybrush Threepwood Geschrieben 10. Oktober 2002 Autor Geschrieben 10. Oktober 2002 Vorallem hab ich keine Ahnung warum es nur bei XP nicht anders klappt, bei 98 läufts ja auch wenn ich CreateDBInstance später aufrufe.:confused: Zitieren
Klotzkopp Geschrieben 10. Oktober 2002 Geschrieben 10. Oktober 2002 War der Aufruf der Funktion möglicherweise im zweiten Thread? Du musst CoInitialize für jeden Thread einzeln aufrufen. Das würde aber auch nicht erklären, warum es unter Windows 98 funktioniert hat... Zitieren
Guybrush Threepwood Geschrieben 10. Oktober 2002 Autor Geschrieben 10. Oktober 2002 Ja, die Funktion wurde im 2. Thread aufgerufen und CoInitialize im 1. Ich hab das gerade nochmal probiert und bei 98 klappts und bei XP nicht. Gruß Guybrush Zitieren
Empfohlene Beiträge
Dein Kommentar
Du kannst jetzt schreiben und Dich später registrieren. Wenn Du ein Konto hast, melde Dich jetzt an, um unter Deinem Benutzernamen zu schreiben.