:: Visual Foxpro, Foxpro for DOS
Re: "Подвисание" фоксового экзешника
Божья_коровка
Автор

Сообщений: 25720
Дата регистрации: 23.08.2001
_vit
Зачем декларировать Dll если не вызывать ее функций?
Функции вызываются в других режимах И потом ведь автоматические обновление про которое ты писал в любом случае работает не при вызванной функции из библиотеки.


------------------
Жись, она как зёбра, полоса белая, полоса черная, а мне всегда задница достается...
Ratings: 0 negative/0 positive
Re: "Подвисание" фоксового экзешника
_vit

Сообщений: 5173
Дата регистрации: 29.07.2002
Божья_коровка
_vit
Зачем декларировать Dll если не вызывать ее функций?
Функции вызываются в других режимах И потом ведь автоматические обновление про которое ты писал в любом случае работает не при вызванной функции из библиотеки.

Само Declare Dll файл не блокирует.
вернее я думаю блокирует но не на долго.
Открывает файл считывает таблицу адресов функций и тут же закрывает.
А вот после вызова первого же вызова любой функции Dll файл открывается и уже не закрывается до явного закрытия через Clear Dll или неявного при окончании процесса который его открыл
а точнее всех процессов у которых есть ссылки на него.

Если авто обновление происходит до того как какая либо функция Dll была вызвана то Clear Dll не нужен.

И вообще, я описал лишь некоторые возможные сценарии при которых нужен Clear Dll.
Ты спрашивала я ответил.



Исправлено 1 раз(а). Последнее : _vit, 12.12.18 21:56
Ratings: 0 negative/0 positive
Re: "Подвисание" фоксового экзешника
leonid

Сообщений: 3202
Откуда: Рига
Дата регистрации: 03.02.2006
Божья_коровка
Зачем же тогда люди делают Clear Dlls?

Помнится, я делал clear dlls с целью открыть ту же функцию еще раз, но уже с другими типами параметров. Не помню почему, но открытие уже открытой dll-ки с другим алиасом в этом случае не прокатывало.
Ratings: 0 negative/0 positive
Re: "Подвисание" фоксового экзешника
Igor Korolyov

Сообщений: 34580
Дата регистрации: 28.05.2002
Божья_коровка
PaulWist
Ничем.
Вообще ничем? Зачем же тогда люди делают Clear Dlls?
При выходе через QUIT? От недопонимания, видимо. Или потому что там не всегда QUIT работает, а, скажем, есть вариант "возврата в IDE фокса" - если прога запущена вотладочном режиме. Или для надёжности...

А "в общем" - для очищения внутренних структур фокса, где описаны связи фоксовых идентификаторов (имён) и точек входа во внешние функции - чтобы фокс при обращении к такому идентификатору вызвал соответствующую функцию. Выгрузку подгруженных в процесс dll-ек (если к функциям всё же были обращения) может и сама система сделать - при уничтожении процесса (ну а что ещё мы ожидаем от QUIT то ). Хотя т.к. QUIT далеко не всегда успешно завершается (если неаккуратно с ON SHUTDOWN работать, например), то таковая предосторожность может быть и не лишней.


------------------
WBR, Igor
Ratings: 0 negative/0 positive
Re: "Подвисание" фоксового экзешника
Божья_коровка
Автор

Сообщений: 25720
Дата регистрации: 23.08.2001
Всем спасибо за разъяснения


------------------
Жись, она как зёбра, полоса белая, полоса черная, а мне всегда задница достается...
Ratings: 0 negative/0 positive


Извините, только зарегистрированные пользователи могут оставлять сообщения в этом форуме.

On-line: 17 alexzima  (Гостей: 16)

© 2000-2024 Fox Club 
Яндекс.Метрика