Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Win32/Win64 API (native code) (https://www.delphipraxis.net/17-win32-win64-api-native-code/)
-   -   C++ Fehler 0x8007007E bei CoCreateInstance (https://www.delphipraxis.net/131657-fehler-0x8007007e-bei-cocreateinstance.html)

Orakel-von-Delphi 28. Mär 2009 12:47


Fehler 0x8007007E bei CoCreateInstance
 
Hallo Gemeinde !

Ich bei komme einen Fehler 0x8007007E beim Aufruf von CoCreateInstance:

Code:
.
.
.
    HRESULT hResult;
    IShellDispatch *pISD;
.
.
.
    CoInitialize(NULL);

    CLSID clsID;
    if (SUCCEEDED(hResult = ::CLSIDFromProgID(L"Shell.Application", &clsID)))
    {
        hResult = CoCreateInstance(clsID, NULL, CLSCTX_INPROC_SERVER, IID_IShellDispatch, (void **)&pISD);

        if (SUCCEEDED(hResult) && pISD != NULL)
        {
            .
            .
            .
        }
        else
        {
            printf ("CoCreateInstance fails with 0x%8.8X.\n", hResult);
        }
    }
    else
    {
        printf ("Could not get CLSID (0x%8.8X).\n", hResult);
    }

    CoUninitialize();
.
.
.
Auf einer anderen XP Maschine läuft der Code. Reparatur Tools haben an der Registry (auch solche die Geld kosten) versagt. Was kann denn noch die Ursache für das Problem sein ???

Christian Seehase 28. Mär 2009 13:54

Re: Fehler 0x8007007E bei CoCreateInstance
 
Moin Orakel,

http://www.google.de/search?hl=de&q=...nG=Suche&meta=

vielleicht hilft ja schon die erste Fundstelle.

Orakel-von-Delphi 28. Mär 2009 14:07

Re: Fehler 0x8007007E bei CoCreateInstance
 
Das habe ich schon gesehen. Bei mir wird aber das Shell-Interface genutzt ("Shell.Application") und die gewünschte Funktion der Shell - das Zippen - funktioniert einwandfrei, wenn man es bspw. im Explorer aufruft. Die Shell32.dll kann also eigentlich nicht beschädigt sein.

Eine Neuinstallation wollte ich eigentlich wg. der Vielzahl von Programmen (bspw. VC++, Delphi 2007, .NET, ... uvm.) vermeiden.

Christian Seehase 29. Mär 2009 03:18

Re: Fehler 0x8007007E bei CoCreateInstance
 
Moin Orakel,

ist für das Zippen nicht die Zipfldr.dll zuständig? :gruebel:

Orakel-von-Delphi 29. Mär 2009 10:02

Re: Fehler 0x8007007E bei CoCreateInstance
 
Ist ist mir schon bekannt, aber das benötigte Interface ist "Shell.Application".

BTW: Die entsprechenden DLLs sind auf beiden Systemen gleich:

Shell32.dll Version 6.00.2900.5622
zipfldr.dll Version 6.0.2900.5612

Sieht also nicht nach einem Problem mit den DLLs aus ...

Christian Seehase 29. Mär 2009 13:54

Re: Fehler 0x8007007E bei CoCreateInstance
 
Moin Orakel,

ist die Zipfldr.dll denn auf dem System, auf dem es fehlschlägt überhaupt registriert?
Da ich diese Funktionalität nicht benötige, deregistriere ich die immer, und ich denke mal, dass dann auch die interne Nutzung der Zip-Funktionaliät damit ausser Betrieb ist.

Orakel-von-Delphi 29. Mär 2009 16:15

Re: Fehler 0x8007007E bei CoCreateInstance
 
Zitat:

Zitat von Christian Seehase
Moin Orakel,

ist die Zipfldr.dll denn auf dem System, auf dem es fehlschlägt überhaupt registriert?

Definitiv ja ! Habe sie extra noch mal mit regsvr32.exe registriert.

Orakel-von-Delphi 31. Mär 2009 15:34

MS Tech-Net ?
 
Werde mal einen Kontakt zu MS Tech-Net aufmachen. Die gr. Firma für die ich als Sub arbeitet hat da einen Kontakt. Mal sehen, ob es etwas bringt ...


Alle Zeitangaben in WEZ +1. Es ist jetzt 21:03 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