Forum: Programmieren allgemein
Delphi
by himitsu,
19. Feb 2017
LongWord und DWORD ist das "Selbe".
Das Eine ist blos der Pascal-Name und das andere der C-Name.
Wie zu lesen ist, ist BASS absichtlich unsigned, also kann man da nicht es nicht einfach signed ändern.
Aber man kann integer explizit auf DWORD/LongWord casten.
Gut, man könnte zwar geziehtl versuchen einige Stellen auf Integer zu ändern, damit der Code delphi-typischer wird, aber dann muß...
Forum: Programmieren allgemein
Delphi
by himitsu,
19. Feb 2017
C ist bezüglich Typisierung nunmal recht "lasch" und Delphi reagiert auf falsche Typen eben bissl allergisch.
int r=BASS_ChannelGetData(decoder, buffer, length);
if (r==-1) return 0; // error = no data
In C mag das gehen.
Delphi erkennt hier, dass R niemals -1 sein kann und wären beides Variablen, dann würde Delphi die beiden Typen so weit vergrößern, dass sie gemeinsam in den selben...