Создание словаря БД с нуля.

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

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

Maverick
Абориген
Сообщения: 943
Зарегистрирован: 29 мар 2005, 17:49
Откуда: External Developer
Контактная информация:

Создание словаря БД с нуля.

Сообщение Maverick »

Собственно интересует данный данный контент ибо моих скудных знаний не хватает и не могу понять, где собака зарыта.

Пытаюсь собрать с нуля словарь БД, который описан в доке (RPP)
Собственно ниже код:

vip.cfg

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

[Compilers]
  ErrorLevel=2
  WriteListing=ON
  IncludesPath:=%iProject%

[Dicom]
  BuildTables=ON
dictypes.def

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

set type
 (
  tNREC = COMP // Тип описания GUID записи таблицы
 );
project.dic

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

Create Dictionary PROJDICT "Проекты"
using
  "DICT", "D_DICT"       // директорий для словаря
   With Replace;
#include dictypes.def
#include tables.gd
dicom.bat

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

set iProject=C:\Work\Dic
C:\Atl303\EXE\vip.exe /c:%iProject%\vip.cfg %iProject%\project.dic
в итоге при запуске dicom.bat получаю бАААльшую каку в виде:

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

11:31:15 │ Создаем словарь PROJDICT "Проекты" "DICT" "D_DICT"
11:31:18 │ Словарь PROJDICT "Проекты" версии 303 построен.
11:31:18 │  Ошибка: Ошибка при открытии include файла (стр.5, поз.22 в C:\Work\Dic\project.dic)
         │ #include dictypes.def

Кто может подсказать где собака порылась? Говорю сразу -
а) явно задавать пути пробовал, не помогло
б) данная БД к БД Галактики отношения не имеет, т.е. Database задавать на существующую БД не поможет
Изображение
Знающий людей разумен.
Знающий себя просветлён.
Побеждающий людей силен.
Побеждающий самого себя могущественнен
WiRuc
Местный житель
Сообщения: 414
Зарегистрирован: 29 мар 2005, 17:49
Откуда: Воронеж

Re: Создание словаря БД с нуля.

Сообщение WiRuc »

Несмотря на то, что вы пробовали подставлять пути, я думаю проблема в
vip.cfg

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

[Compilers]
  ErrorLevel=2
  WriteListing=ON
  IncludesPath:=%iProject%

[Dicom]
  BuildTables=ON
Я бы попробовал указать здесь непосредственно C:\Work\Dic
IncludesPath = C:\Work\Dic
Кстати, обратите внимание, у вас присваивание делается через := (не знаю, можно ли так делать)
Maverick
Абориген
Сообщения: 943
Зарегистрирован: 29 мар 2005, 17:49
Откуда: External Developer
Контактная информация:

Сообщение Maverick »

1. Использование переменных окружения прекрасно понимается в CFG файлах. Но на всякий случай пробовал явно пути указывать - не понимает все равно
2. := вместо = - естественно описАлся, когда на форум выкладывал )) в файле естественно стоит =

Однако наверное никто словарик не создавал... (((
Изображение
Знающий людей разумен.
Знающий себя просветлён.
Побеждающий людей силен.
Побеждающий самого себя могущественнен
sth73
Постоянный гость
Сообщения: 52
Зарегистрирован: 29 ноя 2005, 19:47

Сообщение sth73 »

вот так вроде работает у меня

dicom.bat:

set ATLANTIS=c:\atlantis\
set DATABASE=c:\data
set dicom=c:\dicom\
%Atlantis%\exe\vip.exe /c:%dicom%vip.cfg %dicom%dict.dic

vip.cfg:

[database]
databasename=%DATABASE%
/I:%dicom%
Compilers.ErrorLevel=0
Compilers.WriteListing=ON
Dicom.BuildTables=Off
/F

dict.dic:

$G+
$R+

Create Dictionary DICT "test"
using
"DICT", "D_DICT"
With Replace;
Set Directory For Pascal "..\PASDICT"; // каталог для Паскаль - заготовок

#include dict.gd
#include refer.dic

create pascal;
Maverick
Абориген
Сообщения: 943
Зарегистрирован: 29 мар 2005, 17:49
Откуда: External Developer
Контактная информация:

Сообщение Maverick »

2 sth73

Вы знаете, 1 в 1 сделал как у Вас... все равно ругается на ошибку при открытии файла.

Я уже того.. крыша едет от непоняток... ((
Изображение
Знающий людей разумен.
Знающий себя просветлён.
Побеждающий людей силен.
Побеждающий самого себя могущественнен
KATZ
Местный житель
Сообщения: 473
Зарегистрирован: 29 мар 2005, 17:49

Сообщение KATZ »

Maverick писал(а):... все равно ругается на ошибку при открытии файла.
Бывает, сообщение об ошибке не отражает ее истинную причину. Может, стоит попробовать директиву #include заменить содержимым включаемого файла?
sth73
Постоянный гость
Сообщения: 52
Зарегистрирован: 29 ноя 2005, 19:47

Сообщение sth73 »

а на какой инклуд теперь ругается?
у меня dict.dic, dict.gd и refer.dic лежит в одном каталоге с dicom.bat

и действительно, иногда бывает, что ругается реально не на то, что пишет в диагностике... может и в этот раз также?
Maverick
Абориген
Сообщения: 943
Зарегистрирован: 29 мар 2005, 17:49
Откуда: External Developer
Контактная информация:

Сообщение Maverick »

Вы знаете, убрал из project.dic все инклуды, скопировав абсоютно все содержимое из них в него...
В общем - ругается на первую же строчку после директивы описания словаря : если есть объявление словарных типов - то на set type, если идет прямое описание таблицы - то на оператор создания таблицы (((

в общем где-то собака порылась, а где - понять не могу... (((
Изображение
Знающий людей разумен.
Знающий себя просветлён.
Побеждающий людей силен.
Побеждающий самого себя могущественнен
sth73
Постоянный гость
Сообщения: 52
Зарегистрирован: 29 ноя 2005, 19:47

Сообщение sth73 »

хм...
ну наверное только и остается, что выкидывать помаленьку код из project.dic и смотреть что получится..

кстати, может быть есть смысл создать новый proj.dic и написать туда нужный код руками? А то бывает, что если скопировать что-то через буфер в исходник, то мусор некий попадает и компилятор на этом спотыкается.. то есть я имею в виду, может и не в синтаксисе тут дело?
siteadmin
Site Admin
Сообщения: 38
Зарегистрирован: 26 апр 2005, 17:33

Сообщение siteadmin »

все создано ручками. ничего не копировалось. та же самая песня. ругается на первое же описание после оператора создания словаря.
KATZ
Местный житель
Сообщения: 473
Зарегистрирован: 29 мар 2005, 17:49

Сообщение KATZ »

Тут выдалось немного свободного времени, решил попытаться создать "с нуля" словарь описанным способом (так, для общего развития, ибо на практике это едва ли может пригодиться).
Сначала брал VIP.EXE из "Галактики", в которой установлены почти все текущие патчи. Этот компилятор вывалил аналогичную ошибку. А еще у меня случайно нашелся "Атлантис" 3.03.22 от ноября 2004 года без каких-либо патчей. Как ни странно (а может, наоборот, закономерно), раритетный VIP.EXE отработал нормально и словарь создал.
Vitaliy
Постоянный обитатель
Сообщения: 101
Зарегистрирован: 27 апр 2005, 09:52
Откуда: Сибирь

Re: Создание словаря БД с нуля.

Сообщение Vitaliy »

А если попробовать убрать описание путей в dic-файле?, т.е что то типа:

Create Dictionary xxxx "yyyy";
! Описание типов
#include dictypes.def
!Описание таблиц
#include zzz.GD
siteadmin
Site Admin
Сообщения: 38
Зарегистрирован: 26 апр 2005, 17:33

Сообщение siteadmin »

нет-нет и еще раз нет.
просто какой-то страннейший трабл.
1)все перенес в один файл.
2)все переложил в текущий каталог.
компилил непропатченным атлантисом.
та же самая ошибка.

пора сушить ласты.
Vitaliy
Постоянный обитатель
Сообщения: 101
Зарегистрирован: 27 апр 2005, 09:52
Откуда: Сибирь

Сообщение Vitaliy »

Так на какой строке ошибка?
siteadmin
Site Admin
Сообщения: 38
Зарегистрирован: 26 апр 2005, 17:33

Сообщение siteadmin »

на первой же, идущей после

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

Create Dictionary PROJDICT "Проекты"  using  "DICT", "D_DICT"  With Replace;
Ответить