|
|
Регистрация Восстановить пароль |
Регистрация | Задать вопрос |
Заплачу за решение |
Новые сообщения |
Сообщения за день |
Расширенный поиск |
Правила |
Всё прочитано |
|
Опции темы | Поиск в этой теме |
25.08.2008, 19:25 | #1 |
Форумчанин
Регистрация: 01.02.2007
Сообщений: 785
|
блокировка вызова 2-го экземпляра формы из dll
в моей программе я вызываю форму из dll Так вот, нажимаю на кнопку вызов - форма вызывается. нажимаю еще раз - еще раз вызывается. И так можно вызывать и вызывать одну и ту же форму причем не важно открыта она уже или нет. Получается куча форм.
Вопрос в том, как сделать так чтобы форма не вызывалась из dll, если она уже открыта. Чтобы просто этой самой форме (которая вызвана из dll) передавался фокус. Если закрыта - то вызываем форму из dll, если уже открыта, то передаем ей фокус и все. ShowModal не предлагать. Исходник прилагается Mainn.dpr - проект основного приложения. libr.dpr - проект библиотеки. Unit1.pas - модуль с формой, которую загружаю в dll.
Изо всей благодати
В руках крепко сжатых Я донесу только капли |
25.08.2008, 19:58 | #2 |
Участник клуба
Регистрация: 12.10.2007
Сообщений: 1,204
|
Экспортировать еще одну функцию
Код:
Код:
|
25.08.2008, 22:35 | #3 |
Форумчанин
Регистрация: 01.02.2007
Сообщений: 785
|
да работает, но только для одного раза Когда втрой раз вызываешь форму из dll, то генерируется ошибка.
Попробовал дополнить функцию, но все равно только для одного вызова формы из dll. Второй раз она уже не вызывается. Код:
Изо всей благодати
В руках крепко сжатых Я донесу только капли Последний раз редактировалось Roof; 25.08.2008 в 22:39. |
26.08.2008, 03:04 | #4 |
Пользователь
Регистрация: 03.08.2008
Сообщений: 43
|
Уважаемый Roof: - если я правильно понял вопрос, то можно попробовать с помощью какого-нибудь признака существования формы, например так:
Код:
ЗЫ2:без обработки OnClose не произойдет событие OnDestroy, т.к. закрытие формы еще не означает ее разрушение.
бороться и искать
найти и перепрятать. Последний раз редактировалось Minimus; 26.08.2008 в 16:47. Причина: Изменил ShowForm |
26.08.2008, 08:27 | #5 | |
Участник клуба
Регистрация: 12.10.2007
Сообщений: 1,204
|
Цитата:
Код:
|
|
26.08.2008, 11:05 | #6 |
Старожил
Регистрация: 06.08.2007
Сообщений: 2,183
|
Ещё есть
Код:
|
27.08.2008, 01:03 | #7 |
Форумчанин
Регистрация: 01.02.2007
Сообщений: 785
|
добавил в модуль формы из dll процедуру
Код:
2 Minimus - спасиб, разобрался в коде. Комментарии очень кстати Всем спасибо за помощь. Вопрос решен
Изо всей благодати
В руках крепко сжатых Я донесу только капли Последний раз редактировалось Roof; 27.08.2008 в 01:05. |
Похожие темы | ||||
Тема | Автор | Раздел | Ответов | Последнее сообщение |
Определить Код Экземпляра устройства! | sashahttp | Win Api | 3 | 24.01.2009 08:55 |
Блокировка автозапуска | Hottabych | Общие вопросы Delphi | 6 | 02.06.2008 18:48 |
Блокировка ввода | Fantom | Общие вопросы Delphi | 3 | 12.05.2008 19:34 |
Блокировка файлов | UnD)eaD)Snake | Общие вопросы Delphi | 8 | 09.10.2007 18:39 |