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