![]() |
|
Модераторы: Poseidon, Snowy, bems, MetalFan |
![]()
|
|
| Etar |
|
||||
|
Шустрый ![]() Профиль Группа: Участник Сообщений: 60 Регистрация: 21.2.2008 Репутация: нет Всего: 1 |
Привет!
Подскажите пожалуйста, у меня есть простенькая функция в DLL, которая ждет когда пользователь закончит работу с программой, а потом когда он это сделает, заменяет её .exe файл на новый (т.е. что-то типа простенького обновления):
В программе у меня по кнопке "Обновить программу" должно быть следующее: 1. Вызывается функция AppUpdate из dll и программа завершает работу 2. Функция AppUpdate продолжает работать: ждет когда программа закроется, затем копирует новую версию программы и запускает ее. Сделал я это по простому:
Но у меня, естественно, программа просто зависла. Я вот хотел узнать как можно сделать так, чтобы все работало как надо (т.е. например, dll работала бы параллельно, либо работа программы завершалась из самой dll). Подскажите пожалуйста кому не сложно. Спасибо. |
||||
|
|||||
| Poseidon |
|
|||
![]() Delphi developer ![]() ![]() ![]() ![]() Профиль Группа: Комодератор Сообщений: 5273 Регистрация: 4.2.2005 Где: Гомель, Беларусь Репутация: 53 Всего: 133 |
Вместо dll сделай exe. Библиотеки освобождаются при выгрузке использовавших их программ. Т.е. получается, когда ты закрываешь свою программы, ты закрываешь этим и функцию в dll. Создай exe с одной функцией и вызывай ее при завершении основной программы.
-------------------- Если хочешь, что бы что-то работало - используй написанное, если хочешь что-то понять - пиши сам... |
|||
|
||||
| Exciter |
|
||||
|
Новичок Профиль Группа: Участник Сообщений: 18 Регистрация: 17.10.2008 Репутация: нет Всего: нет |
Кроме того. У тебя While никогда не прекратится.
Надо делать вот так.
В самой проге
Это сообщение отредактировал(а) Exciter - 29.1.2009, 15:27 |
||||
|
|||||
| Akella |
|
|||
![]() Творец ![]() ![]() ![]() ![]() Профиль Группа: Модератор Сообщений: 18485 Регистрация: 14.5.2003 Где: Корусант Репутация: 36 Всего: 329 |
Можно зщапускать DLL с помощью виндовой Rundll32.exe
|
|||
|
||||
| Etar |
|
|||
|
Шустрый ![]() Профиль Группа: Участник Сообщений: 60 Регистрация: 21.2.2008 Репутация: нет Всего: 1 |
спасибо за ответы
сейчас буду пробовать! |
|||
|
||||
![]()
|
| Правила форума "Delphi: Общие вопросы" | |
|
|
Запрещается! 1. Публиковать ссылки на вскрытые компоненты 2. Обсуждать взлом компонентов и делиться вскрытыми компонентами
Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, Snowy, MetalFan, bems, Poseidon, Rrader. |
| 0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей) | |
| 0 Пользователей: | |
| « Предыдущая тема | Delphi: Общие вопросы | Следующая тема » |
|
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |