"Подвисание" фоксового экзешника | |
---|---|
Божья_коровка Автор Сообщений: 25720 Дата регистрации: 23.08.2001 |
Такая ситуация. При определённых действиях юзера приложение "подвисает" при выходе. Визуально закрывается, но экзешник видно что работает и что то делает, в диспетчере задач висит и жрёт память, немного конечно, но жрет и "закрываться" не хочет. У меня подобная ситуация не эмулируются. Не могу я на своем рабочем компе таким образом "положить" приложение, чтобы оно не закрылось.
Можно ли как то понять, что происходит и что делает экзешник в это время? Т.к. у меня VFP8, то SET COVERAGE не помогает. ------------------ Жись, она как зёбра, полоса белая, полоса черная, а мне всегда задница достается... Исправлено 1 раз(а). Последнее : Божья_коровка, 11.12.18 18:28 |
Re: "Подвисание" фоксового экзешника | |
---|---|
_vit Сообщений: 5173 Дата регистрации: 29.07.2002 |
|
Re: "Подвисание" фоксового экзешника | |
---|---|
Igor Korolyov Сообщений: 34580 Дата регистрации: 28.05.2002 |
А с ораклом сия прога часом не работает?
------------------ WBR, Igor |
Re: "Подвисание" фоксового экзешника | |
---|---|
Божья_коровка Автор Сообщений: 25720 Дата регистрации: 23.08.2001 |
Часом с ним родимым Первое, что посмотрела при выходе, при зависании это сессию в v$session. Но она снимается, дисконнект срабатывает при выходе. В общем нашла я место которое вызывало подобный баг. Вопрос снимается, проблема вроде решена. ------------------ Жись, она как зёбра, полоса белая, полоса черная, а мне всегда задница достается... Исправлено 1 раз(а). Последнее : Божья_коровка, 12.12.18 13:29 |
Re: "Подвисание" фоксового экзешника | |
---|---|
Crispy Сообщений: 18571 Дата регистрации: 16.05.2005 |
А компот? В смысле рассказ о найденном решении. ------------------ В действительности все иначе, чем на самом деле. (Антуан де Сент-Экзюпери) |
Re: "Подвисание" фоксового экзешника | |
---|---|
Божья_коровка Автор Сообщений: 25720 Дата регистрации: 23.08.2001 |
всё то вам расскажи. В общем с помощью дедуктивного метода я сузила поиск и нашла место которое вызвало у меня подозрение. был вызов процедуры причём фоксовой, прописан вот так =имя процедуры () (для меня привычнее do имя процедуры), в "процедурном файлике" было PROCEDURE имя (), внутри был запрос с непонятной для меня функцией которую я не смогла найти в проекте. Я чуток переписала, то что показалось для меня немного непривычным и баг пропал. PS: Еще хотела поинтересоваться у умных людей по поводу подключаемых библиотек в фоксе. Если деклирешь библиотеку насколько критично потом делать CLEAR DLLS? Какие критические последствия могут возникнуть если не делать при выходе из приложения CLEAR DLLS? ------------------ Жись, она как зёбра, полоса белая, полоса черная, а мне всегда задница достается... Исправлено 1 раз(а). Последнее : Божья_коровка, 12.12.18 14:32 |
Re: "Подвисание" фоксового экзешника | |
---|---|
Crispy Сообщений: 18571 Дата регистрации: 16.05.2005 |
Как сказал бы Симпла: "Привычка свыше нам дана".
QUIT очищает все ------------------ В действительности все иначе, чем на самом деле. (Антуан де Сент-Экзюпери) |
Re: "Подвисание" фоксового экзешника | |
---|---|
Simple777 Сообщений: 33855 Дата регистрации: 05.11.2006 |
QUIT forever!..
|
Re: "Подвисание" фоксового экзешника | |
---|---|
Божья_коровка Автор Сообщений: 25720 Дата регистрации: 23.08.2001 |
Криспа, я спрашивала не про Quit. Вот представь нет его. Библиотеки задекларированы, но при выходе не сделан CLEAR DLLS, чем это чревато?
------------------ Жись, она как зёбра, полоса белая, полоса черная, а мне всегда задница достается... |
Re: "Подвисание" фоксового экзешника | |
---|---|
PaulWist Сообщений: 14601 Дата регистрации: 01.04.2004 |
Ничем.
------------------ Есть многое на свете, друг Горацио... Что и не снилось нашим мудрецам. (В.Шекспир Гамлет) |
Re: "Подвисание" фоксового экзешника | |
---|---|
Божья_коровка Автор Сообщений: 25720 Дата регистрации: 23.08.2001 |
Вообще ничем? Зачем же тогда люди делают Clear Dlls? ------------------ Жись, она как зёбра, полоса белая, полоса черная, а мне всегда задница достается... |
Re: "Подвисание" фоксового экзешника | |
---|---|
Simple777 Сообщений: 33855 Дата регистрации: 05.11.2006 |
Может быть, эти DLL какую-то память занимают? Или при повторном декларировании уже ранее задекларированного, но не очищенного, могут быть какие-нибудь нюансы?
|
Re: "Подвисание" фоксового экзешника | |
---|---|
Божья_коровка Автор Сообщений: 25720 Дата регистрации: 23.08.2001 |
Это мне вопрос? Я для того и спрашиваю, чем грозит не делать Clear Dlls, чтобы понять если ничем это не грозит то зачем тогда вообще народ это делает? Мне просто этот вопрос не совсем понятен. Вот к примеру у тебя деларируются блиотеки, юзаются, а при выходе из приложения не ставится Clear DlLs. Приложение закрывается. затем снова открывается и всё работоспособно никаких нюансов - нет. Библиотеки при старте приложения снова декларируются и всё работает. Для чего люди ставят Clear Dlls если никаких "конфликтов" и нюансов не происходит? Вот и Пауль говорит, что ничем не чревато. ------------------ Жись, она как зёбра, полоса белая, полоса черная, а мне всегда задница достается... Исправлено 1 раз(а). Последнее : Божья_коровка, 12.12.18 18:31 |
Re: "Подвисание" фоксового экзешника | |
---|---|
_vit Сообщений: 5173 Дата регистрации: 29.07.2002 |
это нужно например: - если у программы если есть функция автообновления заменяющая длл-ки. после Declare Dll эта длл-ка не может быть удалена/переименована/перемещена/заменена пока все использующие ее процессы не освободят ее явно или неявно. - При разработке самой Dll и отладке ее вызовом из фоксовской программы. Хотя помнится что Clear Dlls не помогало и приходилось все равно фокс закрывать для того чтобы перекомпилировать проект Dll. - не уверен но кажется бывало что при отладке, когда после завершения программы фокс не закрывается а просто управление возвращается в среду разработки, то при повторных запусках без Clear Dlls возникали ошибки вызова функций Dll. Исправлено 1 раз(а). Последнее : _vit, 12.12.18 19:23 |
Re: "Подвисание" фоксового экзешника | |
---|---|
Божья_коровка Автор Сообщений: 25720 Дата регистрации: 23.08.2001 |
Сейчас запустила приложение фоксовое, задекларировалось куча библиотек. Я вязла и спокойно заменила одну из них...Т.е. скопировала из другой папки файл библиотеки которая была задекларирована в приложении, файл спокойно заменился. ------------------ Жись, она как зёбра, полоса белая, полоса черная, а мне всегда задница достается... |
Re: "Подвисание" фоксового экзешника | |
---|---|
_vit Сообщений: 5173 Дата регистрации: 29.07.2002 |
Функции длл-ки вызывались?
|
Re: "Подвисание" фоксового экзешника | |
---|---|
Божья_коровка Автор Сообщений: 25720 Дата регистрации: 23.08.2001 |
Нет функции не вызывались, поскольку был вопрос, для чего при выходе из приложения многие делают Clear Dlls. И какие критичные нюансы могут возникнуть если при выходе из приложения не сделать этого. Т.е. мне интересно, что бывает если при выходе из приложения не делать Clear Dlls. Не во время работы самого приложения, а именно когда приложение закрывается. Что происходит когда деклиреться библиотека и что будет если не сделать Clear Dlls? ------------------ Жись, она как зёбра, полоса белая, полоса черная, а мне всегда задница достается... Исправлено 1 раз(а). Последнее : Божья_коровка, 12.12.18 19:58 |
Re: "Подвисание" фоксового экзешника | |
---|---|
of63 Сообщений: 25161 Откуда: Н.Новгород Дата регистрации: 13.02.2008 |
Когда декларится, то ничего не происходит, даже если такой функции в дллке физически нет.
Когда вызываешь длл-ку, то она выполняется, в рамках вызывающего процесса (фокса), а может и свой процесс создать (например запустить эксель), может дожидаться конца выполнения (т.е. может "зависнуть"), а может и нет (запустит эксель и вернет управление в фокс) Когда CLEAR DLLS, то ничего особенного не происходит (как и при DECLARE), просто имя этой функции ДЛЛки "освобождается", т.е. при вызове итой функции фокс ругнется. Вобщем эти DECLARE действуют безобидно (типа как EXTERNAL ARRAY имя), DECLARE связывают имя функции фокса с API ОС, просто пара имен, и интерфейс (типы параметров) При выполнении QUIT фокс "делает" CLRAR DLLS автоматически, точнее, ничего не делает, т.к. в QUIT он не предполагает обращаться к задеклареным DLL-кам... Если фокс чего-то не "почистит", то ОС все равно затрет память, где находился фокс вместе с этими "DECLARE" не взирая на то, что там записано. Отрытые хендлы закроет как сможет. Это видно, когда убиваешь процесс фокса диспетчером задач - ничего не остается от этих DLL-ек. |
Re: "Подвисание" фоксового экзешника | |
---|---|
_vit Сообщений: 5173 Дата регистрации: 29.07.2002 |
Зачем декларировать Dll если не вызывать ее функций? |
Re: "Подвисание" фоксового экзешника | |
---|---|
_vit Сообщений: 5173 Дата регистрации: 29.07.2002 |
Просто попробуй.;) zlib.dll взял потому что просто первой попалась под руку. можно взять любую дллку какая есть.
|
© 2000-2024 Fox Club  |