1. PLongs deklariert, aber nie verwendet....
2. Deklaration
procedure foo(pData: PLongword; Count: Integer);
und Aufruf
Delphi-Quellcode:
procedure bar(data: Array Of Byte);
begin
foo(@data, High(data)+1);
end;
Sind eventuell ... sagen wir ... nicht zu 100% äquivalent.
3.Parameterdeklaration und Typendeklaration sind unterschiedlich. Delphi kommt da vermutlich durcheinander, denn 'Array Of XXX' sind sowohl offene Array-Parameter als auch dynamische Arrays.
Abhilfe: verwende überall die gleiche Typendeklaration.