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

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

Программа работает в локальной сети (Firebird). [XP]


Drowsy ©   (2014-05-23 01:03:00) 

Все 5 компьютеров приблизительно одной конфигурации, на всех Win xp 32
На одной машине, при выполнении запроса (или выводе датасета на грид) стала появляться ошибка "invalid variant operation".


Drowsy   (2014-05-28 20:55:00) [1]


> Cobalt ©   (28.05.14 10:46) [9]


Там странная вещь была.
Без необходимой, конечно, проверки  VarIsNull фильтрация всё-таки происходила.
Но только один комп из 5 возмущался.

procedure TdmHoles.ibHolesFilterRecord(DataSet: TDataSet;
 var Accept: Boolean);
begin
 Accept := false;
  if not VarIsNull (DataSet.FieldByName('HOLE').Value) then
   Accept := (DataSet.FieldByName('HOLE').Value <= 30);
end;


Cobalt   (2014-05-28 10:46:00) [2]

ставлю на события типа AfterOpen или отрисовку данных.
Хотя, с вариантами и датасетом скорее всего перевод строки в число с другим десятичным разделителем.


Антоха   (2014-05-23 13:02:00) [3]

Текст запроса в студию ..


Dennis I. Komarov   (2014-05-23 11:02:00) [4]

А как же 17-я строка?


Dimka Maslov   (2014-05-23 10:32:00) [5]

Всякое бывает. Расскажу случай из реальной жизни. Куча компов, все практически одинаковые. На нескольких программа не запускается с ошибкой List index of out range. Что за фигня? Программа при запуске строила список моноширинных шрифтов, причём по тупому - проверяла ширину всех символов от 33 до 255. При этом оказалось, что на некоторых компах (даже после перезаливки файла со шрифтом) один символ в районе 160 показывал ширину не как у всех и шрифт Courier New не попадал в список моноширинных. Но прога по-умолчанию считала, что такой шрифт завсегда имеется и делала Font.Name := FontList[FontList.IndexOf('Courier New')]. Как и почему так получалось на некоторых компьютерах - мне не до сих пор не ясно.


turbouser   (2014-05-23 10:32:00) [6]


> Drowsy ©   (23.05.14 10:14) [4]


> Попробовал, сюжет тот же.

Т.е. проще переставить винду, чем попытаться воспроизвести ситуацию, при которой возникает исключение и исправить?


Drowsy   (2014-05-23 10:14:00) [7]


> oldman ©   (23.05.14 09:37) [3]

Попробовал, сюжет тот же.


oldman   (2014-05-23 09:37:00) [8]

Надо поставить Win7 64, причем 5 компьютеров должны быть разной конфигурации


turbouser   (2014-05-23 09:28:00) [9]

Захватывающий сюжет!


brother   (2014-05-23 03:46:00) [10]

клева


Наверх

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