Текущий архив: 2006.11.12;
Скачать: CL | DM;
ВнизWatch показывает неверные значения переменных Найти похожие ветки
← →
silversmith (2006-10-26 15:07) [0]Добрый день, уважаемые коллеги.
Написал процедуру содержащую примерно следующий код:
for q:=1 to 28 do begin
ShowMessage(IntToStr(q));
fn:="data\random\a"+IntToStr(v1[q]);
end;
Начинаю пошаговую трассировку программы.
В Watch добавил переменные q, v2, fn, v1 и обнаружил что watch показывает неверные значения. Сразу после входа в цикл значение q показывается в вотче равным 28 и на каждом следующем проходе цикла уменьшается на единицу хотя ShowMessage(IntToStr(q)); выдает все правильно то есть 1, 2, 3 ... 28. Со строкой fn элементы массива v2 сцепляются также в правильном порядке.
Самое интересное, что программа работает правильно, как надо и уже в принципе сдана заказчику. Просто эта проблема ужасно затрудняла отладку и хотелось бы на будущее знать, из-за чего это может возникнуть и как это побороть.
Заранее спасибо за ответы.
← →
Сергей М. © (2006-10-26 15:11) [1]
> из-за чего это может возникнуть
Из-за оптимизатора.
В целях и на время отладки выключи соотв.опцию в св-вах проекта.
← →
unknown © (2006-10-26 15:13) [2]
> silversmith (26.10.06 15:07)
> Просто эта проблема ужасно затрудняла отладку и хотелось
> бы на будущее знать, из-за чего это может возникнуть и как
> это побороть.
Это происки оптимизатора. Ничего страшного.
Если очень хочется - можно просто отключить оптимизацию в свойствах
проекта.
← →
Ketmar © (2006-10-26 15:18) [3]ох-х-х... этот вопрос возникает с завидной регулярностью. а вот про "запуздырить" что-то реже спрашивают... %-)
← →
silversmith (2006-10-26 15:19) [4]Спасибоа за ответ. Действительно так оно и оказалось.
← →
Anatoly Podgoretsky © (2006-10-26 15:38) [5]А запуздырить включили в Дельфи
← →
Германн © (2006-10-26 15:56) [6]
> Anatoly Podgoretsky © (26.10.06 15:38) [5]
>
> А запуздырить включили в Дельфи
В какую версию? Срочно перехожу на неё! :-)
← →
Anatoly Podgoretsky © (2006-10-26 16:12) [7]Не помню, где то с 7 по 2006
Я не искал, но скоро буду. Или напишу как положено на АПИ
← →
Elen © (2006-10-26 16:28) [8]
> А запуздырить включили в Дельфи
В смысле Run->Attach to process ?
← →
Anatoly Podgoretsky © (2006-10-26 16:30) [9]Вообще то в виде Drag&Drop
← →
Elen © (2006-10-26 16:34) [10]
> Anatoly Podgoretsky
Так вот что такойе "запуздырить" 8) будемть знатьть
← →
Германн © (2006-10-26 16:37) [11]
> Anatoly Podgoretsky © (26.10.06 16:12) [7]
>
> Не помню, где то с 7 по 2006
Действительно включили. В 2006 есть. В хелпе даже ясно сказано - туда, где часики. :-)
← →
Anatoly Podgoretsky © (2006-10-26 16:39) [12]
> Так вот что такойе "запуздырить" 8) будемть знатьть
Откуда догадалась? В ветке ни слова про это.
Это старая известная история, еще со времен ФИДО, вопрос выглядел так
> Как запуздырить программу, туда где часики
← →
Elen © (2006-10-26 16:43) [13]
> Anatoly Podgoretsky
Не догадалась потому и интуитивно спрашиваю в [8]. А где почитать полный ответ?
← →
Anatoly Podgoretsky © (2006-10-26 16:48) [14]По памяти, общий смысл
Все операции с иконками в системтрей выполняются с помощью единственной функции Shell_NotifyIcon
← →
Anatoly Podgoretsky © (2006-10-26 16:48) [15]Ну и конечно разные варианты стеба
← →
Anatoly Podgoretsky © (2006-10-26 23:32) [16]Попробовал данный компонет, на удивление сделан хорошо, даже больше чем я ожидал от него.
С помощью его можно минут за тридцать сделать профессионально выглядующее приложение с иконкой и соответствующим поведением.
Иконку можно в любое время добавлять и убирать. Небольшая заточка и при старте можно сделать что бы главная форма была невидимой, не с помощью этого компонента конечно и и при его помощи.
Только надо быть осторожным, что бы одновременно не запретить и иконку и главное окно, а то придется закрывать приложение с помощью трех волшебных клавиш, и сделать нормальное поведение приложения, так что бы минимизация и кнопка закрытия программы не закрывали приложение при наличии иконки, а скрывали главное и вспомогательные окна, ну и соответственно наоборот, но это дело техники и входит в эти тридцать минут на написание и проведение экспериментов.
За это время я успел отладить приложение, свой NNTP сервер, провести все необходимые приложения, управление показом пунктов меню в зависимости от состояния, показом главной формы и самой иконки, так чтобы не оказаться в подвешенном состоянии.
← →
skyle © (2006-10-27 07:00) [17]
> Anatoly Podgoretsky © (26.10.06 16:48) [14]
> По памяти, общий смысл
>
> Все операции с иконками в системтрей выполняются с помощью
> единственной функции Shell_NotifyIcon
Если речь про origin Тенцера, то вот оригинал
= Иконку в system tray (где часы) вставляют функцией Shell_NotifyIcon =
:)
Страницы: 1 вся ветка
Текущий архив: 2006.11.12;
Скачать: CL | DM;
Память: 0.49 MB
Время: 0.041 c