"Глобальная" временная таблица

Программирование на Атлантисе (VIP, FCOM, ARD), FastReport

Модераторы: m0p3e, edward_K, Модераторы

Ответить
Евгений
Посетитель
Сообщения: 41
Зарегистрирован: 25 авг 2005, 09:50

"Глобальная" временная таблица

Сообщение Евгений »

Приветствую!

Не подскажете, как описывается "глобальная" временная таблица, чтобы можно было обращаться, из нескольких интерфейсов.

В приведенном примере, временная таблица описана за пределы ин-са, и ард отчета, все работает, в интерфейсе заполняется таблица, в ард формируется отчет, но при компиляции выходит сообщение "Не получилось записать контрольную сумму в словарь". Опишите, пожалуйста, значение этого сообщение, и корректно ли использовать такой алгоритм.

Спасибо.

Код: Выделить всё

 Table struct tmpTBL
  ( 
  NREC: Comp,
  KOL: Double
  )
 with index
 (
 IDX01 = NREC
 );

Interface My;
...
//операции с временной таблицей (вставка, модификация)
...
HandleEvent
  cmExcel:
  {
   EXL := xlCreateExcelWithTemplate('MyXLS.xls', True);
  ...
  };
  cmARD:
 {
  RunForm('MyArd');
 };
end;
end. //Interface

.Form 'MyArd'
.NameInList 'Отчет'
.F 'MyArd'
.ARD
...
.endform
Последний раз редактировалось Евгений 21 апр 2008, 11:27, всего редактировалось 1 раз.
edward_K
Заслуженный деятель интернет-сообщества
Сообщения: 5187
Зарегистрирован: 29 мар 2005, 17:49
Откуда: SPB galaxy spb

Сообщение edward_K »

а часом Alter Dictionary в проекте нет?
и добавте
with index
( tmtbl01 = nrec
) ;
Евгений
Посетитель
Сообщения: 41
Зарегистрирован: 25 авг 2005, 09:50

Сообщение Евгений »

Alter Dictionary в проекте отсутствует. В таблице индекс описан.

Код: Выделить всё

#statusline "statgal"
#make  "MyInterface.VIP" 

Код: Выделить всё

Table struct tmpTBL 
  ( 
  NREC: Comp, 
  KOL: Double 
  ) 
 with index 
 ( 
 IDX01 = NREC 
 );
Galex
Постоянный обитатель
Сообщения: 175
Зарегистрирован: 29 июн 2006, 14:39
Контактная информация:

Сообщение Galex »

Если пошариться в исходниках Галактики, то можно найти использование подобных приемов с стандартных интерфейсах... А раз сами Галактяне выносят временные таблицы за пределы интерфейсов, значит это вполне легальные действия... :-) А вот про сообщение... Лично у меня все компилируется молча, но при этом исправляется контрольная сумма словаря - возможно потому что я админ... В любом случае, доступ на таблицу X$FILES должен быть у любого пользователя... А может так и лучше - не придется постоянно контрольную сумму исправлять?.. :smile:
Ответить