Zitat von
Orakel-von-Delphi:
Zitat:
Integer -2147483648..2147483647 32 Bit, mit Vorzeichen
.
.
DWORD (Double Word) repräsentiert einen vorzeichenlosen 4-Byte-Integer. Er wird primär für Windows-
API-Aufrufe eingesetzt. Die C++ Version ist nur unter Windows verfügbar.
Das ist, denke ich, allen hier klar. Was du mir mit der C++-Version sagen willst, weiß ich noch nicht ...
Zitat von
Orakel-von-Delphi:
Ich konnte mir auch nicht vorstellen, dass nur wg. dem Unterschied signed/unsigned der Fehler in Erscheinung tritt, da die Länge der Variablen gleich ist
Die meisten Buffer-Overflow-Löcher basieren auf solchen Dingen ... obwohl es hier unwahrscheinlich war. Dein Code enthielt aber formale Fehler, auf die ich dich aufmerksam machen wollte. Ob es deswegen klappt ist erstmal zweitrangig, denn da können wir uns jetzt dran machen
Zitat von
Orakel-von-Delphi:
Ich bitte oben noch mal genau zu lesen: Das Problem tritt nicht immer auf ! Aber immer beim letzten Kopiervorgang mit über 100 Dateien und ca. 6.5 MB. Die Funktion "CopyDir" wir vorher min. 5x ohne Probleme aufgerufen.
In diesem Falle sieht es für mich nach 2 Möglichkeiten aus:
1. Die
API-Funktion ist fehlerhaft implementiert - dann kannst du nichts machen.
2. Das was bei dir drumherum steht ist von Relevanz und kann das verursachen. In diesem Fall mußt du wohl den Code rausrücken. Denn keiner hier kann deinen Fehler sonst nachvollziehen.