Страница: 1 |
Страница: 1 |
Вопрос: ExitProcess
Добавлено: 30.10.07 20:18
Автор вопроса: Gogic
При добавлении команды End в код выгрузки главной формы Form_Unload, программа остается в диспетчере задач.
Хотя если End вписать в код обычной кнопки, то все нормально. Попробовал через ExitProcess, программа завершается, но с критической ошибкой. Посоветуйте что-нибудь еще.
Ответы
Всего ответов: 13
Номер ответа: 1
Автор ответа:
Администратор
ICQ: 278109632
Вопросов: 42
Ответов: 3949
Web-сайт:
Профиль | | #1
Добавлено: 30.10.07 21:54
ну так зачем в Form_Unload End писать? Это событие как раз при выгрузке вызывается.
Номер ответа: 2
Автор ответа:
werber
Вопросов: 71
Ответов: 112
Web-сайт:
Профиль | | #2
Добавлено: 30.10.07 23:21
Лично я при выгрузке главной формы, пишу unload всем другим формам. Таким образом ошибок у меня никогда не бывало. Вот пример моей выгрузки:
Unload Form2
Unload Form3
'Unload... всех других форм
'и так далее. Последним действием идёт end
End
End Sub
Номер ответа: 3
Автор ответа:
Winand
Вопросов: 87
Ответов: 2795
Web-сайт:
Профиль | | #3
Добавлено: 31.10.07 02:17
Чтобы не писать все формы можно так сделать
Dim frm As Form
For Each frm In Forms
Unload frm
Next frm
End
End Sub
Номер ответа: 4
Автор ответа:
Gogic
Вопросов: 38
Ответов: 121
Профиль | | #4
Добавлено: 01.11.07 07:02
Нет, это не помогает. Я и раньше наблюдал такую ошибку при разработке ресурсоемких приложений. Дело в том, что при работе из VB, проект закрывается, а скомпилированный вроде закрывается, а в диспетчере продолжает висеть. И это только при нажатии на крестик. Если вписать End на событие кнопки, то все работает.
Убиваю процесс функцией ExitProcess, возникает критическая ошибка VB6.exe (почему-то).
Подскажите, как правильно использовать функции ExitProcess и TerminateProcess (хотя вроде как она для закрытия других процессов).
Номер ответа: 5
Автор ответа:
Администратор
ICQ: 278109632
Вопросов: 42
Ответов: 3949
Web-сайт:
Профиль | | #5
Добавлено: 01.11.07 09:53
у что если сделать так:
Dim frm As Form
For Each frm In Forms
Unload frm
Next frm
End
End Sub
Вообще я такое редко наблюдал, чтоб не выгружалось....
Насчет ExitProcess... Его нельзя использовать на стадии разработки, ибо когда запускаешь прогу из IDE, она не создает свой процесс, а работает в VB6.EXE, поэтому, естественно, VB падает... Закомментируй, а при компиляции верни обратно.
Номер ответа: 6
Автор ответа:
Gogic
Вопросов: 38
Ответов: 121
Профиль | | #6
Добавлено: 01.11.07 16:09
Для скомпилированного вылазит ошибка VB6. Странно, но правда. Попарюсь еще, если ничего не выйдет, то нафиг вообще этот крестик виндовский уберу. Тоже вариант
Номер ответа: 7
Автор ответа:
Winand
Вопросов: 87
Ответов: 2795
Web-сайт:
Профиль | | #7
Добавлено: 01.11.07 16:47
блин, если я не ошибаюсь
есть такая замечательная процедура
End Sub
которая вызывается при нажатии на крестик
Поставь в ней 'End'
Номер ответа: 8
Автор ответа:
Gogic
Вопросов: 38
Ответов: 121
Профиль | | #8
Добавлено: 02.11.07 06:21
2 Winand
Издеваетесь, молодой человек?
А если внимательно посмотреть на топик?
Номер ответа: 9
Автор ответа:
Администратор
ICQ: 278109632
Вопросов: 42
Ответов: 3949
Web-сайт:
Профиль | | #9
Добавлено: 02.11.07 11:33
Пепреставь винды 99% поможет.
Ни у кого таких проблем нету, кроме тебя: это о чем-то говорит
Номер ответа: 10
Автор ответа:
Winand
Вопросов: 87
Ответов: 2795
Web-сайт:
Профиль | | #10
Добавлено: 02.11.07 17:59
оу, сори. запутался немоного...
Номер ответа: 11
Автор ответа:
Mr.Smile
ICQ: 427682013
Вопросов: 14
Ответов: 464
Профиль | | #11
Добавлено: 05.11.07 00:13
А можешь прогу кинуть, мы её потестим!
Номер ответа: 12
Автор ответа:
HACKER
Разработчик Offline Client
Вопросов: 236
Ответов: 8362
Профиль | | #12
Добавлено: 05.11.07 12:56
в Form_Unload перебрать в цлике все формы и сделать всем unload, кроме Me..
Номер ответа: 13
Автор ответа:
LamerOnLine
ICQ: 334781088
Вопросов: 108
Ответов: 2822
Профиль | | #13
Добавлено: 08.11.07 18:25
Ставить End в ЛЮБОМ месте программы - откровенное ламерство. Выгружать приложение нужно в штатном порядке, с выгрузкой всех создаваемых объектов.
Ибо нефиг.