Декларация файла dBase

Clarion, Clarion 7

Модератор: Дед Пахом

Правила форума
При написании вопроса или обсуждении проблемы, не забывайте указывать версию Clarion который Вы используете.
А так же пользуйтесь спец. тегами при вставке исходников!!!
Ответить
Dias2004
Посетитель
Сообщения: 29
Зарегистрирован: 31 Январь 2006, 15:02
Откуда: Россия, Москва

Декларация файла dBase

Сообщение Dias2004 »

Всем привет.
В процессе разбиения единого EXE-приложения на мульти-DLL столкнулся с проблемой объявления файла dBase.
В изначальном проекте файл (служит для экспорта бухгалтерских данных в 1С:Бухгалтерию) был описан в секции глобальных данных приложения следующим образом:

gExportInvoiceFile FILE,DRIVER('dBase4'),OEM,NAME(GLO:TransferFileName),PRE(gEI),CREATE,BINDABLE,THREAD
Record RECORD
Code STRING(20),NAME('Code')
Price STRING(@n-_9.2),NAME('Price')
Qty STRING(@n-_6.0),NAME('Qty')
. .

После разделения на DLL-ли процедура экспорта уехала в одну из DLL.
Пробовал описать файл в этой DLL - требуется подключить драйвер. При подключении драйвера к DLL все собирается, но при запуске головного EXE-модуля возникает ошибка - обращение по некорректному адресу.

Попробовал описать файл в словаре - не получается в точности описать структуру, теряется информация, необходимая для правильной работы с файлом. Мне удалось только объявить поля типа STRING и декларация файла после генерации кода получилось такая:

gExportInvoiceFile FILE,DRIVER('dBase4'),OEM,NAME(GLO:TransferFileName),PRE(gEI),CREATE,BINDABLE,THREAD
Record RECORD,PRE()
Code STRING(20)
Price STRING(16)
Qty STRING(10)
END
END

Как можно было бы описать руками структуру?
Или как можно было бы описать такую структуру в словаре?
Подскажите пожалуйста, если сталкивались.
Аватара пользователя
Игорь Столяров
Ветеран движения
Сообщения: 7329
Зарегистрирован: 07 Июль 2005, 10:19
Откуда: г. Ростов-на-ДоМу
Благодарил (а): 13 раз
Поблагодарили: 48 раз

Re: Декларация файла dBase

Сообщение Игорь Столяров »

Можно и так и так - но лучше в словаре.

Используй поле External Name на второй закладке карточки поля для задания атрибута NAME.
Потому, что если ты объявишь "ручками" файл в Global Data (что тоже возможно), генератор не создаст методов для доступа к файлу.
За теми кто отстал - не возвращаться. (С) Кодекс
Ответить