Самое простое решение вашей проблемы является использование глобальной переменной вместо локальной переменной или сделать переменная поля (переменная экземпляра) в вашем классе.
Глобальная переменная типа TForm2 инициализируется автоматически до нуля, но, как вы узнали выше, локальная переменная, которая находится на чем-то, называемом «стек», не является.
Вы должны прочитать и узнать о локальных и глобальных областях переменных, а также о том, что такое стек и куча. Это общие понятия, которые применяются практически на любом языке программирования, который не полностью «управляется». Другими словами, вы должны думать об этом в C и C++, а также в Pascal.
Такие вещи (неинициализированные локальные переменные и нарушения доступа) - это то, что некоторые языки (C# и java) в какой-то мере защищают вас.
Он вообще не работает, yuo проверяет Random (High (LongWord)) = 0. Кроме того, логика с ShowMessage встречается. –
критический комментарий червя относится к тому факту, что вы тестируете неинициализированную локальную переменную и ее значение не определено. Жаль, что червь сказал это таким бесполезным образом. –
@GolezTrol: почему? – User