Einzelnen Beitrag anzeigen

Benutzerbild von himitsu
himitsu

Registriert seit: 11. Okt 2003
Ort: Elbflorenz
44.184 Beiträge
 
Delphi 12 Athens
 
#5

AW: IOCTL_STORAGE_GET_DEVICE_NUMBER, DRIVE_GEOMETRY und DRIVE_LAYOUT

  Alt 7. Sep 2010, 17:53
Das keine Unterscheidung zwischen ANSI und PWideChar gemacht wird liegt
wohl daran, dass entsprechend der Delphi-Version der Compiler die 'richtige'
Funktion aufruft. Im diesem Fall ist Delphi 2009.
Nja, in deinem Profil steht ja D7.
Dennoch nutze bitte die jeweiligen APIs, welche zu den P...Chars passen.
Vorallem wenn du hier Codes für andere veröffentlichst, könnten bestimmt viele mit einem älteren Ansi-Delphi diesen Code nutzen und dann knallt's.

Das ich mir bei PWideChar ein StrAlloc sparen kann, wenn ich StrPCopy aufrufe war mir neu, ist aber jetzt gemerkt.
Nee, sparen kannst du es dir nicht ... eher andersrum.
StrAlloc reserviert Speicher und kopiert den übergebenen Text in diesen Speicher.
StrPCopy kopiert Text in den angegebenen Speicher/PChar.

Entweder man reserviert anders Speicher und kopiert dann via StrPCopy
oder man nutzt nur StrAlloc (das StrPCopy wäre hier doppelt kopiert).

Genauso die Sache mit dem INVALID_HANDLE_VALUE.
Das Invalid Handle bekommt man über's MSDN MSDN-Library durchsuchenCreateFile, siehe "Return Value".



Zitat:
Meckert Delphi denn nicht beim ersten Result?
Im Gegenteil, es meckert weil der Rückgabewert undefiniert sein könnte.

Danke

PS Werde noch ein paar kleine Korrekturen einarbeiten, sobald der Virenscanner fertig ist.[/QUOTE]
$2B or not $2B
  Mit Zitat antworten Zitat