Delphi-PRAXiS
Seite 1 von 2  1 2      

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Software-Projekte der Mitglieder (https://www.delphipraxis.net/26-software-projekte-der-mitglieder/)
-   -   [Kompo] TWindowsVersionsInfo - Kompo zur Windowserkennung (https://www.delphipraxis.net/97999-%5Bkompo%5D-twindowsversionsinfo-kompo-zur-windowserkennung.html)

MagicAndre1981 20. Aug 2007 14:23


[Kompo] TWindowsVersionsInfo - Kompo zur Windowserkennung
 
Liste der Anhänge anzeigen (Anzahl: 3)
TWindowsVersionsInfo - Kompo zur Windowserkennung

Version: 1.5

Da mehrfach danach gefragt wurde hab ich mal die Windowserkennng in eine Klasse gepackt, die per Direktive auch als VLC-Kompo auf die Form geklatscht werden kann.

Die Kompo ist nix besonderes, halt nur den Kram, den ich schon für die CodeLib gepostet hatte. Ich hab jetzt die Erkennung der Vista- und Windows Server 2008 Editions ohne WMI implementiert.

Code:
* Kappselung als Kompo/Klasse
* Erkennung der Vista- und Windows Server 2008 Editions ohne WMI implementiert.
+ Erkennung der K(N), N Editions von WIndows XP (Pro, Home) und WIndows Server 2003.
+ Erkennung der Windows XP Embedded
+ Erkennung der Windows Home Server Version ( [url]http://de.wikipedia.org/wiki/Windows_Home_Server[/url])
+ neue Betas werden erkannt
Fix: Fix bei Erkennung der Windows Server 2003 Web Edition
Changelog zur Version 1.0.1:
Code:
- Erkennung der Vista/Server2008 Revision überarbeitet
- Erkennung von Windows Server 2008 RC0/RC1/RTM
- Code lässt sich unter Delphi 2009 compilieren
- Support für Windows 7 / Server 2008 R2
- neue Properties: - Codename
                   - IsBeta
- Erkennung für Windows Vista / Server 2008 Sp2
- Erkennung für neue Windows Server 2008 Editionen
Changelog zur Version 1.0:
Code:
Fix: Units lies sich nicht als nonVCL kompilieren
+    Longhorn M6 4039 Erkennung hinzugefügt
Unterstütze Versionen:
  • Windows 7 (alle SKUs) (die genauen Editionen können sich noch ändern)
  • Windows Server 2008 R2 (alle SKUs)
  • Windows Vista (alle SKUs)
  • Windows Server 2008 (alle SKUs, inclusive EBS, SBS, Hyper-V, HPC)
  • Windows Longhorn Alphas
  • Windows Server 2003 (Standard, Web Edition, Enterprise, DataCenter, Standard Edition for Itanium-based Systems, Enterprise Edition for Itanium-based Systems, DataCenter Edition for Itanium-based Systems, Standard x64 Edition, Enterprise x64 Edition, DataCenter x64 Edition)
  • Windows Server 2003 R2
  • Windows Home Server
  • Windows XP Prof. x64 Edition
  • Windows XP Prof. (K, N)
  • Windows XP Home (K, N)
  • Windows XP Tablet Edition und TabletPC Edition 2005
  • Windows Fundamentals for Legacy PCs
  • Windows XP Media Center Edition alle Versionen (2002, 2004, 2005)
  • Windows 2000 (Prof., Server, DataCenter, Advanced Server + Betas (Codename NT5.0))
  • Windows NT 4 Server (Server, Enterprise Server, Advanced Server)
  • Windows NT 4 Workstation (mit Unterscheidunf zw. SP6 und SP6a)
  • Windows NT 3.51
  • Windows 95 (A,B,C + Betas (Codename: Chicago, Nashville))
  • Windows 98 (Original, SE + Betas (Codename: Memphis))
  • Windows ME (Original + BETA 1 (Codename: Georgia))

Quellen:

Bugs:

Code:
#1: Unit lässt sich als non VCL nicht kompilieren. beseitigt in Version 1.0.1
Aufbau:

Hier gibts eine Liste der Öffentlichen Funktionen Properties.

Delphi-Quellcode:
    function IsWindows2008ServerCore    : boolean;
    function IsServer : boolean;
    function IsWorkstation : boolean;
    function IsMediaCenterEdition : boolean;
    function IsTabletPCEdition : boolean;

    property MajorVersion          : Byte read FMajorVersion;
    property MinorVersion          : Byte read FMinorVersion;
    property BuildNumber           : DWORD read FBuild;
    property BuildRevision         : DWORD read FBuildRev;
    property ServicePack           : string read FServicePack;
    property WindowsVersionsString : string read FFullName;
    property BuildLab              : string read FBuildLab;
    property BuildLabEx            : string read FBuildLabEx;
    property ServicePackMajor      : Byte read FServicePackMajor;
    property ServicePackMinor      : Byte read FServicePackMinor;
    property PlatformID            : TWinType read FWinType;
    property WindowsVersion        : TWindowsVersions read FWindowsVersion;
    property WindowsEdition        : TWinEdition read FEdition;
    property IsBeta                : boolean read FIsBeta;
    property Codename              : string read FCodename;
    property ProcessorArchitecture : TProcessorArchitecture read FProcessorArchitecture;
  end;
Nach dem Erzeugen einer Instanz könnt ihr die verschiendensten Werte abfragen :

Delphi-Quellcode:
wvi := TWindowsVersionInfo.Create(self);

Edit_ComplString.Text := wvi.WindowsVersionsString;
  Edit1.Text := wvi.ServicePack;
  Edit2.Text := IntToStr( wvi.MajorVersion );
  Edit3.Text := IntToStr( wvi.MinorVersion );
  Edit4.Text := IntToStr( wvi.BuildNumber );
und ihr könnt auf spezielle Windowsversionsgruppen abfragen, die als Enum vorliegen:

Delphi-Quellcode:
  if wvi.WindowsVersion = wvWinVista then
Damit fragt ihr nach ob das aktuelle OS ein Vista OS ist. Wenn ihr jetzt auf eine spezielle Edition abfragen wollt, dann könnt ihr das Property WindowsEdition auf einen Wert testen:

Delphi-Quellcode:
if wvi.WindowsEdition = weVistaUltimate then // Test auf WIndows Vista Ultimate
Die weiteren Werte sind in der Unit zu finden.

Weitere Properties:
Abfrag der Platform (WinNT, WIn9x) und der Processorarchiteture gibts auch als Enums.

So, das sollte das wichtigeste sein damit ihr loslegen könnt.

Besonderen Dank geht an die Tester, die mein Testprogramm vor einigen Wochen getestet haben :)

Dann hab ich noch die Unit cruStrSplitter.pas genutzt. Von wehm diese ist weiß ich jetzt grad nicht. An diesen User gehen auch Credits.

Phoenix 20. Aug 2007 14:33

Re: [Kompo] TWIndowsVersionsInfo - Kompo zur Windowserkennun
 
:hello: Super!

DeddyH 20. Aug 2007 14:38

Re: [Kompo] TWIndowsVersionsInfo - Kompo zur Windowserkennun
 
Liest sich prima, mal schauen, ob das unter D7 auch funzt :thumb:

MagicAndre1981 20. Aug 2007 14:42

Re: [Kompo] TWIndowsVersionsInfo - Kompo zur Windowserkennun
 
ich hatte es unter D7 getestet. Bei früheren Versionen muss ich passen, da ich keine solche Version besitze.

Luckie 20. Aug 2007 20:32

Re: [Kompo] TWIndowsVersionsInfo - Kompo zur Windowserkennun
 
Muss das denn eine Kompnente sein? Reicht nicht auche ine einfache Unit?

MagicAndre1981 20. Aug 2007 20:49

Re: [Kompo] TWIndowsVersionsInfo - Kompo zur Windowserkennun
 
Kommentiere das {USE_VCL} aus und du hast eine normale Klasse ohne VCL ;)

Luckie 20. Aug 2007 20:51

Re: [Kompo] TWIndowsVersionsInfo - Kompo zur Windowserkennun
 
Ah, prima. Unter was für einer Lizenz steht denn eigentlich der Code?

turboPASCAL 20. Aug 2007 20:52

Re: [Kompo] TWIndowsVersionsInfo - Kompo zur Windowserkennun
 
Zitat:

Zitat von MagicAndre1981
Kommentiere das {USE_VCL} aus und du hast eine normale Klasse ohne VCL ;)

Mit 'ner SysUtils-Unit. :stupid: :zwinker:

MagicAndre1981 20. Aug 2007 21:00

Re: [Kompo] TWIndowsVersionsInfo - Kompo zur Windowserkennun
 
Zitat:

Zitat von turboPASCAL
Mit 'ner SysUtils-Unit. :stupid: :zwinker:

:? oh, da muss ich nochmal kucken.

Zitat:

Zitat von Luckie
Ah, prima. Unter was für einer Lizenz steht denn eigentlich der Code?

Solange du Credits gibts, kannst du den Code in allen Projekten (kommerziell und Opensource) nutzen wie du willst.

Mackhack 25. Aug 2007 02:33

Re: [Kompo] TWIndowsVersionsInfo - Kompo zur Windowserkennun
 
Was bedeuten denn die Versionen N, K und KN?

hathor 25. Aug 2007 08:21

Re: [Kompo] TWIndowsVersionsInfo - Kompo zur Windowserkennun
 
bds.exe, 10.0.2151.25345
Win xp pro sp2
-------------------------
[Pascal Error] WindowsVersionInfo.pas(1180): E2003 Undeclared identifier: 'IsWindows2008ServerCore'
[Pascal Error] WindowsVersionInfo.pas(1182): E2003 Undeclared identifier: 'Result'
[Pascal Error] WindowsVersionInfo.pas(1182): E2003 Undeclared identifier: 'FWindowsVersion'
[Pascal Error] WindowsVersionInfo.pas(1183): E2003 Undeclared identifier: 'FIsServerCore'
[Pascal Error] WindowsVersionInfo.pas(1186): E2003 Undeclared identifier: 'IsMediaCenterEdition'
[Pascal Error] WindowsVersionInfo.pas(1186): E2029 ';' expected but ':' found
[Pascal Error] WindowsVersionInfo.pas(1188): E2003 Undeclared identifier: 'Result'
[Pascal Error] WindowsVersionInfo.pas(1191): E2003 Undeclared identifier: 'IsServer'
[Pascal Error] WindowsVersionInfo.pas(1193): E2003 Undeclared identifier: 'Result'
[Pascal Error] WindowsVersionInfo.pas(1193): E2003 Undeclared identifier: 'FwProductType'
[Pascal Warning] WindowsVersionInfo.pas(1193): W1023 Comparing signed and unsigned types - widened both operands
[Pascal Warning] WindowsVersionInfo.pas(1194): W1023 Comparing signed and unsigned types - widened both operands
[Pascal Error] WindowsVersionInfo.pas(1197): E2003 Undeclared identifier: 'IsWorkstation'
[Pascal Error] WindowsVersionInfo.pas(1197): E2029 ';' expected but ':' found
[Pascal Error] WindowsVersionInfo.pas(1199): E2003 Undeclared identifier: 'Result'
[Pascal Error] WindowsVersionInfo.pas(1199): E2003 Undeclared identifier: 'FwProductType'
[Pascal Warning] WindowsVersionInfo.pas(1199): W1023 Comparing signed and unsigned types - widened both operands
[Pascal Error] WindowsVersionInfo.pas(1202): E2003 Undeclared identifier: 'IsTabletPCEdition'
[Pascal Error] WindowsVersionInfo.pas(1202): E2029 ';' expected but ':' found
[Pascal Error] WindowsVersionInfo.pas(1204): E2003 Undeclared identifier: 'Result'
[Pascal Fatal Error] Unit1.pas(7): F2063 Could not compile used unit 'WindowsVersionInfo.pas'

Was ist los???

MagicAndre1981 25. Aug 2007 10:16

Re: [Kompo] TWIndowsVersionsInfo - Kompo zur Windowserkennun
 
Zitat:

Zitat von Mackhack
Was bedeuten denn die Versionen N, K und KN?

Die K Editions sind spezial Versionen in Korea. Bei der K fehlt der Messenger und bei der KN der Messenger und MediaPlayer. Die N Edition muss in der EU angeboten werden und zwar ohne den Windows Media Player.

@hathor

mon, muss ich mal kucken.

Mackhack 25. Aug 2007 19:36

Re: [Kompo] TWIndowsVersionsInfo - Kompo zur Windowserkennun
 
Danke Andre fuer die Infos!

Gute arbeit will ich nochmals betonen. War sicherlich ne Menge Arbeit alleine nur das Researching!

MagicAndre1981 25. Aug 2007 20:18

Re: [Kompo] TWIndowsVersionsInfo - Kompo zur Windowserkennun
 
Update auf Version 1.0.1.

@hathor, dein Problem ist nun weg. Du wolltest die Unit als nonVCL nutzen, da hatte ich eine Compilerdirektive falsch :oops:

Zitat:

Zitat von Mackhack
War sicherlich ne Menge Arbeit alleine nur das Researching!

Das war es :(

taktaky 28. Aug 2007 08:55

Re: [Kompo] TWIndowsVersionsInfo - Kompo zur Windowserkennun
 
Hallo MagicAndre1981

ich habe immer noch nicht geschafft ! Ich verwende Delphi 7
was soll ich tun um ein Demo zu erstellen? Ich meine Schritt für Schritt
ich habe die Datei downloadet, drin dteht nur .pas und Komponenten Dateien.
http://www.members.lycos.co.uk/forfo...ndows-info.jpg

Kannst Du ein Demo erstellen? (als exe mit Delphi-Project (.dpr) )
icg möchte keine neue Thema erstellen, da Du hier gut beschrieben hast, aber für mich ist immer noch nicht ganz klar. ;)

Vielen Dank!

Gruß

SirThornberry 28. Aug 2007 09:09

Re: [Kompo] TWIndowsVersionsInfo - Kompo zur Windowserkennun
 
mir stellt sich eigentlich auch die Frage warum eine Klasse und nicht einfach eine Funktion?
Denn so muss man erst die Klasser erzeugen, dann die einzelnen Funktionen aufrufen (IsMediaCenterEdition etc.) und dann die Objectinstanz wieder freigeben.
Sinnvoller wäre doch eine Funktion welche einen Record füllt (oder zurück gibt) wo man dann im Record einfach die Bools ausliest. Zudem fände ich ein Enum/SetOf schöner als mehrere Funktionen. (lässt sich schöner prüfen)

MagicAndre1981 28. Aug 2007 11:33

Re: [Kompo] TWIndowsVersionsInfo - Kompo zur Windowserkennun
 
Ich finde Klassen schöner. So ein rumgefummel mit Records ist ist doch bäh :wall:

@taktaky

du packst in die
Delphi-Quellcode:
Uses WindowsVersionInfo
rein und erzeugst dir mit
Delphi-Quellcode:
wvi := TWindowsVersionInfo.Create
eine Instanz und dann kannst du die Werte abfragen.

negaH 28. Aug 2007 12:11

Re: [Kompo] TWIndowsVersionsInfo - Kompo zur Windowserkennun
 
aber nicht vergessen dieses erzeugte Objekt wieder freizugeben und nicht vergessen das alles in ein try finally Block zu kapseln damit bei einer Exception dieses Objekt wieder korrekt freigegeben wird.

Naja, warum umständlich wenn's mit einem Record diesen zusätzlichen Aufwand nicht gäbe.

Den Einwand halte ich für korrekt. Auch den Einwand Mengen zu benutzen, so könnte man mit einer einzigsten Abfrage alles wichtige erfragen. Klar, mit der jetzigen Methode fragt man eben mehrere Methoden und Properies als UND Abfrage ab, das sieht ja viel besser aus.

Ich könnte sogar den Einwand nachvollziehen warum man das nicht gleich als globale Variable einmalig beim Programstart initialisert, und gut ist. Klar, sieht immer schöner aus wenn man 100 mal die Version abfragt und das Program dem Hacker jedesmal 1000'ende Abfragen an das System vor die Nase klatscht.

Über Geschmack lässt sich streiten ;) wer Objekte schöner findet statt nach der Funktionalität zu schauen ?!
Wusstest du das Objekte im Grunde nur bessere Records sind ? Wer bäh zu Records sagt muss das dann zwangsläufig auch zu Objekten sagen. Das ist OOP ohne nach deren Wurzeln zu fragen.

Gruß Hagen

MagicAndre1981 28. Aug 2007 14:11

Re: [Kompo] TWIndowsVersionsInfo -Kompo zur Windowserkennung
 
Zitat:

Zitat von negaH
aber nicht vergessen dieses erzeugte Objekt wieder freizugeben und nicht vergessen das alles in ein try finally Block zu kapseln damit bei einer Exception dieses Objekt wieder korrekt freigegeben wird.

und wo ist das Problem?

Zitat:

Zitat von negaH
Über Geschmack lässt sich streiten

deshalb ist hier jetzt Schluss. Wer keine Klasse will soll sie nicht nutzen!! :roll: :roll: :roll: :roll:

Ruediger D 4. Apr 2008 11:04

Re: [Kompo] TWIndowsVersionsInfo -Kompo zur Windowserkennung
 
Hallo,

[quote="MagicAndre1981"]
Zitat:

Zitat von negaH
aber nicht vergessen dieses erzeugte Objekt wieder freizugeben und nicht vergessen das alles in ein try finally Block zu kapseln damit bei einer Exception dieses Objekt wieder korrekt freigegeben wird.

Das erübrigt sich doch sowieso, wenn ich die Komponente schlicht "aufs Formular klatsche", oder? Weil, explizit erzeuge ich dann doch nichts?

Viele Grüße
Ruediger

DeddyH 4. Apr 2008 11:15

Re: [Kompo] TWIndowsVersionsInfo - Kompo zur Windowserkennun
 
Wenn Du die Kompo "aufs Formular klatschst", musst Du Dich um die Freigabe nicht kümmern.

mkinzler 4. Apr 2008 11:19

Re: [Kompo] TWIndowsVersionsInfo - Kompo zur Windowserkennun
 
Erzeugt wird natürlich schon was, aber das Formular begeht dann einen 2erweiterten sebstmord" und bringt seine "Kinder" gleich mit um.

Ruediger D 4. Apr 2008 11:22

Re: [Kompo] TWIndowsVersionsInfo - Kompo zur Windowserkennun
 
...das muss reichen ;-)

Regan 20. Apr 2008 18:34

Re: [Kompo] TWIndowsVersionsInfo - Kompo zur Windowserkennun
 
Moin,
ich muss dir hiermit gleichmal ein ganz großes Lob aussprechen. Ich benutze das ganze als nicht-Kompo (für die aktion habe ich kein Formular) und muss sagen, dass ich voll und ganz zufrieden bin.

MfG
Regan

franz 8. Sep 2008 08:17

Re: [Kompo] TWIndowsVersionsInfo - Kompo zur Windowserkennun
 
Funktioniert mit folgenden Änderungen auch mit Delphi 5:

Delphi-Quellcode:
package WindowsVersionInfoPackage;

{$R *.RES}
{$R 'WindowsVersionInfo.dcr'}
{$ALIGN ON}
{$ASSERTIONS ON}
{$BOOLEVAL OFF}
{$DEBUGINFO OFF}
{$EXTENDEDSYNTAX ON}
{$IMPORTEDDATA ON}
{$IOCHECKS ON}
{$LOCALSYMBOLS OFF}
{$LONGSTRINGS ON}
{$OPENSTRINGS ON}
{$OPTIMIZATION ON}
{$OVERFLOWCHECKS OFF}
{$RANGECHECKS OFF}
{$REFERENCEINFO OFF}
{$SAFEDIVIDE OFF}
{$STACKFRAMES OFF}
{$TYPEDADDRESS OFF}
{$VARSTRINGCHECKS ON}
{$WRITEABLECONST OFF}
{$MINENUMSIZE 1}
{$IMAGEBASE $400000}
{$DESCRIPTION 'WindowsVersionsInfo'}
{$IMPLICITBUILD ON}
{$DEFINE RELEASE}

requires
  Vcl50;

contains
  Windows_Fragment,
  cruStrSplitter,
  WindowsVersionInfo in 'WindowsVersionInfo.pas';

end.

MagicAndre1981 8. Sep 2008 08:29

Re: [Kompo] TWIndowsVersionsInfo - Kompo zur Windowserkennun
 
danke für den Hinweis :thumb:

Mackhack 8. Sep 2008 08:40

Re: [Kompo] TWIndowsVersionsInfo - Kompo zur Windowserkennun
 
Andre,

ist deine Kompo eigentlich geupdated seit Vista und XP SP3 rauskam?

MagicAndre1981 8. Sep 2008 09:09

Re: [Kompo] TWIndowsVersionsInfo - Kompo zur Windowserkennun
 
brauch ich nicht. An der Art der Erkennung hat sich ja nix geändert. In den ServicePack Properties stehen halt nun die richtigen Werte drin.

smallsmoker 1. Okt 2008 15:03

Re: [Kompo] TWIndowsVersionsInfo - Kompo zur Windowserkennun
 
tolle arbeit hasst du da gemacht ! :thumb: danke :)

Echtet 1. Okt 2008 15:17

Re: [Kompo] TWIndowsVersionsInfo - Kompo zur Windowserkennun
 
Hallo Andre,

auch von mir ein Dankeschön für die Komponente, die ich gerne einsetze. Für mich als Hobbyprogrammierer ist sie sehr nützlich.

Ob Records oder Objekte besser sind kann ich nicht beurteilen, aber die Komponente funktioniert für meine Zwecke sehr gut.

Gruß,
Thimo

MagicAndre1981 1. Okt 2008 21:55

Re: [Kompo] TWIndowsVersionsInfo - Kompo zur Windowserkennun
 
ich bin grad dabei die Kompo Delphi 2009 fit zu machen. Könntet ihr mit die D6, D2005, 2006 und D2007 Package-Dateien hochladen? Dann gibts am WE das Update.

emsländer 4. Jan 2009 11:56

Re: [Kompo] TWIndowsVersionsInfo - Kompo zur Windowserkennun
 
Moin,

bei Delphi 2009 werden zwei Dinge angemeckert:

Delphi-Quellcode:
if (lstrcmpi(osvi.szCSDVersion,'Service Pack 2') = 0) then
(lstrcmpi(osvi.szCSDVersion,'Service Pack 6') = 0) then

Inkompatible Typen: Array und PWideChar.
Gruss

EL

Die Muhkuh 4. Jan 2009 11:58

Re: [Kompo] TWIndowsVersionsInfo - Kompo zur Windowserkennun
 
Bist heute auf Delphi 2009 - Komponentencheck? *g*

emsländer 4. Jan 2009 12:02

Re: [Kompo] TWIndowsVersionsInfo - Kompo zur Windowserkennun
 
Zitat:

Zitat von Die Muhkuh
Bist heute auf Delphi 2009 - Komponentencheck? *g*

so in etwa

Ich habe gestern das RAD 2009 ENT installiert und installiere nach und nach die Komponenten und gerate von einem Anfall in den nächsten.

Gruss

EL

emsländer 4. Jan 2009 12:04

Re: [Kompo] TWIndowsVersionsInfo - Kompo zur Windowserkennun
 
Zitat:

Zitat von MagicAndre1981
ich bin grad dabei die Kompo Delphi 2009 fit zu machen. Könntet ihr mit die D6, D2005, 2006 und D2007 Package-Dateien hochladen? Dann gibts am WE das Update.

Dein Wochenende dauert ganz schön lange :warn: ... bis jetzt in etwa drei Monate - nicht schlecht. :hello: So ein langes WE möchte ich auch einmal haben :cheers:

Gruss

EL

emsländer 4. Jan 2009 12:20

Re: [Kompo] TWIndowsVersionsInfo - Kompo zur Windowserkennun
 
Salvete Leute

hat jemand dafür noch ein Lösung? (dann bin ich mit meinen Komponenten soweit durch)

Delphi-Quellcode:
if (lstrcmpi(osvi.szCSDVersion,'Service Pack 2') = 0) then
(lstrcmpi(osvi.szCSDVersion,'Service Pack 6') = 0) then

Inkompatible Typen: Array und PWideChar.
Gruss

EL

juergen 4. Jan 2009 15:28

Re: [Kompo] TWIndowsVersionsInfo - Kompo zur Windowserkennun
 
Hallo zusammen,

hmm,ich mach mir schon Gedanken dass ich offensichtlich der einzige bin der nicht weiß wie man das Ganze implementieren muss und vor allem dann aufrufen kann...

Ich habe das Package installiert.
Ich habe die Komponente in der Toolpalette gefunden (unter "System" -> TWindowsVersionInfo)
Diese Komponente habe ich mir auf die Form "geklatscht".
Bis hier also alles i.O.

Was ist aber wvi
Delphi-Quellcode:
wvi := TWindowsVersionInfo.Create(self);
und was bedeutet
"Nach dem Erzeugen einer Instanz"...

Ich weiß mir fehlt hier (leider) Grundwissen, wäre nett wenn mir jemand erklären könnte wie ich das Ganze in meiner eigenen Unit "aufrufen" kann.

Danke schon mal im Voraus!

Luckie 4. Jan 2009 15:47

Re: [Kompo] TWIndowsVersionsInfo - Kompo zur Windowserkennun
 
Im ersten Posting ist doch ein ausführliches Beispiel dabei:
Delphi-Quellcode:
wvi := TWindowsVersionInfo.Create(self);

Edit_ComplString.Text := wvi.WindowsVersionsString;
Edit1.Text := wvi.ServicePack;
Edit2.Text := IntToStr( wvi.MajorVersion );
Edit3.Text := IntToStr( wvi.MinorVersion );
Edit4.Text := IntToStr( wvi.BuildNumber );

MagicAndre1981 4. Jan 2009 15:47

Re: [Kompo] TWIndowsVersionsInfo - Kompo zur Windowserkennun
 
sorry, gibt bald ein Update. Code geht alles schon in Delphi 2009 (war eh alles schon drin, musste nur per Compilerswitch richtig compiliert werden). Hab noch ein Propertie isBeta und den Codenamen eingefügt. Dann unterstütze ich nun alle Windows Server 2008 Versionen (Hyper-V, HPC, SBS und EBS) und Windows 7.

juergen 4. Jan 2009 16:04

Re: [Kompo] TWIndowsVersionsInfo - Kompo zur Windowserkennun
 
@Luckie,
das Beispiel habe ich gesehen, aber ich scheitere vorher.
...wvi.. Ist das eine Variable?
Als was für ein Datentyp muss diese Variable denn deklariert werden?
Ist es dann eine globale Variable oder eine innerhalb einer Procedur zu deklarierende Variable?


Alle Zeitangaben in WEZ +1. Es ist jetzt 03:38 Uhr.
Seite 1 von 2  1 2      

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