Einzelnen Beitrag anzeigen

Christian Seehase
(Co-Admin)

Registriert seit: 29. Mai 2002
Ort: Hamburg
11.117 Beiträge
 
Delphi 11 Alexandria
 
#5
  Alt 10. Jun 2002, 16:16
Moin Chewie,

was die letzten drei Paramter angeht unterliegst Du einem Irrtum.
Es werden die Adressen übergeben, und somit kann die Funktion an die Stelle auf die diese Pointer verweisen sehr wohl Daten schreiben.
Du bräuchtest var nur, wenn diese Adresse geändert werden soll.
Prinzipiell können bei API Funktionen alle Parameter als Const deklariert werden (mir fällt so auf Anhieb jedenfalls keine Ausnahme ein), da, für den Fall, dass die Funktion über einen der Parameter einen Wert zurückgeben soll dieser als Pointer deklariert ist. (siehe auch oben)

Mal ein kleines stilisiertes Beispiel:

Code:
var
  pBuffer    : Pointer;
  dwValueType : DWord;
  dwBufferLen : DWord;
  hOpenKey   : hKey;

RegQueryValueEx(hOpenKey, PChar('VALUENAME'),nil,@dwValueType,pBuffer,@dwBufferLen)
Die ganzen Initialisierungen habe ich weggelassen.
Kommst Du so damit klar?
Tschüss Chris
Die drei Feinde des Programmierers: Sonne, Frischluft und dieses unerträgliche Gebrüll der Vögel.
Der Klügere gibt solange nach bis er der Dumme ist
  Mit Zitat antworten Zitat