Einzelnen Beitrag anzeigen

Dezipaitor

Registriert seit: 14. Apr 2003
Ort: Stuttgart
1.701 Beiträge
 
Delphi 7 Professional
 
#11

Re: ReadFileEx/WriteFileEx verwenden: Fehler in Windows.pas?

  Alt 2. Feb 2008, 21:16
Zitat von DGL-luke:
PS: const bedeutet pass-by-reference, genauso wie var und out. und es gibt bei diesen drei schlüsselwörtern in delphi keinen unterschied außer der sie repräsentierenden zeichenfolge.
EDIT: Und der Compiler weigert sich, die neuzuweisung eines const-params zu übersetzen. naja.
Dein Edit ist ja der Unterschied. Der Delphi Compiler macht den Unterschied zwischen den Aufrufkonventionen.

Aber dass Windows.pas hier einfach ein Datentypentyp, statt einem Zeiger auf den Datentyp verwendet finde ich schon sehr falsch. Es mag zwar funktionieren, jedoch nicht in allen Fällen, wie man sieht.

Ich sehe grad übrigens, dass TPipeInstance falsch übersetzt ist. Die Arrays müssen strenggenommen von 0 bis BUFSIZE-1 gehen.



Zitat von EConvertError:
Ja, doch so im Großen und Ganzen verstehe ich doch sehr gut, was die da tun.
Ich meine nicht, was du tust, sondern was das Beispiel micht. Ehrlich gesagt, musste ich auch erst ein paar mal lesen, um es zu verstehen.
Die erweitern den record TOverlaped, indem sie ihn als LPPIPEINST neu deklarieren. Das macht man indem man einfach den vorhanden Record an die erste Stelle im neuen Record setzt. Das ist (fast) so, als ob man einfach die Inhalte des Overlapped records in den neuen an den Anfang kopiert. Jede Funktion, die ein Zeiger auf ein Overlapped-Record erwartet, arbeitet dann mit dieser struktur fein. Den Rest im Record verwenden die Callbackfunktionen für eigene Zwecke.


Die Nullen jedes zweite Byte deuten scharf auf Unicode hin. Du musst es natürlich der Gegenseite gerecht machen und dies erkennen.
Christian
Windows, Tokens, Access Control List, Dateisicherheit, Desktop, Vista Elevation?
Goto: JEDI API LIB & Windows Security Code Library (JWSCL)
  Mit Zitat antworten Zitat