Главная Случайная страница Контакты | Мы поможем в написании вашей работы! | ||
|
Обрати внимание, что первое описание процедуры я написал не в разделе type, а до него:
procedure ShowAbout(Handle: THandle)stdcall;
Это не является ошибкой, и ты можешь выбрать любой из этих способов. Я чаще всего объявляю внешние процедуры до раздела var, чтобы их потом легче было найти. Теперь ставим на форму кнопочку и пишем по её событию OnClick следующий код:
procedure TForm1.Button1Click(Sender: TObject); begin ShowAbout(Handle); end;
Запусти пример и убедись в том, что пример работает корректно. Как видишь окно не так уж трудно засунуть в библиотеку, и в нём могут быть свои события и свои процедуры и функции. К тому же окно может создавать дочерние окна по отношению к себе и той же динамической библиотеки.
На компакт диске, в директории \Примеры\Глава 18\Form ты можеш ь увидет ь пример это й программы.
18.5. Немодальные окна в динамических библиотеках.
предыдущем примере я поместил в библиотеку модальное окно. А что, если тебе понадобиться показать немодальное окно? Ведь мы показываем окно и
по его закрытию должны освободить память. А как узнать, что окно закрыто? Некоторые ленятся и просто не освобождают память, выделенную под окно. Но это не правильно и просто глупо, потому что показать немодальное окно не намного сложнее.
Давай откроем предыдущий пример и подкорректируем его. Для начала нужно добавить одну экспортную процедуру FreeAbout с индексом 11. Теперь у нас будет экспортироваться две процедуры:
Дата публикования: 2014-11-28; Прочитано: 229 | Нарушение авторского права страницы | Мы поможем в написании вашей работы!