Страница: 1 | 2 |
Вопрос: Выход из программы
Добавлено: 18.01.06 23:02
Автор вопроса: Spyro
1. Написал программу на Visual Basic.
2. Скомпилировал её.
3. Запускаю.
4. Выхожу, нажимая на крестик в заголовке окна.
5. Запускаю диспетчер задач.
6. В приложениях и процессах осталась моя программа.
Как можно корректно выгрузить программу.
Ответы
Всего ответов: 17
Номер ответа: 1
Автор ответа:
[root]
Вопросов: 45
Ответов: 1212
Web-сайт:
Профиль | | #1
Добавлено: 18.01.06 23:08
End
Номер ответа: 2
Автор ответа:
[root]
Вопросов: 45
Ответов: 1212
Web-сайт:
Профиль | | #2
Добавлено: 18.01.06 23:11
Private Sub Command1_Click()
End
End Sub
Private Sub Form_Unload(Cancel As Integer)
End
End Sub
Номер ответа: 3
Автор ответа:
GSerg
Вопросов: 0
Ответов: 1876
Профиль | | #3
Добавлено: 19.01.06 04:31
Это корректно??
Нды...
Корректно поискать все невыгруженные формы через коллекцию forms и каждую выгрузить. Hide используешь? Используешь, знаю...
Номер ответа: 4
Автор ответа:
CyRax
Разработчик Offline Client
ICQ: 204447456
Вопросов: 180
Ответов: 4229
Web-сайт:
Профиль | | #4
Добавлено: 19.01.06 05:20
Ну если уж End не помогает, то попробуй ExitProcess с параметром 0. Уж система с этим процессом церемонится не будет и с фатальной неизбежностью этот процесс прихлопнет, с радостью освобождая ресурсы процессора для других, не менее важных процессов.
Номер ответа: 5
Автор ответа:
mc-black
ICQ: 308-534-060
Вопросов: 20
Ответов: 1860
Web-сайт:
Профиль | | #5
Добавлено: 19.01.06 08:32
Ещё может какие-то объекты после использования стоит явным образом убить, а затем закрыть.
Номер ответа: 6
Автор ответа:
Spyro
Вопросов: 1
Ответов: 1
Профиль | | #6
Добавлено: 19.01.06 10:16
Пробовал все эти методы всеравно не помогает.
Программа закрывается, но в диспетчере задач всеравно есть.
Номер ответа: 7
Автор ответа:
[root]
Вопросов: 45
Ответов: 1212
Web-сайт:
Профиль | | #7
Добавлено: 19.01.06 10:35
2GSerg: У каджой формы в анлоад - ставь end и ни чего искать не нужно!
Номер ответа: 8
Автор ответа:
[root]
Вопросов: 45
Ответов: 1212
Web-сайт:
Профиль | | #8
Добавлено: 19.01.06 10:42
2Spyro:
апиши что ты там за прогу сделал?
Ты скорее всего что о просто не правильно прописал!
Номер ответа: 9
Автор ответа:
GSerg
Вопросов: 0
Ответов: 1876
Профиль | | #9
Добавлено: 19.01.06 11:20
End не есть оператор корректного завершения программы.
Номер ответа: 10
Автор ответа:
LamerOnLine
ICQ: 334781088
Вопросов: 108
Ответов: 2822
Профиль | | #10
Добавлено: 19.01.06 11:22
1. Мелкософт признал наличия бага в VB6, при выполнении End приводящем к утечке памяти.
2. Никакой гарантии что прога выгрузится корректно нет. Ежели к ней подцеплены ActiveX.exe - могут остаться в памяти.
Номер ответа: 11
Автор ответа:
[root]
Вопросов: 45
Ответов: 1212
Web-сайт:
Профиль | | #11
Добавлено: 19.01.06 12:52
2LamerOnLine:
Ну уд тогда извините - не знал сие факта!
Номер ответа: 12
Автор ответа:
SerJ
Вопросов: 24
Ответов: 332
Профиль | | #12
Добавлено: 19.01.06 19:03
Дааа... коректное завершение программы.... Актуально, между прочим. Вот у меня глюки при использованию таймера ч/з АПИ. Ставишь End без закрытия хендла таймера - всё - аминь. ВБ сразу закрывается без предупреждений. А в рантайм - ошибка приложения
Номер ответа: 13
Автор ответа:
LamerOnLine
ICQ: 334781088
Вопросов: 108
Ответов: 2822
Профиль | | #13
Добавлено: 19.01.06 19:18
А на что ты надеялся, интересно? Таймер то тикает, а callback где?
Номер ответа: 14
Автор ответа:
Kostik
Вопросов: 6
Ответов: 27
Профиль | | #14
Добавлено: 08.03.06 20:52
Если в твоем проекте не одна форма, тогда попробуй код :
Private Sub Form_Unload(Cancel As Integer)
Unload Me
End Sub
или:
Private Sub Form_Unload(Cancel As Integer)
Unload Form2
End Sub
Номер ответа: 15
Автор ответа:
LamerOnLine
ICQ: 334781088
Вопросов: 108
Ответов: 2822
Профиль | | #15
Добавлено: 09.03.06 11:38
Ну, чтоб уж конкретно
Private Sub Form_Unload(Cancel As Integer)
TerminateProcess GetCurrentProcess, 0
End Sub