Einzelnen Beitrag anzeigen

Benutzerbild von Mazel
Mazel

Registriert seit: 11. Nov 2005
Ort: Leipzig
831 Beiträge
 
#1

Type _OSVERSIONINFOA - Verständnisproblem

  Alt 8. Mai 2007, 16:21
Hallo,

Ich habe ein kleines Verständisproblem mit der Typ-Deklaration von verschiedenen Typen. Weil ich gerade TOSVersionInfo gebraucht habe, nehme ich dies als Beispiel:
In der Windows.pas ist _OSVERSIONINFOA folgendermaßen deklariert:
Delphi-Quellcode:
type
  POSVersionInfoA = ^TOSVersionInfoA;
  POSVersionInfoW = ^TOSVersionInfoW;
  POSVersionInfo = POSVersionInfoA;
  _OSVERSIONINFOA = record
    dwOSVersionInfoSize: DWORD;
    dwMajorVersion: DWORD;
    dwMinorVersion: DWORD;
    dwBuildNumber: DWORD;
    dwPlatformId: DWORD;
    szCSDVersion: array[0..127] of AnsiChar; { Maintenance string for PSS usage } 
  end;

  _OSVERSIONINFO = _OSVERSIONINFOA;
  TOSVersionInfoA = _OSVERSIONINFOA;
  TOSVersionInfoW = _OSVERSIONINFOW;
  TOSVersionInfo = TOSVersionInfoA;
  OSVERSIONINFOA = _OSVERSIONINFOA;
Nun, zunächst wollte ich wissen, was das 'A' und das 'W' bedeutet? Ich nehme an Ansi und Wide aber warum wird das getrennt behandelt?

Desweiteren verstehe ich nicht, warum der eigentliche Type _OSVersionInfoA so oft "hin und her" gesetzt wird. Also warum ist nicht
TOSVersionInfo = _OSVERSIONINFOA sondern erst
TOSVersionInfoA = _OSVERSIONINFOA und TOSVersionInfo = TOSVersionInfoA?

Ich hoffe mir kann jemand eine Antwort geben.

Gruß
Mazel
Marcel Jänicke
www.mj-software.net
  Mit Zitat antworten Zitat