Всем привет.
В процессе разбиения единого 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
Как можно было бы описать руками структуру?
Или как можно было бы описать такую структуру в словаре?
Подскажите пожалуйста, если сталкивались.
Декларация файла dBase
Модератор: Дед Пахом
Правила форума
При написании вопроса или обсуждении проблемы, не забывайте указывать версию Clarion который Вы используете.
А так же пользуйтесь спец. тегами при вставке исходников!!!
При написании вопроса или обсуждении проблемы, не забывайте указывать версию Clarion который Вы используете.
А так же пользуйтесь спец. тегами при вставке исходников!!!
- Игорь Столяров
- Ветеран движения
- Сообщения: 7329
- Зарегистрирован: 07 Июль 2005, 10:19
- Откуда: г. Ростов-на-ДоМу
- Благодарил (а): 13 раз
- Поблагодарили: 48 раз
Re: Декларация файла dBase
Можно и так и так - но лучше в словаре.
Используй поле External Name на второй закладке карточки поля для задания атрибута NAME.
Потому, что если ты объявишь "ручками" файл в Global Data (что тоже возможно), генератор не создаст методов для доступа к файлу.
Используй поле External Name на второй закладке карточки поля для задания атрибута NAME.
Потому, что если ты объявишь "ручками" файл в Global Data (что тоже возможно), генератор не создаст методов для доступа к файлу.
За теми кто отстал - не возвращаться. (С) Кодекс