Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Sonstige Fragen zu Delphi (https://www.delphipraxis.net/19-sonstige-fragen-zu-delphi/)
-   -   Delphi Bei verwenden von Komponente für WMI Fehler (https://www.delphipraxis.net/45148-bei-verwenden-von-komponente-fuer-wmi-fehler.html)

JasonDX 30. Apr 2005 15:16


Bei verwenden von Komponente für WMI Fehler
 
Liste der Anhänge anzeigen (Anzahl: 1)
Alter Mann hat mir diese (also seine ;) ) Komponenten empfohlen, um WMI-Klassen auszulesen
Sie funktioieren auch ziemlich gut, zumindest in einer normalen Applikation.

Will ich jedoch das Forumlar mit den Komponenten nicht mehr in einer normalen App erstellen, sondern in eine dll packen, bekomme ich bei dieser zeile
Delphi-Quellcode:
WMIDataset1.Execute;
folgende Fehlermeldung:
Zitat...

---------------------------
Debugger Exception Notification
---------------------------
Project Project1.exe raised exception class EOleSysError with message 'CoInitialize wurde nicht aufgerufen'. Process stopped. Use Step or Run to continue.
---------------------------
OK Help
---------------------------

Zumindest krieg ich die Fehlermeldung nicht, wenn ich diese Zeile ausklammere ;)

Liegt der Fehler irgendwo bei mir, bei den Komponenten oder woanders?


Im Anhang die DLL, wie das ganze gelöst wird.

Der Aufruf erfolgt so:
Delphi-Quellcode:
//...
procedure GetClassProperties(ClassName: PChar; PropertyCount: PInteger;
    DeviceCount: PInteger; aProperties: Pointer); stdcall;
external 'F:\Chimaira\My Documents\Active Projects\NAMP\TVInterface\WMIDLL\WMIClass.dll';
//...
GetClassProperties('Win32_Processor', @PropCount, @DevCount, Result);
//...

ReDoX 30. Apr 2005 15:32

Re: Bei verwenden von Komponente für WMI Fehler
 
hi,
das Problem hatte ich auch schon mal zwar nicht mit der Komponente aber auch mit CoInitialize.
Du musst

Delphi-Quellcode:
 CoInitialize(nil);
und
Delphi-Quellcode:
 CoUninitialize;
aufrufen.
Mfg ReDoX

Alter Mann 30. Apr 2005 16:04

Re: Bei verwenden von Komponente für WMI Fehler
 
Hallo

Kleine Frage an Chimaira:

Welchen Namenspace nutzt Du denn? Im OI ist bei WMIConnect nichts eingetragen und im Source wird
auch kein Namespace zugewiesen.

Gruß.

PS Wenn Möglich schicke mal ein App die die Function der DLL nutzt. (PN)

JasonDX 30. Apr 2005 16:13

Re: Bei verwenden von Komponente für WMI Fehler
 
@ReDoX: Klappt
Wenn man sich jetzt die Lösung anschaut und sich die Fehlermeldung durchliest, hätt man eigentlich selber draufkommen müssen :wall:
THX!!

@Alter Mann: NameSpace is root\CIMV2, bei WMIConnect is die andere Kompo eingetragen


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