Заметил тут: Code: {$APPTYPE CONSOLE} var a: array[1..100] of integer; b: array[1..10] of integer; i: integer; begin i := 0; b[i] := 10; write(a[100]); readln; end. И вот это компилится и работает! То есть a[100] = 10. Иначе говоря, по умолчанию стоит {$R-}. Значит, почти всегда buffer overflow актуален и под делфой... Или я что-то недоперемудрил?
переполнение буфера может быть где угодно, там где выделяется память для переменыых, массивов и т.п. и это всегда плохо...
А как ты думал для чего нуно обнулять массивы сразу после создания. Да и не только массивы - как вообще можно обращаться к элементу, если ты его не задал явно? а потом удивляться)))