Entwickler-Ecke

Delphi Language (Object-Pascal) / CLX - Pointer, Typ ^ Wert


chaoslion - So 07.05.06 15:59
Titel: Pointer, Typ ^ Wert
Hallo

Wie lese ich aus einem Pointer den Typ aus, und seinen Wert?
Beispiel Chat:
Ich hab eine Sendeprozedure:

Delphi-Quelltext
1:
2:
3:
4:
5:
6:
7:
8:
9:
10:
procedure send;
var
 da:pstring;
 la:string;
begin
  la:=edit1.Text;
  da:=@la;
  net.Send('192.168.0.2',0,da,sizeof(da),false);
//         ip        port data, size  guaranteed
end;

und diese wird beim ankommen aufgerufen:

Delphi-Quelltext
1:
2:
procedure netReceive(Sender: TObject; Host: string; Port: Integer;
  Data: Pointer; Size: Integer);

So wie komme ich wieder an den Inhalt von Data ran??
habs so probiert:

Delphi-Quelltext
1:
2:
3:
4:
5:
6:
var
 str:string
begin
 str:=String(Data^);
..
end;

geht natürlich nicht..


mkinzler - So 07.05.06 16:11

Nimm statt
da:pstring;

Delphi-Quelltext
1:
da:pchar;                    



Zitat:
Wie lese ich aus einem Pointer den Typ aus,
garnicht, da ein Poiter auf einee Speicherstelle zeigt.
Zitat:
und seinen Wert?
mit ^ als postfix.

Zitat:
So wie komme ich wieder an den Inhalt von Data ran??

str:=Data^;
oder wenn als pchar:


Delphi-Quelltext
1:
str := data;