Thema: Delphi Pointer verstehen

Einzelnen Beitrag anzeigen

paelesoft

Registriert seit: 3. Jul 2004
37 Beiträge
 
Delphi 7 Professional
 
#10

Re: Pointer verstehen

  Alt 5. Aug 2004, 21:32
Hallo wiwa,

TArray ist in Wirklichkeit schon eine Art Zeiger, da es ein dynamisches
Array ist, auf das mit einem Zeiger referenziert wird.

Überprüfen kannst du es zB wenn du SizeOf(TArray) aufrufst. Dann erhältst du das
Ergebnis "4" (Größe eines Pointers).
Noch ein "Beweis" dafür ist folgender Versuch:

Bitte ein Formular mit einem Button und einem Editierfeld (Edit1) erstellen.
In die OnClick-Behandlung des Buttons folgenden Code einfügen:

Delphi-Quellcode:
var S : array of Char;
    T : PChar;
begin
  Setlength(S,6);
  S[0]:='H';
  S[1]:='a';
  S[2]:='l';
  S[3]:='l';
  S[4]:='o';
  S[5]:=#0;
  GetMem(T,6);
  Move(Pointer(S)^ ,T^,6);
  Edit1.Text:=StrPas(T);
  FreeMem(T,6);
end;
Das Ergebnis ist "Hallo"
Gruß Erik
  Mit Zitat antworten Zitat