Visual Basic, .NET, ASP, VBScript
 

   
   
     

Форум - Общий форум

Страница: 1 |

 

  Вопрос: ExitProcess Добавлено: 30.10.07 20:18  

Автор вопроса:  Gogic
При добавлении команды End в код выгрузки главной формы Form_Unload, программа остается в диспетчере задач.
Хотя если End вписать в код обычной кнопки, то все нормально. Попробовал через ExitProcess, программа завершается, но с критической ошибкой. Посоветуйте что-нибудь еще.

Ответить

  Ответы Всего ответов: 13  

Номер ответа: 1
Автор ответа:
 



Администратор

ICQ: 278109632 

Вопросов: 42
Ответов: 3949
 Web-сайт: domkratt.com
 Профиль | | #1
Добавлено: 30.10.07 21:54
ну так зачем в Form_Unload End писать? Это событие как раз при выгрузке вызывается.

Ответить

Номер ответа: 2
Автор ответа:
 werber



Вопросов: 71
Ответов: 112
 Web-сайт: www.werbersoft.ru
 Профиль | | #2
Добавлено: 30.10.07 23:21
Лично я при выгрузке главной формы, пишу unload всем другим формам. Таким образом ошибок у меня никогда не бывало. Вот пример моей выгрузки:

Private Sub Command1_Click()
Unload Form2
Unload Form3
'Unload... всех других форм
'и так далее. Последним действием идёт end
End
End Sub

Ответить

Номер ответа: 3
Автор ответа:
 Winand



Вопросов: 87
Ответов: 2795
 Web-сайт: winandfx.narod.ru
 Профиль | | #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
Автор ответа:
 Gogic



Вопросов: 38
Ответов: 121
 Профиль | | #4 Добавлено: 01.11.07 07:02
Нет, это не помогает. Я и раньше наблюдал такую ошибку при разработке ресурсоемких приложений. Дело в том, что при работе из VB, проект закрывается, а скомпилированный вроде закрывается, а в диспетчере продолжает висеть. И это только при нажатии на крестик. Если вписать End на событие кнопки, то все работает.
Убиваю процесс функцией ExitProcess, возникает критическая ошибка VB6.exe (почему-то).
Подскажите, как правильно использовать функции ExitProcess и TerminateProcess (хотя вроде как она для закрытия других процессов).

Ответить

Номер ответа: 5
Автор ответа:
 



Администратор

ICQ: 278109632 

Вопросов: 42
Ответов: 3949
 Web-сайт: domkratt.com
 Профиль | | #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
Автор ответа:
 Gogic



Вопросов: 38
Ответов: 121
 Профиль | | #6 Добавлено: 01.11.07 16:09
Для скомпилированного вылазит ошибка VB6. Странно, но правда. Попарюсь еще, если ничего не выйдет, то нафиг вообще этот крестик виндовский уберу. Тоже вариант :)

Ответить

Номер ответа: 7
Автор ответа:
 Winand



Вопросов: 87
Ответов: 2795
 Web-сайт: winandfx.narod.ru
 Профиль | | #7
Добавлено: 01.11.07 16:47
блин, если я не ошибаюсь=)
есть такая замечательная процедура
Private Sub Form_Unload(Cancel As Integer)

End Sub

которая вызывается при нажатии на крестик
Поставь в ней 'End'

Ответить

Номер ответа: 8
Автор ответа:
 Gogic



Вопросов: 38
Ответов: 121
 Профиль | | #8 Добавлено: 02.11.07 06:21
2 Winand
Издеваетесь, молодой человек?
А если внимательно посмотреть на топик?
При добавлении команды End в код выгрузки главной формы Form_Unload, программа остается в диспетчере задач.

Ответить

Номер ответа: 9
Автор ответа:
 



Администратор

ICQ: 278109632 

Вопросов: 42
Ответов: 3949
 Web-сайт: domkratt.com
 Профиль | | #9
Добавлено: 02.11.07 11:33
Пепреставь винды =) 99% поможет.
Ни у кого таких проблем нету, кроме тебя: это о чем-то говорит =)

Ответить

Номер ответа: 10
Автор ответа:
 Winand



Вопросов: 87
Ответов: 2795
 Web-сайт: winandfx.narod.ru
 Профиль | | #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 в ЛЮБОМ месте программы - откровенное ламерство. Выгружать приложение нужно в штатном порядке, с выгрузкой всех создаваемых объектов.
Ибо нефиг.

Ответить

Страница: 1 |

Поиск по форуму



© Copyright 2002-2011 VBNet.RU | Пишите нам