Einzelnen Beitrag anzeigen

Kostas

Registriert seit: 14. Mai 2003
Ort: Gerstrhofen
1.095 Beiträge
 
Delphi 10 Seattle Enterprise
 
#5

AW: Teil eines PChar in Integer umwandeln

  Alt 27. Mär 2016, 21:52
PInteger(PByte(RcvdHeader) + 24)^ Endian-ess umwandeln kannst du danach mit einer der hier vorgeschlagenen Lösungen machen:
http://stackoverflow.com/questions/3...numbers-delphi
Hallo Zacherl,

ich habe versucht dein Vorschlag umzusetzen, doch leider bekomme ich einen
Felher "Operator ist für den Operantentyp nicht anwendbar"

Delphi-Quellcode:

function Swap4(n: Cardinal): Cardinal;
asm
   bswap eax
end;


function GetNextLength(aRcvdBuf:PChar; aRcvdSize:integer):integer;
begin
  result := 0;

  if aRcvdSize>4 then
  begin
    result := PInteger(PByte(aRcvdBuf) + aRcvdSize-4)^; <<< Operator ist für den Operantentyp nicht anwendbar.
    result := Swap4(result);
  end;
end;

Herzlichen Dank für die Hilfe.
  Mit Zitat antworten Zitat