reimo hat folgendes geschrieben: |
Hi
danke für deine Antwort, nur leider würd ich gerne wissen, wieso und wie das funktioniert!
Dass es funktioniert, das weiss ich, verwende es ja auch...aber ich würde gerne wissen, wie das ganze funktioniert!
es gibt ja auch viele andere Delphi/Win Funktionen, welche ähnliche übergabeparameter haben, dort wird aber der übergebene Buffer als ein Pointertyp definiert... |
Hallo,
das ist nur eine Vereinfachung für den Benutzer: ist ein Parameter ein Pointer, so must du eben auch einen Pointer übergeben, und zwar auch einen vom Typ her passenden - einschränkend, aber typsicher. Für const (oder var) Buffer kann man dagegen alles angeben, was eine Adresse hat, der Compiler nimmt das immer wie @Buffer. In der Funktion muss dann gecastet werden, dann erst stellen sich mögliche Fehler heraus (oder auch nicht).
Auf diese Art wird das fehleranfällige Hantieren mit Pointern vermieden.
Gruss Reinhard