Hardware Informationen und Mac Adresse auslesen

Für Fragen zur Programmiersprache auf welcher Lazarus aufbaut
Antworten
dw40u
Beiträge: 8
Registriert: Di 5. Aug 2008, 18:54

Hardware Informationen und Mac Adresse auslesen

Beitrag von dw40u »

Hallo,

ich bin gerade dabei ein Delphi Projekte in Lazarus umzuwandeln. Nun stellen sich zwei Probleme:

1. Wie kann ich Hardware Infos über die WMI auslesen

2. Wie erhalte ich die Mac Adresse der Netzwerkkarte

Vieleicht kann ja jemand helfen...

Christian
Beiträge: 6079
Registriert: Do 21. Sep 2006, 07:51
OS, Lazarus, FPC: iWinux (L 1.x.xy FPC 2.y.z)
CPU-Target: AVR,ARM,x86(-64)
Wohnort: Dessau
Kontaktdaten:

Beitrag von Christian »

Funktioniert beides genau wie vorher unter Windows.
Falls du das unter Linux machen willst, WMI gibts da nicht.
W.m.k.A.h.e.m.F.h. -> http://www.gidf.de/

dw40u
Beiträge: 8
Registriert: Di 5. Aug 2008, 18:54

Beitrag von dw40u »

Nur laufen die Komponenten nicht :-(

Habe die Web.._TBL versucht zu verwenden. Aber da kommen nur Fehlermeldungen...

Christian
Beiträge: 6079
Registriert: Do 21. Sep 2006, 07:51
OS, Lazarus, FPC: iWinux (L 1.x.xy FPC 2.y.z)
CPU-Target: AVR,ARM,x86(-64)
Wohnort: Dessau
Kontaktdaten:

Beitrag von Christian »

Naja Fehler kann man beheben, kommt mir manchmal vor als ob das sehr schwer zu verstehen ist. Was denn für Fehlermeldungen?
W.m.k.A.h.e.m.F.h. -> http://www.gidf.de/

dw40u
Beiträge: 8
Registriert: Di 5. Aug 2008, 18:54

Beitrag von dw40u »

Folgendes Meldet der Compiler:
Unit1.pas(20,46) Hint: Parameter "CloseAction" not used
C:\Delphi\Lazarus\InternetCafe.ag\GemeinsameUnits\WbemScripting_TLB.pas(49,2) Warning: Illegal compiler directive "$VARPROPSETTER"
C:\Delphi\Lazarus\InternetCafe.ag\GemeinsameUnits\WbemScripting_TLB.pas(1,1) Fatal: Can't find unit StdVCL used by WbemScripting_TLB
C:\Delphi\Lazarus\InternetCafe.ag\GemeinsameUnits\WbemScripting_TLB.pas(49,2) Warning: Illegal compiler directive "$VARPROPSETTER"
C:\Delphi\Lazarus\InternetCafe.ag\GemeinsameUnits\WbemScripting_TLB.pas(2751,18) Error: Improper GUID syntax
C:\Delphi\Lazarus\InternetCafe.ag\GemeinsameUnits\WbemScripting_TLB.pas(2753,17) Warning: Some fields coming after "Version" weren't initialized
C:\Delphi\Lazarus\InternetCafe.ag\GemeinsameUnits\WbemScripting_TLB.pas(2863,18) Error: Improper GUID syntax
C:\Delphi\Lazarus\InternetCafe.ag\GemeinsameUnits\WbemScripting_TLB.pas(2865,17) Warning: Some fields coming after "Version" weren't initialized
C:\Delphi\Lazarus\InternetCafe.ag\GemeinsameUnits\WbemScripting_TLB.pas(2991,18) Error: Improper GUID syntax
C:\Delphi\Lazarus\InternetCafe.ag\GemeinsameUnits\WbemScripting_TLB.pas(2993,17) Warning: Some fields coming after "Version" weren't initialized
C:\Delphi\Lazarus\InternetCafe.ag\GemeinsameUnits\WbemScripting_TLB.pas(3399,18) Error: Improper GUID syntax
C:\Delphi\Lazarus\InternetCafe.ag\GemeinsameUnits\WbemScripting_TLB.pas(3401,17) Warning: Some fields coming after "Version" weren't initialized
C:\Delphi\Lazarus\InternetCafe.ag\GemeinsameUnits\WbemScripting_TLB.pas(3702,17) Warning: Some fields coming after "Version" weren't initialized
C:\Delphi\Lazarus\InternetCafe.ag\GemeinsameUnits\WbemScripting_TLB.pas(3773,69) Error: Incompatible types: got "OleVariant" expected "TOleEnum"
C:\Delphi\Lazarus\InternetCafe.ag\GemeinsameUnits\WbemScripting_TLB.pas(3815,18) Error: Improper GUID syntax
C:\Delphi\Lazarus\InternetCafe.ag\GemeinsameUnits\WbemScripting_TLB.pas(3817,17) Warning: Some fields coming after "Version" weren't initialized
C:\Delphi\Lazarus\InternetCafe.ag\GemeinsameUnits\WbemScripting_TLB.pas(4299,18) Error: Improper GUID syntax
C:\Delphi\Lazarus\InternetCafe.ag\GemeinsameUnits\WbemScripting_TLB.pas(4301,17) Warning: Some fields coming after "Version" weren't initialized
C:\Delphi\Lazarus\InternetCafe.ag\GemeinsameUnits\WbemScripting_TLB.pas(4617) Fatal: There were 7 errors compiling module, stopping

Christian
Beiträge: 6079
Registriert: Do 21. Sep 2006, 07:51
OS, Lazarus, FPC: iWinux (L 1.x.xy FPC 2.y.z)
CPU-Target: AVR,ARM,x86(-64)
Wohnort: Dessau
Kontaktdaten:

Beitrag von Christian »

Die StdVcl kannst schonmal auskommentieren. Die anderen beiden Sachen sagen mir jetzt nichts. Ich hab aber schon mit WMI gearbeitet ich muss mal schaun wie das war.
W.m.k.A.h.e.m.F.h. -> http://www.gidf.de/

dw40u
Beiträge: 8
Registriert: Di 5. Aug 2008, 18:54

Beitrag von dw40u »

Bei diesem Code meldet er:

procedure TSWbemNamedValueSet.InitServerData;
const
CServerData: TServerData = (
ClassID: '{9AED384E-CE8B-11D1-8B05-00600806D9B6}';
IntfIID: '{CF2376EA-CE8C-11D1-8B05-00600806D9B6}';
EventIID: '';
LicenseKey: nil;
Version: 500);
begin
ServerData := @CServerData;
end;

C:\Delphi\Lazarus\InternetCafe.ag\GemeinsameUnits\WbemScripting_TLB.pas(49,2) Warning: Illegal compiler directive "$VARPROPSETTER"
C:\Delphi\Lazarus\InternetCafe.ag\GemeinsameUnits\WbemScripting_TLB.pas(2751,18) Error: Improper GUID syntax
C:\Delphi\Lazarus\InternetCafe.ag\GemeinsameUnits\WbemScripting_TLB.pas(2753,17) Warning: Some fields coming after "Version" weren't initialized
C:\Delphi\Lazarus\InternetCafe.ag\GemeinsameUnits\WbemScripting_TLB.pas(2863,18) Error: Improper GUID syntax
C:\Delphi\Lazarus\InternetCafe.ag\GemeinsameUnits\WbemScripting_TLB.pas(2865,17) Warning: Some fields coming after "Version" weren't initialized
C:\Delphi\Lazarus\InternetCafe.ag\GemeinsameUnits\WbemScripting_TLB.pas(2991,18) Error: Improper GUID syntax
C:\Delphi\Lazarus\InternetCafe.ag\GemeinsameUnits\WbemScripting_TLB.pas(2993,17) Warning: Some fields coming after "Version" weren't initialized
C:\Delphi\Lazarus\InternetCafe.ag\GemeinsameUnits\WbemScripting_TLB.pas(3399,18) Error: Improper GUID syntax
C:\Delphi\Lazarus\InternetCafe.ag\GemeinsameUnits\WbemScripting_TLB.pas(3401,17) Warning: Some fields coming after "Version" weren't initialized
C:\Delphi\Lazarus\InternetCafe.ag\GemeinsameUnits\WbemScripting_TLB.pas(3702,17) Warning: Some fields coming after "Version" weren't initialized
C:\Delphi\Lazarus\InternetCafe.ag\GemeinsameUnits\WbemScripting_TLB.pas(3773,69) Error: Incompatible types: got "OleVariant" expected "TOleEnum"
C:\Delphi\Lazarus\InternetCafe.ag\GemeinsameUnits\WbemScripting_TLB.pas(3815,18) Error: Improper GUID syntax
C:\Delphi\Lazarus\InternetCafe.ag\GemeinsameUnits\WbemScripting_TLB.pas(3817,17) Warning: Some fields coming after "Version" weren't initialized
C:\Delphi\Lazarus\InternetCafe.ag\GemeinsameUnits\WbemScripting_TLB.pas(4299,18) Error: Improper GUID syntax
C:\Delphi\Lazarus\InternetCafe.ag\GemeinsameUnits\WbemScripting_TLB.pas(4301,17) Warning: Some fields coming after "Version" weren't initialized
C:\Delphi\Lazarus\InternetCafe.ag\GemeinsameUnits\WbemScripting_TLB.pas(4617) Fatal: There were 7 errors compiling module, stopping

dw40u
Beiträge: 8
Registriert: Di 5. Aug 2008, 18:54

Beitrag von dw40u »

// ************************************************************************ //
// WARNING
// -------
// The types declared in this file were generated from data read from a
// Type Library. If this type library is explicitly or indirectly (via
// another type library referring to this type library) re-imported, or the
// 'Refresh' command of the Type Library Editor activated while editing the
// Type Library, the contents of this file will be regenerated and all
// manual modifications will be lost.
// ************************************************************************ //

// PASTLWTR : $Revision: 1.130.1.0.1.0.1.6 $
// File generated on 09/07/2003 16:17:52 from Type Library described below.

// ************************************************************************ //
// Type Lib: D:\WINDOWS\System32\wbem\wbemdisp.TLB (1)
// LIBID: {565783C6-CB41-11D1-8B02-00600806D9B6}
// LCID: 0
// Helpfile:
// DepndLst:
// (1) v2.0 stdole, (D:\WINDOWS\System32\stdole2.tlb)
// (2) v4.0 StdVCL, (D:\WINDOWS\System32\STDVCL40.DLL)
// Errors:
// Hint: Member 'Class' of 'ISWbemObjectPath' changed to 'Class_'
// Hint: Member 'Object' of 'ISWbemRefreshableItem' changed to 'Object_'
// Error creating palette bitmap of (TSWbemLocator) : Server D:\WINDOWS\System32\wbem\wbemdisp.dll contains no icons
// Error creating palette bitmap of (TSWbemNamedValueSet) : Server D:\WINDOWS\System32\wbem\wbemdisp.dll contains no icons
// Error creating palette bitmap of (TSWbemObjectPath) : Server D:\WINDOWS\System32\wbem\wbemdisp.dll contains no icons
// Error creating palette bitmap of (TSWbemLastError) : Server D:\WINDOWS\System32\wbem\wbemdisp.dll contains no icons
// Error creating palette bitmap of (TSWbemSink) : Server D:\WINDOWS\System32\wbem\wbemdisp.dll contains no icons
// Error creating palette bitmap of (TSWbemDateTime) : Server D:\WINDOWS\System32\wbem\wbemdisp.dll contains no icons
// Error creating palette bitmap of (TSWbemRefresher) : Server D:\WINDOWS\System32\wbem\wbemdisp.dll contains no icons
// ************************************************************************ //
// *************************************************************************//
// NOTE:
// Items guarded by $IFDEF_LIVE_SERVER_AT_DESIGN_TIME are used by properties
// which return objects that may need to be explicitly created via a function
// call prior to any access via the property. These items have been disabled
// in order to prevent accidental use from within the object inspector. You
// may enable them by defining LIVE_SERVER_AT_DESIGN_TIME or by selectively
// removing them from the $IFDEF blocks. However, such items must still be
// programmatically created via a method of the appropriate CoClass before
// they can be used.
{$TYPEDADDRESS OFF} // Unit must be compiled without type-checked pointers.
{$WARN SYMBOL_PLATFORM OFF}
{$WRITEABLECONST ON}
{$VARPROPSETTER ON}
interface

uses Windows, ActiveX, Classes, Graphics, OleServer, Variants;


// *********************************************************************//
// GUIDS declared in the TypeLibrary. Following prefixes are used:
// Type Libraries : LIBID_xxxx
// CoClasses : CLASS_xxxx
// DISPInterfaces : DIID_xxxx
// Non-DISP interfaces: IID_xxxx
// *********************************************************************//
const
// TypeLibrary Major and minor versions
WbemScriptingMajorVersion = 1;
WbemScriptingMinorVersion = 2;

...

dw40u
Beiträge: 8
Registriert: Di 5. Aug 2008, 18:54

Ich verzweifele mit dem WMI noch :-(

Beitrag von dw40u »

Ich habe noch weiter im Internet gesucht, finde aber nichts in dieser Richtung...

Ich habe mir die WMI and SMART Component von Magsys die Datei magwmi50.zip heruntergeladen.

Alles für Lazarus umgewandelt und dann kommen die Fehlermeldungen in der Datei WbemScripting_TLB.pas

Ich bin wie folgt vorgegangen:

1. Delphi in Lazarus Projekt umwandeln
2. FCL und LCL als abhänigkeit hinzugefügt
3. Das ganze erstellt

Code: Alles auswählen

WbemScripting_TLB.pas(49,2) Warning: Illegal compiler directive "$VARPROPSETTER"
WbemScripting_TLB.pas(1,1) Fatal: Can't find unit StdVCL used by WbemScripting_TLB
4. StdVCL ausdokomentiert {StdVCL,}

Code: Alles auswählen

WbemScripting_TLB.pas(49,2) Warning: Illegal compiler directive "$VARPROPSETTER"
WbemScripting_TLB.pas(2751,18) Error: Improper GUID syntax
WbemScripting_TLB.pas(2753,17) Warning: Some fields coming after "Version" weren't initialized
WbemScripting_TLB.pas(2863,18) Error: Improper GUID syntax
WbemScripting_TLB.pas(2865,17) Warning: Some fields coming after "Version" weren't initialized
WbemScripting_TLB.pas(2991,18) Error: Improper GUID syntax
WbemScripting_TLB.pas(2993,17) Warning: Some fields coming after "Version" weren't initialized
WbemScripting_TLB.pas(3399,18) Error: Improper GUID syntax
WbemScripting_TLB.pas(3401,17) Warning: Some fields coming after "Version" weren't initialized
WbemScripting_TLB.pas(3702,17) Warning: Some fields coming after "Version" weren't initialized
WbemScripting_TLB.pas(3773,69) Error: Incompatible types: got "OleVariant" expected "TOleEnum"
WbemScripting_TLB.pas(3815,18) Error: Improper GUID syntax
WbemScripting_TLB.pas(3817,17) Warning: Some fields coming after "Version" weren't initialized
WbemScripting_TLB.pas(4299,18) Error: Improper GUID syntax
WbemScripting_TLB.pas(4301,17) Warning: Some fields coming after "Version" weren't initialized
WbemScripting_TLB.pas(4617) Fatal: There were 7 errors compiling module, stopping
Hat jemand noch eine idee?

Euklid
Lazarusforum e. V.
Beiträge: 2808
Registriert: Fr 22. Sep 2006, 10:38
OS, Lazarus, FPC: Lazarus v2.0.10, FPC 3.2.0
Wohnort: Hessen
Kontaktdaten:

Beitrag von Euklid »

Hallo dw40u,

eine Beschreibung der Fehlermeldungen bzw. was sich dahinter verbirgt, findest du hier:

http://www.freepascal.org/docs-html/user/userse61.html" onclick="window.open(this.href);return false;

Offenbar hat die GUID nicht die richtige Form. Zu dem anderen Error findest du hier was:

http://www.freepascal.org/docs-html/user/userse62.html" onclick="window.open(this.href);return false;

Ich hoffe, es hilft weiter.

Viele Grüße, Euklid

Antworten