Top.Mail.Ru
Мастера DELPHI, Delphi programming community Титульная страница Поиск, карта сайта Написать письмо 
| Новости | Поиск | FAQ | Статьи | Книги | Новости VCL |
| Форумы ЧАТ | Орешник | KOL и MCK |
Форумы -» Основная («Начинающим»)/ Базы / WinAPI / Компоненты / Сети / Media / Игры / Corba и COM / KOL / FreePascal / .Net / Прочее / RSDN.ORG

« предыдущая ветвь | форум | следующая ветвь »

Принтер "портит" выполнение программы? [D2005, XP]


Страницы:   1 2 3

Abcdef123 ©   (2010-12-22 06:31:00) 

Здравствуйте, Мастера. Заранее извиняюсь, если мой вопрос послан не по теме данного форума.
Столкнулась с такой проблемой. Программа очень давняя, работала нормально, проблема возникла только у клиента сейчас, когда они купили новый принтер (HP). В одном месте программы дает ошибку Number out of range. Если проигнорировать ошибку и попробовать запустить то же самое (не перезагружая проект), то второй раз выполняется номально. Со старым принтером вообще нормально работает!!!
Вот сейчас детали:трассировка ошибки показала место, где получается "большое" число. В процедуре объявлена переменная типа Currency и ей присваивается некое значение, вычисляемое по формуле, на основе данных таблицы. Так вот, первый раз похоже значение это не вычисляется (это я так полагаю), поскольку интересное значение этой переменной получается: –922337203685477.5808 (то есть минимальное значение, которое может иметь этот тип). Знаний насчет драйвера принтера у меня недостаточно. Вот и думаю, возможно ли, что драйвер принтера каким то образом "портить" программу? И если да, то каким образом второй раз ошибки нет, присваивается нужное рассчитанное значение этой переменной. Пожалуй, на этом описание закончу, если что-то нужно подробнее сообшить - спросите. Возможно, что кто-то встречался с подобной проблемой. Может я вообще не там ищу причину? Буду рада любому дельному совету. Заранее спасибо!


MonoLife   (2010-12-22 08:51:00) [41]


>Abcdef123   (22.12.10 06:31)
> поскольку интересное значение этой переменной получается:
>  –922337203685477.5808

инициализировать переменную перед этим не пробовали?


Ega23   (2010-12-22 08:42:00) [42]


>  Такой подход сойдет на лог?

В целом - да. Хотя, на пой взгляд, это более утомительно.


Abcdef123   (2010-12-22 08:27:00) [43]

To [4]. Извините за примитивный вопрос - что такое логи? Я посмотрела в инете - типа как трассировка. Я обычно трассировку делаю - в коде, где ошибка - я добавляю мессаджи со сплошной нумеровкой (если надо то со значеними переменных, какие вызывают подозрения на ошибку). И таким образом нахожу строку, на которой споткнулась программа. Такой подход сойдет на лог? Или логи - это что то более точное??


Ega23   (2010-12-22 08:04:00) [44]


> Поэтому и наталкивает на мысль что в принтере проблема.


Не думаю. Скорее, данная ошибка существует всегда, вот только явно проявляется с новым принтером.
Логи спасут мир.


Abcdef123   (2010-12-22 07:49:00) [45]

To [2][ так в том то и дело, что они меняли принтеры для всяких комбинаций экспериментов. Со старым работает четко ВСЕГДА, как часы, даже сейчас.А как только меняют на новый - такая вот проблема. Как только снова меняют на старый - опять хорошо проходит. Поэтому и наталкивает на мысль что в принтере проблема. Иначе по логике прога всегда бы сбоила.


brother   (2010-12-22 07:42:00) [46]

можно ли попробовать со старым принтером опять? или любыми другими?


brother   (2010-12-22 07:40:00) [47]

Тут не принтер виноват...

> Если проигнорировать ошибку и попробовать запустить то же
> самое (не перезагружая проект), то второй раз выполняется
> номально.

наводит на мысль, что прога что-то не верно прощитывает... а потом (возможно второй проход просчета) все ок...


Страницы:   1 2 3

Наверх

Титульная страница Поиск, карта сайта Написать письмо