В конце-то концов! - страница 2

 
Rosh:
Там нет исходников, к сожалению. А объем приложенных файлов очень велик.
Так Вы примерно с помощью отладчика разве не можете вычислить место? Я бы дальше с помощью трассировки нашёл...
 
AlexSTAL:
Так Вы примерно с помощью отладчика разве не можете вычислить место? Я бы дальше с помощью трассировки нашёл...

Отладчиком по чистому ассемблеру, а потом как Вам выдать место падения? Это несерьезно.

Не забывайте, что эксперт компилируется в нативный код перед исполнением + работает оптимизатор кода.

 
Renat:

Отладчиком по чистому ассемблеру, а потом как Вам выдать место падения?

Не забывайте, что эксперт компилируется в нативный код перед исполнением + работает оптимизатор кода.

Ну я тонкостей Ваших не знаю...

Ладно, попробую вечером найти, если кто-то другой раньше не найдёт в более простом коде, чем 20 тыс строк ))))

 
Renat:

Отладчиком по чистому ассемблеру, а потом как Вам выдать место падения? Это несерьезно.

Не забывайте, что эксперт компилируется в нативный код перед исполнением + работает оптимизатор кода.

Ренат, я нашел ошибку

В дебаг режиме поломалась операция  if в котором стоит унарная "!" для bool переменной (во как локализовать получилось :)

вот так не работает (Access read)

bool b=false;
if (!b) m_colname.m_style|=WS_DISABLE;

вот так работает    m_colname.m_style|=WS_DISABLE;
или так                  if (true) m_colname.m_style|=WS_DISABLE;
или так                  if (b==false) m_colname.m_style|=WS_DISABLE;
или даже так         if (!(int)b) m_colname.m_style|=WS_DISABLE;


PS
в качестве награды прошу рассмотреть заяку #173113  или #182301
спасибо :)

 
sergeev:

Ренат, я нашел ошибку

В дебаг режиме поломалась операция  if в котором стоит унарная "!" для bool переменной (во как локализовать получилось :)

вот так не работает (Access read)

bool b=false;
if (!b) m_colname.m_style|=WS_DISABLE;

вот так работает    m_colname.m_style|=WS_DISABLE;
или так                  if (true) m_colname.m_style|=WS_DISABLE;
или так                  if (b==false) m_colname.m_style|=WS_DISABLE;
или даже так         if (!(int)b) m_colname.m_style|=WS_DISABLE;


PS
в качестве награды прошу рассмотреть заяку #173113  или #182301
спасибо :)

 

Простое применение этого кода не даёт никаких ошибок.

Не могли бы Вы предоставить исходник, на котором мы бы воспроизвели проблему? 

 
stringo:

Простое применение этого кода не даёт никаких ошибок.

Не могли бы Вы предоставить исходник, на котором мы бы воспроизвели проблему? 

заявка #197622
 
sergeev:
заявка #197622
Да, спасибо. Мы получили
 
stringo:
Да, спасибо. Мы получили

а всё-таки как на счет проинорированной #182301 ?

она как раз для слов Рената с помощью этих методов можно создавать точные и аккуратные панели управления


 

Так Вы примерно с помощью отладчика разве не можете вычислить место? Я бы дальше с помощью трассировки нашёл...

Вот для таких случаев очень бы пригодилась обработка исключений!

По крайней мере быстро вышли бы на процедуру, где происходит крах. Потом уже в ней локализовали бы проблему.

За час бы уложились! 

 

ЗЫ А как удобно программировать с исключениями!

Котлеты (код) отдельно,     мухи (проверки, обработка ошибок) отдельно.

Код становится прозрачнее, ибо лишен хреновой тучи необходимых проверок, которые находятся в отдельном месте (лучше - в специальном классе)