Динамическое создание объектов Delphi 6

Динамическое создание кнопки Button на форме.

Для того чтобы посмотреть как работает динамическое создание объектов н форме Delphi 6 Вы можете создать новый проект, затем разместить на неё кнопку Button1 и поле ввода Edit1 затем просто заменить код проекта на тот что я предлагаю в листинге ниже.

В данном примере динамическая кнопка создаётся по событию клика на кнопку Button1. Для хранения объекта динамической кнопки я использую переменную dinBut: TButton; которая описана в var. В начале процедуры клика по кнопке Button1, которая изначально создана на форме, я описал условие защиты от повторного создания динамической кнопки, а именно строку if (dinBut = nil) then. Работает она следующим образом, пока метод TButton.Create не вызван переменная dinBut равна nil. Если она равна nil то только в этом случаи выполняется основное тело процедуры клика по кнопке Button то есть создание динамической кнопки. Иначе полю ввода Edit1 будет присвоен текст "Не создан(попытка повторного создания)". В процессе работы программы описанной в листинге Вы увидите такое сообщение в Edit1 после второго клика по кнопке Button1.

Создания события клика по динамической кнопке производится строкой dinBut.OnClick:=myDinButClick; то есть присваивается процедура которая в листинге начинается с строки procedure TForm1.myDinButClick(Sender: TObject);. Эту процедуру так же необходимо добавить в { Public declarations } в type.

Удалить динамический объект можно строкой кода FreeAndNil(dinBut); в листинге строка закомментирована, поскольку нет смысла удалять только что созданный объект. Вы можете создать ещё одну кнопку в которой разместить данную строку для того чтобы посмотреть как работает удаление динамических объектов.

Динамическое создание ClientSocket

Переместите на форму кнопку Button1 и многострочное поле ввода Memo1 после чего замените код проекта на тот что приведен в листинге.

Комментарии

Если у Вас возникли вопросы, Вы можете задать их в форме ниже. В частности если Ваш вопрос по Bitrix и что то не получается - можно спросить. Ваш e-mail не публикуется, при этом я отвечу на него если будет что то по теме. Писать необходимо для людей - избегайте сленга, пишите орфографически правильно.

Имя:
E-mail:
Текст комментария:

Вы так же можете прочитать следующие статьи: