Этот баннер — требование Роскомнадзора для исполнения 152 ФЗ.
«На сайте осуществляется обработка файлов cookie, необходимых для работы сайта, а также для анализа использования сайта и улучшения предоставляемых сервисов с использованием метрической программы Яндекс.Метрика. Продолжая использовать сайт, вы даёте согласие с использованием данных технологий».
Политика конфиденциальности
|
|
|
Почему скомпилированный проект падает "молча"?
|
|||
|---|---|---|---|
|
#18+
Ну или дорабатывайте в направлении опции:делать лог в txt файл. Замучаетесь конечно, но точно уткнетесь в ошибку. Типа: -ttttttttttttt как в сурьезных c++ консольных прогах принято. Чем больше букв t, тем в лог больше информации сыпется. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 06.11.2009, 01:10 |
|
||
|
Почему скомпилированный проект падает "молча"?
|
|||
|---|---|---|---|
|
#18+
Дмитрий77А даже если пользователь присылает вам картинку на 2 экрана с сообщением "/0" Вы с ходу поймете что где не так в ваших 1500 функциях не видя места остановки? Ну почему же? Я увижу а) текст ошибки б) экран/состояние контролов это вполне даст мне понимание, где копать Юзер обычно даже не может ответить на вопрос, началась ли открываться какая-то форма или нет. Дмитрий77Вспомнилось...Была старая прога PCplus (досовская терминалка) , на так начиная с какого-то Pentium она стала ругаться и писать Division by zero при запуске (для примера). И все: отказались от нее в итоге. А кое-кто не отказался... Там стоило в одном месте любым hex-редактором заменить одно число на другое - и все продолжало работать. То есть - можно сказать: MSFlexGrid не крутится скроллером мыши, а можно сделать, чтобы крутился - чувствуете разницу? AntonariyБолее чем реально, работайте головой, а не руками, как говорил Скрудж Макдак. Открываем файл исходника, считываем текст, находим sub function или property, вставляем on error, находим соответствующий end, вставляем обработчик. Заодно проверяем, нет ли его уже. Примитивный скрипт, делов на полчаса с перекурами. а) Текст, конечно, будет весьмя тяжел для понимания и сопровождения, когда ( хотя, подумалось, если только запускать скрипт перез компиляцией проекта... ) б) Там, где уже есть обработчики, непонятно, на что менять on error goto 0. В некоторых случаях это означает отдачу на милость вышестоящего обработка, в некоторых - просто прекращение действия on error resume next Но, собственно, я подумал, что вдруг вас заинтересует сей обнаруженный феномен и вы дадите совет. Скорее всего, вы правы насчет того, что это проблема с перехватом оконной процедуры, в данном случае - самим кулбаром. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 06.11.2009, 01:27 |
|
||
|
Почему скомпилированный проект падает "молча"?
|
|||
|---|---|---|---|
|
#18+
>А кое-кто не отказался... Там стоило в одном месте любым hex-редактором заменить одно число на другое - и все продолжало работать. >То есть - можно сказать: MSFlexGrid не крутится скроллером мыши, а можно сделать, чтобы крутился - чувствуете разницу? Ну да, а можно мышь старую оставить. Мой тогдашний шеф ради этого какое-то время избегал новых пентиумов. Только сценарий обмена информацией: "Привет! Давай пищать...блин...давай еще раз" быстро ушел в прошлое, т.к. e-mail оказался существенно удобнее. Да что pcplus, он потом еще ради win98 кучу всякого хлама скупал. Каюсь, сам до середины 2007 сидел на win98 на P-III 2001г.в. А че, хороший пень, сейчас у меня 2003-м сервером работает, ибо новый на это дело предназначенный использую ныне для анализа поведения своих программ на всяких там Vista/2008/x64 и прочих экспериментов. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 06.11.2009, 02:44 |
|
||
|
Почему скомпилированный проект падает "молча"?
|
|||
|---|---|---|---|
|
#18+
Текст, конечно, будет весьмя тяжел для понимания и сопровожденияЕрунда. От четырех строк на функцию ничего не изменится, хотя конечно это дело субъективное. хотя, подумалось, если только запускать скрипт перез компиляцией проекта0_0 А какой смысл это делать после? Там, где уже есть обработчикиничего делать не надо, они там неспроста. Но, собственно, я подумал, что вдруг вас заинтересует сей обнаруженный феномен и вы дадите совет.Не вижу феномена, вижу просчеты проектирования. Jah loves you. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 06.11.2009, 11:55 |
|
||
|
Почему скомпилированный проект падает "молча"?
|
|||
|---|---|---|---|
|
#18+
AntonariyТекст, конечно, будет весьмя тяжел для понимания и сопровожденияЕрунда. От четырех строк на функцию ничего не изменится, хотя конечно это дело субъективное. Если в функции одна рабочая строка (это нормальное явление при грамотной инкапсуляции) и к ней четыре обработчика ошибок - то тяжеловато будет Antonariyхотя, подумалось, если только запускать скрипт перез компиляцией проекта0_0 А какой смысл это делать после? Вот как раз, чтобы не мешало разработке и отладке. Потому что под IDE все работает как надо, мало того, НУЖНО, чтобы под IDE ошибки не перехватывались, чтобы можно было жать debug и смотреть состояние переменных и пр. AntonariyТам, где уже есть обработчикиничего делать не надо, они там неспроста. Но эти обработчики не покрывают ВСЮ функцию. Они вставлены в критичных местах (например при работе с COM-объектами, проверке существования элементов коллекции и т.п.). Остальную часть функции все равно нужно прикрывать, иначе смысл потеряется. AntonariyНе вижу феномена, вижу просчеты проектирования. Одно другому не мешает. Вы же удивились, когда узнали про то, что это происходит на чистом проекте. Вот я выковырял. И надеялся, вдруг Antonariy придет и скажет " А-а-а. Да я сталкивался с этим. Надо у кулбара вот это свойство поменять / сделать SendMessage такой-то и все будет хорошо! " ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 06.11.2009, 12:20 |
|
||
|
Почему скомпилированный проект падает "молча"?
|
|||
|---|---|---|---|
|
#18+
Собственно, почему в проекте не сделан повсеместный перехват? Потому что в тех местах, где ошибка возникнуть потенциально может, перехват ставится, в остальных случаях лучше, чтобы выполнение программы не продолжалось, так как в результате ошибочной обработки данных, они могут неверно дальше записываться в базу и т.п., то есть привести к существенным проблемам. Большинство процедур именно такие - то есть, если возникла ошибка там, где возникнуть не должна, лучше на всякий случай не продолжать выполнение и искать причину. Стандартный вариант, который представляет скомпилированный VB-шный проект вполне устраивает. Но тут на пути встал кулбар. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 06.11.2009, 12:35 |
|
||
|
Почему скомпилированный проект падает "молча"?
|
|||
|---|---|---|---|
|
#18+
Shocker.ProВот как раз, чтобы не мешало разработке и отладке.Чем дальше в лес, тем больше нового и странного я узнаю… >_< Как это может помешать отладке? Я сталкивался с сеточкой. Вполне вероятно (уже не помню фактов), что она может появляться и при ошибке не связанной с сабклассингом. Больше никакой конкретики я не видел, посоветовать нечего. С кулбаром проблем не имел. Jah loves you. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 06.11.2009, 16:22 |
|
||
|
Почему скомпилированный проект падает "молча"?
|
|||
|---|---|---|---|
|
#18+
AntonariyShocker.ProВот как раз, чтобы не мешало разработке и отладке.Чем дальше в лес, тем больше нового и странного я узнаю… >_< Как это может помешать отладке? Ну как же? Если я перехватываю и резюмирую ошибку, я не могу нажать Debug Если я перехватываю и райзю ошибку, то нет вообще никакого смысла в перехвате, я и так получаю прерывание исполнения в IDE AntonariyЯ сталкивался с сеточкой. Вполне вероятно (уже не помню фактов), что она может появляться и при ошибке не связанной с сабклассингом. Больше никакой конкретики я не видел, посоветовать нечего. С кулбаром проблем не имел. Ну в проекте, который я выложил, никакой сеточки уже нет, глюк без всякой сеточки. Ну ладно, что ж... жаль. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 06.11.2009, 16:28 |
|
||
|
Почему скомпилированный проект падает "молча"?
|
|||
|---|---|---|---|
|
#18+
Ну как же?Вы не знаете, какой участок кода обрабатывает то, что у вас перед глазами? 1) MsgBox в обработчике ошибок + ctrl/break, когда он выскочил = режим отладки 2) Брейкпоинт там же Пример в аттаче. Если я перехватываю и резюмируюЭто не обработка, а игнорирование ошибки и непредсказуемые результаты. Ну в проекте, который я выложил, никакой сеточки уже нет, глюк без всякой сеточки.Там нет глюков. Jah loves you. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 06.11.2009, 16:40 |
|
||
|
Почему скомпилированный проект падает "молча"?
|
|||
|---|---|---|---|
|
#18+
Antonariy1) MsgBox в обработчике ошибок + ctrl/break, когда он выскочил = режим отладки Ага, не знал про ctrl/break, обычно в момент модального msg ничего не работает, спасибо. Antonariy Пример в аттаче. Если я перехватываю и резюмируюЭто не обработка, а игнорирование ошибки и непредсказуемые результаты. А то, что в вашем примере - это разве не игнорирование ошибки? пользователь нажимает "ок", функция недоработала, вернула черти-что, и программа работает дальше с непредсказуемым результатом. AntonariyНу в проекте, который я выложил, никакой сеточки уже нет, глюк без всякой сеточки.Там нет глюков. Ну описанный мной эффект на скомпилированном экзешнике вы разве не пронаблюдали? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 06.11.2009, 16:55 |
|
||
|
Почему скомпилированный проект падает "молча"?
|
|||
|---|---|---|---|
|
#18+
А то, что в вашем примере - это разве не игнорирование ошибки?Нет. Пример: Код: plaintext 1. 2. 3. 4. вернула черти-чтоВ вызывающей функции нужно делать проверку на это самое черти-что. Ну описанный мной эффект на скомпилированном экзешнике вы разве не пронаблюдали?А, теперь понял. Похоже кулбар сабклассит форму, на которой лежит. Ну, с этим ничего не поделаешь. Кроме расово правильной обработки ошибок. Или создания своего кулбара с блекждеком и шлюхами с помощью апи. Jah loves you. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 06.11.2009, 17:18 |
|
||
|
Почему скомпилированный проект падает "молча"?
|
|||
|---|---|---|---|
|
#18+
... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 06.11.2009, 17:19 |
|
||
|
Почему скомпилированный проект падает "молча"?
|
|||
|---|---|---|---|
|
#18+
AntonariyДопустим при открытии рекордсета произошла ошибка, например таблицы нет, однако все равно есть закрытый рекордсет. Да не... Ну ясный пень, на работе с базой ошибки отлавливаются. А под "резюмированием" я имел ввиду то же, что и вы - то есть дать возможность пользователю продолжить работу, несмотря на ошибку (а не возвращение к месту ошибки) Antonariyвернула черти-чтоВ вызывающей функции нужно делать проверку на это самое черти-что. Ну, например, вложенная функция считает НДС. В результате ошибки, произошедшей внутри этой функции, она вернет результат "0". Вызывающая программа не знает, может ли быть НДС 0 или не 0 в каком-то конкретном случае, для того она и вызывает "считалку". Соответственно, в каждую функцию нужно вводить код возврата, внутри каждой функции обрабатывать код возврата. Напротив каждого вызова любой функции тоже делать анализ кода возврата. В итоге каждая строка типа: Код: plaintext превращается в Код: plaintext 1. 2. 3. 4. 5. С учетом этого превращения, а также добавления обработчика ошибок, общий объем кода возрастает по моим прикидкам раза в три и становится совершенно нечитабельным. То есть доведение до маразма просто нерентабельно, а без маразма - обобщенная цель не будет достигнута. То есть на потенциально опасный код (и на работу с базой в том числе) ставятся обработчики, а обычная бизнес-логика пишется без этих заморочек. Или создания своего кулбара с блекждеком и шлюхами с помощью апи. Джа, конечно, любит меня, но не настолько. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 06.11.2009, 17:40 |
|
||
|
Почему скомпилированный проект падает "молча"?
|
|||
|---|---|---|---|
|
#18+
превращается вВ особо критичных местах так и должно быть. Но реально все же есть какой-то баланс между необходимым и достаточным. Обычно достаточно проверить результат My1(My2(b)), а не каждый шаг. То есть доведение до маразма просто нерентабельно, а без маразма - обобщенная цель не будет достигнута.Это понятно, я предлагал масированную обработку чисто для отладки. Ну и конечно метод из одной строчки в обработке не нуждается. Jah loves you. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 06.11.2009, 18:03 |
|
||
|
Почему скомпилированный проект падает "молча"?
|
|||
|---|---|---|---|
|
#18+
Все-таки общение с Antonariy не может проходить без пользы AntonariyПохоже кулбар сабклассит форму, на которой лежит. Ну, с этим ничего не поделаешь. Это натолкнуло меня на мысль.... Попробовал. Короче, если кулбар лежит на обычной форме (в том же тестовом проекте на Form1), то глюка не происходит. Перенести жить кулбар на child-форму, которая сама следит за размерами MDI-формы и подстраивается под нее? Плохо то, что в этом случае таскание юзерами других child-форм по экрану будет загораживать кнопки кулбара, а не "подлезать" под них. Установить этому окну свойство "всегда наверху"? Или создать кулбар на обычной форме, а потом "переклеить" его с помошью смены Parent-а окна? ........? ............................ ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 06.11.2009, 18:20 |
|
||
|
Почему скомпилированный проект падает "молча"?
|
|||
|---|---|---|---|
|
#18+
Еще проще :) Создать alignable контрол-контейнер и положить кулбар в него. При возникновении ошибки он покрывается сеточкой, то программа падает с сообщением об ошибке. Jah loves you. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 06.11.2009, 19:05 |
|
||
|
Почему скомпилированный проект падает "молча"?
|
|||
|---|---|---|---|
|
#18+
... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 06.11.2009, 19:07 |
|
||
|
Почему скомпилированный проект падает "молча"?
|
|||
|---|---|---|---|
|
#18+
AntonariyСобственно. Угу. Что интересно, виновато свойство Align самого кулбара. 1) В вашем примере кулбар выравниваться вообще не хочет, свойство автоматически вырубается, проект не падает 2) Просто на MDI-форме - наоборот, нельзя выравнивание выключить, проект падает 3) Если засунуть кулбар внутрь Alignable-контрола: _а) если выравнивание включено - проект падает _б) если выравнивание выключено - проект не падает 4) И только если кулбар находится на обычной форме - не падает, вне зависимости от Align Так что придется писать вручную автовыравнивание кулбара и Alignable-контрола, но это, видимо, самые маленькие издержки.... Будем попробовать. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 06.11.2009, 19:38 |
|
||
|
Почему скомпилированный проект падает "молча"?
|
|||
|---|---|---|---|
|
#18+
Интегрировал в рабочий проект. Все работает. С меня уже два пива, а куда высылать, так и не знаю. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 06.11.2009, 22:13 |
|
||
|
Почему скомпилированный проект падает "молча"?
|
|||
|---|---|---|---|
|
#18+
Shocker.Pro Ну описанный мной эффект на скомпилированном экзешнике вы разве не пронаблюдали? Я нет - усе нормально - выдается сообщение об ошибке... ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 09.11.2009, 00:08 |
|
||
|
Почему скомпилированный проект падает "молча"?
|
|||
|---|---|---|---|
|
#18+
Хотя вру - это я уже проект Antonariy запустил... ------------------------------------------- Почему на форуме программеров настолько кривой движок что не позволяет изменить/удалить сообщение? Сапожники без сапог? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 09.11.2009, 00:20 |
|
||
|
Почему скомпилированный проект падает "молча"?
|
|||
|---|---|---|---|
|
#18+
AndrFЯ нет - усе нормально - выдается сообщение об ошибке... Гм, на висте не пробовал, может дело в ней (пробовал на ХП и 2к). Может у вас обновленные компоненты на машине.... ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 09.11.2009, 00:21 |
|
||
|
Почему скомпилированный проект падает "молча"?
|
|||
|---|---|---|---|
|
#18+
AndrFПочему на форуме программеров настолько кривой движок что не позволяет изменить/удалить сообщение? И не говорите! сам сначала ответил на первое, потом увидел второе. Модеры, удалите последних четыре сообщения ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 09.11.2009, 00:23 |
|
||
|
Почему скомпилированный проект падает "молча"?
|
|||
|---|---|---|---|
|
#18+
Shocker.ProС меня уже два пива, а куда высылать, так и не знаю.Лучше выпейте за мое здоровье :) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 10.11.2009, 14:27 |
|
||
|
Почему скомпилированный проект падает "молча"?
|
|||
|---|---|---|---|
|
#18+
AntonariyShocker.ProС меня уже два пива, а куда высылать, так и не знаю.Лучше выпейте за мое здоровье :) Сделано. Дмитрий77А даже если пользователь присылает вам картинку на 2 экрана с сообщением "/0" Вы с ходу поймете что где не так в ваших 1500 функциях не видя места остановки? Присылают мне напр. "ActiveX component can't create object" или "Automation error" и т.п. .... Так что разговор не о чем. Ну вот, за пару дней работы новой версии уже начал выявляться глюк , да такой, который не обнаруживается под отладкой. А вы говорите - ни о чем ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 10.11.2009, 22:17 |
|
||
|
|

start [/forum/topic.php?fid=60&gotonew=1&tid=2160426]: |
0ms |
get settings: |
9ms |
get forum list: |
13ms |
check forum access: |
3ms |
check topic access: |
3ms |
track hit: |
30ms |
get topic data: |
8ms |
get first new msg: |
7ms |
get forum data: |
2ms |
get page messages: |
55ms |
get tp. blocked users: |
1ms |
| others: | 232ms |
| total: | 363ms |

| 0 / 0 |
