Moin!
@nico42:
Code:
val = *(unsigned int *)Result;
(unsigned int *) ist ein Zeiger typecast und mit dem * vor diesem greift er auf den Inhalt zu und nicht auf die Adresse des Zeigers (was er ohne * ganz vorne machen würde).
@other:
Ansonsten eine Übersetzung des Codes:
Code:
Var
Result : PChar;
value : Cardinal;
Begin
// hier wird ein pchar-Array mit 15 Zeichen
// erzeugt und komplett auf Null gesetzt
Result := StrAlloc(15);
FillChar(Result^, 0, 15);
// hier ist ein "Typecasting" (?) vom
// PChar nach UINT
value := Cardinal(Result^); // bzw.: := Cardinal(Pointer(Result)^);
// das angezeigte Ergebnis ist Null,
// weil der Inhalt des PChar irgendwie (aber wie?)
// als Zahl interpretiert wird
Ausgabe(value);
End;
MfG
Muetze1