Visual Basic, .NET, ASP, VBScript
 

   
   
     

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

Страница: 1 | 2 |

 

  Вопрос: А ещё у меня VB глючит ! Добавлено: 09.05.04 16:16  

Автор вопроса:  HACKER

Кумарит блин, переустановка непомагает. Вот когда большой проект загружаю, правда у меня только один пока такой, там чего токо нету, он дюже большой! вроде работает хорошо, памяти у меня хватает, при исполнении всё ок, пока в редакторе тоже ок, НО когда я нажимаю в vb кнопку End, ну шоб прирвать выполнение проги, vb просто издивается надомной! молча выходит, как просто его процесс кто-то убивает, насмерть! vb нормально работал, нажал end чик и уже vb завершился, естетственно не сохраняя нечего! просто резко погибает, нечего не говоря заранее. А вот когда в программе кнопку выход нажимаю, там в этой кнопки

Private Sub xpcmdbutton1_Click()
On Error Resume Next
Unload frmFTP
Unload frmMail
Unload frmProgress
Unload Form4
'Unload Me
frmMain.Timer3.Enabled = True
End Sub

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

Ответить

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

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



ICQ: 348453688 

Вопросов: 88
Ответов: 356
 Web-сайт: newlc.info
 Профиль | | #1
Добавлено: 09.05.04 17:39
А у мя, когда нажимаю "Make" Вылетает ошибка и не комилиться...а только компиляция идет через сам редактор....вот!

Ответить

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



Вопросов: 30
Ответов: 683
 Профиль | | #2 Добавлено: 09.05.04 18:28
Значит сам компилятор у тебя глюкавый. По-идее он должен просто сказать об ошибке,если она есть 

Ответить

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



Вопросов: 117
Ответов: 1538
 Профиль | | #3 Добавлено: 09.05.04 18:41
Не обязательно он должен чего-то сказать.Когда запускаешь проект в IDE, то всё, что делает программа, делается под именем этого процесса (в смысле VB6.exe). Если как-то некорректно выходишь из программы, то и IDE, как владелец и запускатель  этого потока, тоже несёт ответственность за ошибки, в т.ч. и при выходе их программы. Поэтому и падает твой VB. Обычно это зависит не от того, большой проект или нет, а от того к каким системным ресурсам ты обращался из своей программы. Очень часто такое бывает, когда вешаешь хуки, когда например, в оконной  callback процедуре некорректно обрабатываешь поток сообщений Windows, вроде того, что не обрабатываемые в твоей проге сообщения не переадресуешь в DefWndProc и они накапливаются в очереди сообщений, забивают стек и т.д. и т.п. По возможности всегда выполняй Form_unload, не полагаясь на IDE. Ну и сохраняйся почаще перед запуском проги из IDE. И когда делаешь какие-либо рискованые вещи, создай копию папки с твоим проектом. У меня сегодня ночью накрылся проект который почти 3 недели. После вызова SystemParametersInfo и прога и IDE  и весь Windows со всеми потрохами вылетели к чёрту. Как будто кто питание компа выключил. А после загрузки компа оказалось, что файл проекта .vbp и одна из форм исчезли с винта. Напрочь. Весело :). Сидел его потом в Блокноте воссоздавал.

Ответить

Номер ответа: 4
Автор ответа:
 HACKER


 

Разработчик Offline Client

Вопросов: 236
Ответов: 8362
 Профиль | | #4 Добавлено: 09.05.04 20:14
так что, получается что так и должно быть? Он должен тупо вылетать если я так хуков понастовлял?

Ответить

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



Вопросов: 117
Ответов: 1538
 Профиль | | #5 Добавлено: 09.05.04 21:35
Поставить хук всегда сопряжено с такими вещами, как вылет программы. Особенно, если поставлен не очень корректно

Ответить

Номер ответа: 6
Автор ответа:
 HACKER


 

Разработчик Offline Client

Вопросов: 236
Ответов: 8362
 Профиль | | #6 Добавлено: 09.05.04 21:39
ну и как же уладить проблему

Ответить

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



Вопросов: 117
Ответов: 1538
 Профиль | | #7 Добавлено: 09.05.04 23:04
Я делаю так: пока работаю в IDE, отлаживаю, или ещё чего, хук не ставлю, только чтоб сам хук проверить. Проверил - и не ставлю больше, пока всё остальное не отлажу. Когда всё отладил и делаю готовый ехе - тогда снова вешаю хук и создаю ехе. А то замучаешься отлаживать, постоянные вылеты.

Ответить

Номер ответа: 8
Автор ответа:
 @CyRax PTR



ICQ: 204447456 

Вопросов: 28
Ответов: 664
 Web-сайт: basicproduction.nm.ru/
 Профиль | | #8
Добавлено: 10.05.04 00:04

2 cresta

 Всё равно он должен выдавать ошибку "Программа выполнила недопустимую операцию и " т.д. и т.п.

2 HACKER.

 Высылай свой проект - я гляну. Только полный. По кускам не принимается. А лучше выложи где нибудь на сайте.

Ответить

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



Вопросов: 117
Ответов: 1538
 Профиль | | #9 Добавлено: 10.05.04 00:24
To CyRax: Совсем не обязательно. Пример: вешаю хук на сообщения мыши(конкретно wm_mousewheel). Если что не так, в среду IDE вообще вернуться невозможно, мышь клинит, ничего не работает, приходится давить на красную кнопку. Никаких сообщений при этом нет (от системы да и вообще от кого бы то ни было). Отключаю хук - вот тогда выдаются всякие сообщения об ошибках, если они происходят.

Ответить

Номер ответа: 10
Автор ответа:
 @CyRax PTR



ICQ: 204447456 

Вопросов: 28
Ответов: 664
 Web-сайт: basicproduction.nm.ru/
 Профиль | | #10
Добавлено: 10.05.04 00:32

А как ты вешаешь ХУК на сообщения мыши конкретно?

Если ты используешь отлов сообщений (это не хук), то он выдаёт все сообщения перехватывающей процедуре. Не только мышиные.

Я ставил хук на колесо в своём создателе проектов для файлов помощи и никогда не наблюдал такого. Хотя может и так. Возможно я просто не сталкивался. Опять же шли пример - если интересно потестить у меня.

Ответить

Номер ответа: 11
Автор ответа:
 HACKER


 

Разработчик Offline Client

Вопросов: 236
Ответов: 8362
 Профиль | | #11 Добавлено: 10.05.04 01:28
Та не проект я выложить немогу, воопервых он болшой, где-то мб 2, во вторых он ещё недоделанный и до четвертины, в третих нехочу пока его никому показывать, итп...

Ответить

Номер ответа: 12
Автор ответа:
 sne



Разработчик Offline Client

ICQ: 233286456 

Вопросов: 34
Ответов: 5445
 Web-сайт: hw.t-k.ru
 Профиль | | #12
Добавлено: 10.05.04 02:08

Я конечно не большой спец. по хукам, но вот мои наблюдения:

- Вылет среды с ошибкой, типа выполнила недоп. операцию...

- Вылет молча, как у haker'a

- Все работает, но при повторном/тройном/эНном запуске, прога вываливается

- В среде все работает ок, в откомпилленом - вылетает с ошибкой

- Все работает, а после закрытия (выгрузки из памяти) среды - ошибка, программа выполнила недоп. операци ю и будет закрыта...

Так что вываливаться все может по-разному, это смотря какие и на что хуки ставить...

Ответить

Номер ответа: 13
Автор ответа:
 @CyRax PTR



ICQ: 204447456 

Вопросов: 28
Ответов: 664
 Web-сайт: basicproduction.nm.ru/
 Профиль | | #13
Добавлено: 10.05.04 02:15

- Все работает, но при повторном/тройном/эНном запуске, прога вываливается

У меня всё время такая ошибка. Я уже VB как отладчиком вообще не пользуюсь из за неё. Только компилирую, а потом экзешник запускаю.

Ответить

Номер ответа: 14
Автор ответа:
 sne



Разработчик Offline Client

ICQ: 233286456 

Вопросов: 34
Ответов: 5445
 Web-сайт: hw.t-k.ru
 Профиль | | #14
Добавлено: 10.05.04 02:30

Ищи ошибку... такое еще бывает возникает при неправильной работе с памятью, т.е. функцией CopyMemory когда что-то куда-то с ее помощью копируется...

Ответить

Номер ответа: 15
Автор ответа:
 cresta



Вопросов: 117
Ответов: 1538
 Профиль | | #15 Добавлено: 10.05.04 02:45

Да CopyMemory практически всегда выдает сообщение: инструкция обратилась по адресу....... Память не пожет быть Read OK-завершение приложения.

Что касается хука на колесо, то всё это объяснимо: Hook сделал, а при ошибке IDE не пускает в Form_Unload, а там сидит UnHook. Потому мышь и клинит

Ответить

Страница: 1 | 2 |

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



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