некоторым из нас инода приходилось использовать альтернативные системные модули для Delphi (sysinit и system). Кто незнает для чего они, то отвечаю - с помощью их можно очень сильно уменьшить размер программы написанных без VCL. Порядком в 2 раза уменьшается минимальное приложение. Code: program test; {$APPTYPE CONSOLE} begin writeln('hello'); end. Весит 7 кил. Со стандартными модулями - 15 кил. Так что использовать их выгодно. В инете очень часто встречаются эти модули. Но случайно был замечен в них один глюк. Глюк связан с генератором случайных чисел. к функции random притензий нет. А вот randomize была жестоко убита. Т.е. randomize задает начальное состояние ГСЧ. Фактически эта функция заносит значение системного времяни в переменную RandSeed Но в альтернативных модулях походу дела это значение статическое. т.е. Code: for y:=1 to 10 do begin randomize; for x:=1 to 10 do write(random(10)); writeln; end; Даст 10 одинаковых строк. Чтобы избавиться от этого глюка достаточно самому задать значение RandSeed. Чтобы сильно не увеличивать размер функцией получения времяни, для инициализации будим использовать количество тактов сделаннх процессором после ребута/включения. Сделать это можно просто: Code: procedure myrandomize;assembler; asm rdtsc add eax,edx mov RandSeed,eax end; P.S. Из-за этого гюкнутового randomize стока хрени херовой было.