Этот баннер — требование Роскомнадзора для исполнения 152 ФЗ.
«На сайте осуществляется обработка файлов cookie, необходимых для работы сайта, а также для анализа использования сайта и улучшения предоставляемых сервисов с использованием метрической программы Яндекс.Метрика. Продолжая использовать сайт, вы даёте согласие с использованием данных технологий».
Политика конфиденциальности
|
|
|
Почему скомпилированный проект падает "молча"?
|
|||
|---|---|---|---|
|
#18+
Допустим, возникает ошибка типа "Divide by zero", "Subscript out of range" и т.п. По идее, скомпилированный проект в случае неперехватываемой ошибки выдает соответстующий msgbox, а потом падает. Но мой проект (довольно большой) падает сразу. Иногда на нем юзерконтролы покрываются мелкой сеточкой (так, как они делают в IDE, когда их редактируешь), иногда вылетает сразу, издав, впрочем, звук, назначенный на "восклицательный знак". Есть идеи, почему так может быть? Больно неудобно ловить баги. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 05.11.2009, 16:07 |
|
||
|
Почему скомпилированный проект падает "молча"?
|
|||
|---|---|---|---|
|
#18+
Раз сеточка, значит ошибка в контроле, который утаскивает за собой всю прогу. Ошибка в процедуре сабклассинга, поэтому сообщение не выводится. Jah loves you. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 05.11.2009, 16:31 |
|
||
|
Почему скомпилированный проект падает "молча"?
|
|||
|---|---|---|---|
|
#18+
Для начала можно сделать так: Код: plaintext 1. 2. 3. 4. 5. 6. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 05.11.2009, 16:34 |
|
||
|
Почему скомпилированный проект падает "молча"?
|
|||
|---|---|---|---|
|
#18+
... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 05.11.2009, 16:34 |
|
||
|
Почему скомпилированный проект падает "молча"?
|
|||
|---|---|---|---|
|
#18+
Antonariy, Спасибо. Я тут почитываю вашу переписку с Дмитрий77, ругаетесь словом "сабклассинг", а я еще не врубился что это такое, никак не могу найти время нагуглить.... Соответственно, я не очень понял, куда запихать эту процедуру - к чему ее подключить? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 05.11.2009, 16:41 |
|
||
|
Почему скомпилированный проект падает "молча"?
|
|||
|---|---|---|---|
|
#18+
То, чем мы занимались при добавлении скролла, и есть сабклассинг :) То есть установка оконной процедуры. А то, что я написал выше, это образец ее оформления. Jah loves you. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 05.11.2009, 16:56 |
|
||
|
Почему скомпилированный проект падает "молча"?
|
|||
|---|---|---|---|
|
#18+
А к какому hwnd ее прикручивать? К hwnd всех контролов? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 05.11.2009, 16:58 |
|
||
|
Почему скомпилированный проект падает "молча"?
|
|||
|---|---|---|---|
|
#18+
И что вместо многоточия? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 05.11.2009, 16:58 |
|
||
|
Почему скомпилированный проект падает "молча"?
|
|||
|---|---|---|---|
|
#18+
... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 05.11.2009, 17:06 |
|
||
|
Почему скомпилированный проект падает "молча"?
|
|||
|---|---|---|---|
|
#18+
Shocker.ProА к какому hwnd ее прикручивать? К hwnd всех контролов?Кого ее? У вас уже все прикручено, раз уж падает, нужно только добавить указанные строчки в начале процедур и в конце. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 05.11.2009, 17:08 |
|
||
|
Почему скомпилированный проект падает "молча"?
|
|||
|---|---|---|---|
|
#18+
Не-е-е-е..., чего-то мы друг друга не поняли.... То, что я пишу - никак не связано с прикрученным скроллом, оно было и раньше, когда я не перехватывал оконную процедуру. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 05.11.2009, 17:10 |
|
||
|
Почему скомпилированный проект падает "молча"?
|
|||
|---|---|---|---|
|
#18+
Ладно. Но все равно виноваты контролы. Они в одной либе или разных? Если в одной, то лучше разделить на время, можно будет по сеточке локализовать глючный. Или выложите их здесь, если не жалко (вряд ли они представляют интеллектуальную ценность в отрыве от программы), поищу опасные участки. Или на почту. Jah loves you. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 05.11.2009, 17:46 |
|
||
|
Почему скомпилированный проект падает "молча"?
|
|||
|---|---|---|---|
|
#18+
Antonariy, Неееее.... Вопрос стоит совсем не так. Проект развивается. Иногда модернизация приводит к глюкам в старом коде, иногда высвечивает ранее внесенные глюки, которые не проявлялись. Иногда глюки в новом коде. Это все явление нормальное и понятное. Пользователь делает действия, у него проект падает. Он приходит ко мне и говорит: я сделал такую-то последовательность действий. Я делаю эту же последовательность под IDE, получаю ошибку, нажимаю Debug, вызываю CallStack и решаю проблему. Но иногда пользователь не может добиться повторяемой ошибки. И ситуацию усугубляет то, что я не могу увидеть не только текст ошибки, но и экран (успела ли загрузиться форма, какой контрол в каком состоянии и т.п.). Вот это ловить очень тяжело, а пользователи - не профессиональные бета-тестеры. Ситуацию с "молчаливым" падением пока не удалось воспроизвести на отдельной группе проектов. Контрол покрывается сеточкой, ошибка появляется, но проект остается и не падает. То есть в основном проекте я что-то где-то сделал так, что началось такое поведение, например что-то при загрузке. Впрочем, попробую все-таки локализовать методом итераций :) Может я немножко не тем путем иду... Стандартная обработка ошибок в VB6 сделана неудобно, встроить ее в каждую процедуру автоматически сложно (с учетом того, что местами есть отлов, а в проекте только форм полторы сотни).... ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 05.11.2009, 18:10 |
|
||
|
Почему скомпилированный проект падает "молча"?
|
|||
|---|---|---|---|
|
#18+
И даже без всяких юзерконтролов. Кладу на одну из форм кнопку, которая делит на ноль. Запускаю ехе, жму на кнопку - проект исчезает с характерным звуком ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 05.11.2009, 18:28 |
|
||
|
Почему скомпилированный проект падает "молча"?
|
|||
|---|---|---|---|
|
#18+
Ого. Это в чистом проекте? Переустанавливать студию пробовали? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 05.11.2009, 20:06 |
|
||
|
Почему скомпилированный проект падает "молча"?
|
|||
|---|---|---|---|
|
#18+
На чистом ТЕСТОВОМ проекте такого не происходит (соответственно, переустановка студии не причем). Сейчас как раз занимаюсь тем, что, скопировав свой проект, выкидываю из него части, пытаясь довести до состояние чистого. Пока падает. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 05.11.2009, 20:11 |
|
||
|
Почему скомпилированный проект падает "молча"?
|
|||
|---|---|---|---|
|
#18+
У меня пока с WM_(massages) игрался тоже через раз все падало (когда на message неправильно пытался реагировать), если это о том. И на тестовом проекте тоже. И если в в vb6 то вместе со студией. Так что надо аккуратней с этими WM_ ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 05.11.2009, 20:18 |
|
||
|
Почему скомпилированный проект падает "молча"?
|
|||
|---|---|---|---|
|
#18+
Ни за что не догадаетесь, Кто виноват! Смотрите и удивляйтесь. Однако, теперь очень остро и животрепещуще встает извечный вопрос - Что делать? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 05.11.2009, 21:35 |
|
||
|
Почему скомпилированный проект падает "молча"?
|
|||
|---|---|---|---|
|
#18+
У меня IDE останавливается с сообщением division by zero. И не падает. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 05.11.2009, 21:56 |
|
||
|
Почему скомпилированный проект падает "молча"?
|
|||
|---|---|---|---|
|
#18+
Аналогично. Прога вылетает division by zero, но сам vb6 -нет. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 05.11.2009, 22:52 |
|
||
|
Почему скомпилированный проект падает "молча"?
|
|||
|---|---|---|---|
|
#18+
AntonariyУ меня IDE останавливается с сообщением division by zero. И не падает. Дмитрий77Аналогично. Прога вылетает division by zero, но сам vb6 -нет. Эта.... ну вы немножко тему забыли IDE не вылетает, а вы попробуйте ехе-шник собрать. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 06.11.2009, 00:03 |
|
||
|
Почему скомпилированный проект падает "молча"?
|
|||
|---|---|---|---|
|
#18+
Ну падает хочется ему так, а нафига на 0 делить. Вот так не падает... Код: plaintext 1. 2. 3. 4. 5. 6. 7. Я в сомнит. не оч. нужных кодах(напр. form_resize) обычно ставлю resume next, ну не выполнится чего-то зато crash-а не будет. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 06.11.2009, 00:19 |
|
||
|
Почему скомпилированный проект падает "молча"?
|
|||
|---|---|---|---|
|
#18+
Дмитрий77Ну падает хочется ему так, а нафига на 0 делить. Дмитрий, вы читаете только последнее сообщение в топике? Хорошо, я повторю: Shocker.ProПроект развивается. Иногда модернизация приводит к глюкам в старом коде, иногда высвечивает ранее внесенные глюки, которые не проявлялись. Иногда глюки в новом коде. Это все явление нормальное и понятное. Пользователь делает действия, у него проект падает. Он приходит ко мне и говорит: я сделал такую-то последовательность действий. Я делаю эту же последовательность под IDE, получаю ошибку, нажимаю Debug, вызываю CallStack и решаю проблему. ... Стандартная обработка ошибок в VB6 сделана неудобно, встроить ее в каждую процедуру автоматически сложно (с учетом того, что местами есть отлов, а в проекте только форм полторы сотни).... Еще раз обращаю внимание - в проекте ТЫСЯЧИ процедур. Пройтись по всем и проставить on error нереально, с учетом того, что во многих процедурах есть свой on error. А ошибки могут возникнуть в довольно произвольных местах: может индекс вылететь за пределы массива, может ошибка при работе с базой возникнуть, опять же местами используются асинхронные вычисления, может где-то переполнение случиться, причем при очень специфической комбинации действий - всего не предусмотришь. А в проекте изначально не была заложена идеология - в каждую процедуру, пусть и состоит она из одной строки, класть обработчик ошибок. Поэтому речь сейчас идет не о том, как переписать проект , а как сделать так, чтобы пользователь увидел сообщение об ошибке. Это проблему решит в достаточно большой степени. А на ноль я делю для того, чтобы вызвать ошибку. Это ТЕСТОВЫЙ проект, если вы не поняли, для демонстрации глюка . И "хочется" не ему, а, видимо, кулбару, так как если кулбар убрать, то все прекрасно работает. Фух. Надеюсь - объяснил. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 06.11.2009, 00:38 |
|
||
|
Почему скомпилированный проект падает "молча"?
|
|||
|---|---|---|---|
|
#18+
Пройтись по всем и проставить on error нереальноБолее чем реально, работайте головой, а не руками, как говорил Скрудж Макдак. Открываем файл исходника, считываем текст, находим sub function или property, вставляем on error, находим соответствующий end, вставляем обработчик. Заодно проверяем, нет ли его уже. Примитивный скрипт, делов на полчаса с перекурами. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 06.11.2009, 00:59 |
|
||
|
Почему скомпилированный проект падает "молча"?
|
|||
|---|---|---|---|
|
#18+
Да читал я все, по крайней мере пробежался. Ничего не сделаете скорее всего. А даже если пользователь присылает вам картинку на 2 экрана с сообщением "/0" Вы с ходу поймете что где не так в ваших 1500 функциях не видя места остановки? Присылают мне напр. "ActiveX component can't create object" или "Automation error" и т.п. Если соображу, то догадаюсь в чем дело...напр. у него net.framework не установлен... и shell запускающий C-шный екзешник сглючил, кот.в этом framework нуждается, только в msgbox даже системном это не напишется. Так что разговор не о чем. Вспомнилось...Была старая прога PCplus (досовская терминалка) , на так начиная с какого-то Pentium она стала ругаться и писать Division by zero при запуске (для примера). И все: отказались от нее в итоге. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 06.11.2009, 01:03 |
|
||
|
|

start [/forum/topic.php?fid=60&msg=36293278&tid=2160426]: |
0ms |
get settings: |
10ms |
get forum list: |
13ms |
check forum access: |
4ms |
check topic access: |
4ms |
track hit: |
33ms |
get topic data: |
11ms |
get forum data: |
3ms |
get page messages: |
58ms |
get tp. blocked users: |
1ms |
| others: | 13ms |
| total: | 150ms |

| 0 / 0 |
