Generell ist "array of" in Konversionen zu vermeiden. Weniger im Sinne das es falsch ist, als das die meisten Programmierer die dann noetigen Abweichungen von einer einfachen Konversion nicht meistern
Announcement
Collapse
No announcement yet.
C -> Delphi
Collapse
X
-
C -> Delphi
Hi,<br>
ich kämpfe gerade mit einer Übersetzung von
Ansi C nach Delphi (Punycode RFC 3492).
Da lautet eine Codezeile:
<pre>
memmove(output + i + 1, output + i, (outp - i) * <b>sizeof</b> *output);
</pre>
...die ich mit...
<pre>
move(output[i], output[i + 1], (outp - i) * Length(output));
</pre>
... übersetzt habe, wobei <pre>output</pre> als Funktionsparameter folgendermaßen deklariert ist:
<pre>
var output: Array of longint;
</pre>
Witzigerweise scheint der Rückgabewert OK zu sein. Doch nach Anzeige des Rückgabewertes aus meiner Funktion werden mir diverse Zugriffverletzungen um die Öhrchen gehauen :-(
Kommentiere ich <pre>move()</pre> aus, passiert das nicht.
Nun meine Frage: Gibt es bei <pre>move()</pre> irgendetwas zu beachten?
Hat jemand eine Idee, wie das Problem zu vermeiden ist?
TIA
Ollo
Comment