Kann es nicht sein, weil es Pattern[-1] nicht gibt. Das innerhalb der Schleife befindliche
Inc(mi)
hilft da nicht. In C/C++ gibt es nun mal einen Unterschied zwischen ++mi und mi++ (ich denke, das dürfte dir bekannt sein) - deswegen funktioniert dort sowas wie
Code:
int mi = -1;
while(Pattern[++mi]) {
Der erste Schleifendurchlauf ist Pattern[0] - im Gegensatz zu deinem Delphi-Code
Delphi-Quellcode:
mi := -1;
while Pattern[mi] <> Pattern do
, wo es Pattern[-1] ist. Hättest du in deinem C++-Code Pattern[mi++] geschrieben, hätte es dort genausowenig funktioniert.
Grüße
Dalai