Завершение exe процедуры

Программирование на Visual Basic, главный форум. Обсуждение тем программирования на VB 1—6.
Даже если вы плохо разбираетесь в VB и программировании вообще — тут вам помогут. В разумных пределах, конечно.
Правила форума
Темы, в которых будет сначала написано «что нужно сделать», а затем просьба «помогите», будут закрыты.
Читайте требования к создаваемым темам.
ANKA2006
Начинающий
Начинающий
 
Сообщения: 4
Зарегистрирован: 14.01.2010 (Чт) 9:51

Завершение exe процедуры

Сообщение ANKA2006 » 14.01.2010 (Чт) 10:01

Подскажите пожалуйста!!!
Я создал небольшой тест на 30 вопросов. После того как, его проходят, в процессе висит exe. файл. Как его можно программно закрыть, после того как он отработал программу

MIT
Мега гуру
Мега гуру
Аватара пользователя
 
Сообщения: 2211
Зарегистрирован: 17.09.2006 (Вс) 22:46

Re: Завершение exe процедуры

Сообщение MIT » 14.01.2010 (Чт) 10:13

Me.Close или End.
Изображение
You can change your face, but can`t change your mind. No matter what you do.
Создайте еще более понятный интерфейс и мир создаст еще более тупого юзера. (с) Баш

alex77755
Обычный пользователь
Обычный пользователь
Аватара пользователя
 
Сообщения: 97
Зарегистрирован: 24.03.2009 (Вт) 11:40

Re: Завершение exe процедуры

Сообщение alex77755 » 14.01.2010 (Чт) 11:03

exe процедуры

Так просто на такой вопрос и не ответишь

Хакер
Телепат
Телепат
Аватара пользователя
 
Сообщения: 16478
Зарегистрирован: 13.11.2005 (Вс) 2:43
Откуда: Казахстан, Петропавловск

Re: Завершение exe процедуры

Сообщение Хакер » 14.01.2010 (Чт) 11:04

Он сам закроется, если программа написана правильно. Перепиши программу так, чтобы она была написана правильно.
—We separate their smiling faces from the rest of their body, Captain.
—That's right! We decapitate them.

ANKA2006
Начинающий
Начинающий
 
Сообщения: 4
Зарегистрирован: 14.01.2010 (Чт) 9:51

Re: Завершение exe процедуры

Сообщение ANKA2006 » 20.01.2010 (Ср) 9:25

У меня тест на 30 вопросов Великой Отечественной войны с видео роликами и фото. Когда форма 1 там где содержатся вопросы доходит до 30 вопроса, появляется форма 2 с результатом. Все формы отображаются и закрываются через Show, Hide (показать и скрыть). Если результат закрыть по кресту, то ВОВ.exe висит в диспетчере задач.
Все вопросы у меня проходят через Case. И как можно грамотно завершить весь этот процесс я не понимаю, так как это моя первая программа. Может на Форме 2 там где результат сделать еще к.нибудь кнопку которая бы закрывала всю прогу????. Только что туда прописать я не знаю :cry:

Хакер
Телепат
Телепат
Аватара пользователя
 
Сообщения: 16478
Зарегистрирован: 13.11.2005 (Вс) 2:43
Откуда: Казахстан, Петропавловск

Re: Завершение exe процедуры

Сообщение Хакер » 20.01.2010 (Ср) 9:46

Я правильно понимаю, что это первая программа, но пишется она не для себя, а чтобы быть применённой где-то для тестирования кого-то?
—We separate their smiling faces from the rest of their body, Captain.
—That's right! We decapitate them.

Денис
Доктор VB наук
Доктор VB наук
Аватара пользователя
 
Сообщения: 2734
Зарегистрирован: 07.11.2006 (Вт) 13:55
Откуда: Ейск, Краснодарский край

Re: Завершение exe процедуры

Сообщение Денис » 20.01.2010 (Ср) 10:07

ANKA2006 писал(а):Все формы отображаются и закрываются через Show, Hide (показать и скрыть). Если результат закрыть по кресту, то ВОВ.exe висит в диспетчере задач.


Всё ясно. Неявное объяление классов. (Вкупе с незнанием автора что такое и для чего классы вообще).

Значит так. если в проекте есть форма Form1.frm то ты "ее" показываешь, делая Form1.Show, так?

А надо:

'Объявляешь переменную:
Dim frmForm1 as Form1

'Создаешь новый экземпляр своей формы (а форма — это и есть класс):
Set frmForm1 = New Form1

'Работаем с экземпляром:
frmForm1.Show
frmForm1.Hide
frmForm1.Show
frmForm1.Hide


'Выгружаем и уничтожаем экземпляр
Unload frmForm1
set frmForm1 = Nothing
Программирование — богоизбранная дисциплина! Если бог и есть, то вселенную он скомпилировал, не иначе.

ANKA2006
Начинающий
Начинающий
 
Сообщения: 4
Зарегистрирован: 14.01.2010 (Чт) 9:51

Re: Завершение exe процедуры

Сообщение ANKA2006 » 21.01.2010 (Чт) 9:38

Да надеюсь этот тест будет для всех, а именно для школьников. Про объявление классов я даже и не подозревал. Попробую испавиться :D

Денис
Доктор VB наук
Доктор VB наук
Аватара пользователя
 
Сообщения: 2734
Зарегистрирован: 07.11.2006 (Вт) 13:55
Откуда: Ейск, Краснодарский край

Re: Завершение exe процедуры

Сообщение Денис » 21.01.2010 (Чт) 9:58

ANKA2006 писал(а):Попробую испавиться :D

Ага, давай-давай! Мы тебя поднатаскаем, станешь лучшим учителем информатики! :twisted:
Программирование — богоизбранная дисциплина! Если бог и есть, то вселенную он скомпилировал, не иначе.

Antonariy
Повелитель Internet Explorer
Повелитель Internet Explorer
Аватара пользователя
 
Сообщения: 4824
Зарегистрирован: 28.04.2005 (Чт) 14:33
Откуда: Мимо проходил

Re: Завершение exe процедуры

Сообщение Antonariy » 21.01.2010 (Чт) 11:06

А особенно, если будешь меньше слушать предыдущего оратора :)
Лучший способ понять что-то самому — объяснить это другому.

Денис
Доктор VB наук
Доктор VB наук
Аватара пользователя
 
Сообщения: 2734
Зарегистрирован: 07.11.2006 (Вт) 13:55
Откуда: Ейск, Краснодарский край

Re: Завершение exe процедуры

Сообщение Денис » 21.01.2010 (Чт) 11:17

Antonariy писал(а):А особенно, если будешь меньше слушать предыдущего оратора :)

За собой следи... (те)
Программирование — богоизбранная дисциплина! Если бог и есть, то вселенную он скомпилировал, не иначе.

MIT
Мега гуру
Мега гуру
Аватара пользователя
 
Сообщения: 2211
Зарегистрирован: 17.09.2006 (Вс) 22:46

Re: Завершение exe процедуры

Сообщение MIT » 21.01.2010 (Чт) 11:27

[offtop]
ANKA2006 писал(а):Про объявление классов я даже и не подозревал.

Я до последнего момента думал, что это ("ANKA") женский ник, образованный от имени Анна...
[/offtop]
Изображение
You can change your face, but can`t change your mind. No matter what you do.
Создайте еще более понятный интерфейс и мир создаст еще более тупого юзера. (с) Баш

Денис
Доктор VB наук
Доктор VB наук
Аватара пользователя
 
Сообщения: 2734
Зарегистрирован: 07.11.2006 (Вт) 13:55
Откуда: Ейск, Краснодарский край

Re: Завершение exe процедуры

Сообщение Денис » 21.01.2010 (Чт) 11:39

MIT писал(а):[offtop]
ANKA2006 писал(а):Про объявление классов я даже и не подозревал.

Я до последнего момента думал, что это ("ANKA") женский ник, образованный от имени Анна...
[/offtop]

Та нееее! Это же ANдрей KAнстантинавич!!! :mrgreen:
Программирование — богоизбранная дисциплина! Если бог и есть, то вселенную он скомпилировал, не иначе.

Хакер
Телепат
Телепат
Аватара пользователя
 
Сообщения: 16478
Зарегистрирован: 13.11.2005 (Вс) 2:43
Откуда: Казахстан, Петропавловск

Re: Завершение exe процедуры

Сообщение Хакер » 21.01.2010 (Чт) 12:13

ANKA2006 писал(а):Да надеюсь этот тест будет для всех, а именно для школьников. Про объявление классов я даже и не подозревал. Попробую испавиться :D

Я надеюсь, что этот текст никто не увидит. Чем школьники провинились, что им всю жизнь приходится сдавать судьбоносные тесты на отвратительном ПО? Вот «испавишься», потом делай тесты сколько душе угодно. Нет, ты же запротестуешь, если тебя засунут самолёт, управляет которым человек, впервые садящийся за штурвал, и который «даже и не подозревал» о существовании интерцепторов. Почему над беззащитными школьниками можно издеваться?
—We separate their smiling faces from the rest of their body, Captain.
—That's right! We decapitate them.

alex77755
Обычный пользователь
Обычный пользователь
Аватара пользователя
 
Сообщения: 97
Зарегистрирован: 24.03.2009 (Вт) 11:40

Re: Завершение exe процедуры

Сообщение alex77755 » 21.01.2010 (Чт) 12:28

Может на Форме 2 там где результат

В процедуре Fopm_Unload пропиши выгрузку первой формы: типа
Unload Form1
Зачем там классы вообще?
И тем более межличностные разборки на форуме...
ты же запротестуешь, если тебя засунут самолёт, управляет которым человек, впервые садящийся за штурвал

А куда ты с подводной лодки денешься. Тут уж протестуй не протестуй...
Последний раз редактировалось alex77755 21.01.2010 (Чт) 12:34, всего редактировалось 1 раз.

Хакер
Телепат
Телепат
Аватара пользователя
 
Сообщения: 16478
Зарегистрирован: 13.11.2005 (Вс) 2:43
Откуда: Казахстан, Петропавловск

Re: Завершение exe процедуры

Сообщение Хакер » 21.01.2010 (Чт) 12:32

alex77755, успокойся, здесь нет разборок, мир и любовь правит топиком.

Кроме того, хватит писать всякую ерунду.
—We separate their smiling faces from the rest of their body, Captain.
—That's right! We decapitate them.

alex77755
Обычный пользователь
Обычный пользователь
Аватара пользователя
 
Сообщения: 97
Зарегистрирован: 24.03.2009 (Вт) 11:40

Re: Завершение exe процедуры

Сообщение alex77755 » 21.01.2010 (Чт) 12:43

в заголовке форума
Даже если вы плохо разбираетесь в VB и программировании вообще — тут вам помогут


Unload Form1 это не правильно? или как вы выражаетесь ерунда. как же тогда "правильно"
Я учусь по примерам. и во многих примерах рекомендуется такое. А вот что бы так использовать классы - первый раз услышал

Хакер
Телепат
Телепат
Аватара пользователя
 
Сообщения: 16478
Зарегистрирован: 13.11.2005 (Вс) 2:43
Откуда: Казахстан, Петропавловск

Re: Завершение exe процедуры

Сообщение Хакер » 21.01.2010 (Чт) 13:03

Да у тебя каша в голове. По хорошему всё вычистить под ноль и залить заново достоверную информацию. К сожалению, голова не поддерживает такую процедуру.

Form1 — это глобальная DAN-переменная (DimAsNew) типа Form1, тип Form1 — это тип, соответствующий приватному COM-классу с DispId-ранним связыванием. Вот это есть истина.

Это всё равно что автомобиль марки «Автомобиль». Город, называющийся Город. Столица, называющаяся Столица. Это создаёт страшную путаницу в незрелых в плане легкости сбивания с толку головах. Люди оказываются не в состоянии отличить, где речь идёт о конкретном представителе семейства, а где о самом семействе, потому что они одинаково называются. А особо одарённые даже не догадываются, что одно и то же слово означает два разных понятия (одно значение идентифицирует конкретный объект, другое — семейство).
—We separate their smiling faces from the rest of their body, Captain.
—That's right! We decapitate them.

Хакер
Телепат
Телепат
Аватара пользователя
 
Сообщения: 16478
Зарегистрирован: 13.11.2005 (Вс) 2:43
Откуда: Казахстан, Петропавловск

Re: Завершение exe процедуры

Сообщение Хакер » 21.01.2010 (Чт) 13:17

Unload Form1 — это правильно, но только в том случае, если ты понимаешь, что пишешь. Если ты понимаешь во-первых, что делает Unload, а во-вторых, что в данном случае означает Form1.

Кого не спроси из неразумных, ответ один: —Форма!

Да не форма это, а гадкая переменная, ссылающаяся на экземпляр формы. Причём настолько гадкая, что этот самый экземпляр неявно создаётся, если к этой переменной идёт обращение, предполагающее, что в переменной хранится ссылка на какой-то уже существующий экземпляр, а на самом деле там ничего не хранится.

Unload же это просто противоестественный заменитель метода Remove коллекции Forms, который к тому же нарушает принцип инкапсуляции.

Для окончательного ошарашивания неразумным предлагается вот такой код. Его надо поизучать и посмотреть на то, к чему приводит нажатие кнопки:
Код: Выделить всё
Private Sub Command1_Click()
    Form1.Caption = " Первый раз "
    Set Form1 = Nothing
    Form1.Show
    Form1.Caption = " Второй раз "
End Sub
—We separate their smiling faces from the rest of their body, Captain.
—That's right! We decapitate them.

alex77755
Обычный пользователь
Обычный пользователь
Аватара пользователя
 
Сообщения: 97
Зарегистрирован: 24.03.2009 (Вт) 11:40

Re: Завершение exe процедуры

Сообщение alex77755 » 21.01.2010 (Чт) 13:24

вообще то я имел в виду Unload Форма1 выгрузку конкретной формы. Так же, надеюсь можно делать?
Просто у меня русский VB, а какой у автора - не знаю. Думал, что имя формы он подставит сам

прочитал последний пост, посмотрел код. Похоже, что неправильно.
Хорошо, что я не работаю преподом в школе, а для моих внутренних программ принцип: что б работало.
А правильно там или неправильно сделана... Главное добиться желаемого результата и с минимальными усилиями.
То есть по возможности без АПИ, FSO и пр.

Хакер я сегодня тобой удивлён. Разъясняешь, подсказываешь. Часом не заболел?
В любом случае - спасибо.

Antonariy
Повелитель Internet Explorer
Повелитель Internet Explorer
Аватара пользователя
 
Сообщения: 4824
Зарегистрирован: 28.04.2005 (Чт) 14:33
Откуда: Мимо проходил

Re: Завершение exe процедуры

Сообщение Antonariy » 22.01.2010 (Пт) 11:15

Да он вроде всегда это делает, если вопрос поставлен четко. Или если четко видно, что и как автор не понимает.
Другое дело, что он, как мне кажется, сам не понимает, что нельзя научится правильно писать программы СРАЗУ. Вернее можно, но далеко не всем. Иногда лучше дать автору желаемый кирпич, пусть не идеальный, но подходящий, это хотя бы не отобьет желание заниматься строительством из-за неподъемной сложности некоторых идеальных решений.
Лучший способ понять что-то самому — объяснить это другому.

ANKA2006
Начинающий
Начинающий
 
Сообщения: 4
Зарегистрирован: 14.01.2010 (Чт) 9:51

Не знаю как избавиться от ошибки!

Сообщение ANKA2006 » 26.02.2010 (Пт) 10:31

Всем привет!!!

Моя первая программа с тестом работает только на нескольких компах. В большинстве случаев, после последнего задаваемого вопроса выдает ошибку:
Run-time error '339':
Component 'RICHTX32.OCX' or one of its dependencies not correctly registered: a file is missing or invalid
И что с этим делать я не знаю. У меня в тесте есть видео и рисунки. В оболочку теста я компилирую exe файл, папку с видео и русунками. Сначала я думал что может это из за видео. Но на комапах которые выдают ошибки видео проигрывается.

alibek
Большой Человек
Большой Человек
 
Сообщения: 14205
Зарегистрирован: 19.04.2002 (Пт) 11:40
Откуда: Russia

Re: Завершение exe процедуры

Сообщение alibek » 26.02.2010 (Пт) 10:34

Сходи на translate.ru.
Lasciate ogni speranza, voi ch'entrate.

Денис
Доктор VB наук
Доктор VB наук
Аватара пользователя
 
Сообщения: 2734
Зарегистрирован: 07.11.2006 (Вт) 13:55
Откуда: Ейск, Краснодарский край

Re: Не знаю как избавиться от ошибки!

Сообщение Денис » 26.02.2010 (Пт) 14:45

ANKA2006 писал(а):Всем привет!!!
И что с этим делать я не знаю.

Во-первых, да, перевести сообщение на русский и попытаться понять.
Во-вторых, в составе студии идет инсталлятор. Пользуйтесь им.
Программирование — богоизбранная дисциплина! Если бог и есть, то вселенную он скомпилировал, не иначе.

Saturn.65
Постоялец
Постоялец
Аватара пользователя
 
Сообщения: 543
Зарегистрирован: 13.10.2006 (Пт) 18:46

Re: Завершение exe процедуры

Сообщение Saturn.65 » 17.04.2010 (Сб) 9:01

Я что только не вписываю и все равно в процессах висит. :(
Код: Выделить всё
Private Sub Form_Unload(Cancel As Integer)
    Unload Form1
    Unload Form2
    Unload Form3
Set Form1 = Nothing
Set Form2 = Nothing
Set Form3 = Nothing
End
End Sub

Что еще можно вписать?
Это все у меня вписано в первую форму. Из этой формы открывается в процессе работы еще три формы.
Главное, ребята, сердцем не стареть...

Хакер
Телепат
Телепат
Аватара пользователя
 
Сообщения: 16478
Зарегистрирован: 13.11.2005 (Вс) 2:43
Откуда: Казахстан, Петропавловск

Re: Завершение exe процедуры

Сообщение Хакер » 17.04.2010 (Сб) 12:16

Вписыватель.

Нужно думать, а не думать, что бы вписать.
—We separate their smiling faces from the rest of their body, Captain.
—That's right! We decapitate them.

Saturn.65
Постоялец
Постоялец
Аватара пользователя
 
Сообщения: 543
Зарегистрирован: 13.10.2006 (Пт) 18:46

Re: Завершение exe процедуры

Сообщение Saturn.65 » 17.04.2010 (Сб) 12:26

Думай-не думай, а вариантов нету. Висит и все в процессах. :?
Ну так что делать? Никак не хочет убиваться в процессе.
Главное, ребята, сердцем не стареть...


Вернуться в Visual Basic 1–6

Кто сейчас на конференции

Сейчас этот форум просматривают: нет зарегистрированных пользователей и гости: 15

    TopList