Создание .EXP файла для библиотеки

Clarion, Clarion 7

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

Правила форума
При написании вопроса или обсуждении проблемы, не забывайте указывать версию Clarion который Вы используете.
А так же пользуйтесь спец. тегами при вставке исходников!!!
Ответить
ru_alex
Ветеран
Сообщения: 333
Зарегистрирован: 21 Сентябрь 2005, 11:05
Откуда: Нижний Новгород
Контактная информация:

Создание .EXP файла для библиотеки

Сообщение ru_alex »

Всем привет!
Кто-нибудь знает, как правильно создавать .EXP файл для библиотеки.
MyLib.prj должна генерить MyLib.dll, но при компиляции требует MyLib.EXP файл. Я так понимаю, если ему подсунуть пустой, то и использовать функции библиотеки не получится.
ru_alex
Ветеран
Сообщения: 333
Зарегистрирован: 21 Сентябрь 2005, 11:05
Откуда: Нижний Новгород
Контактная информация:

Сообщение ru_alex »

По образцу сделал из готового проекта.
Но как-то не логично по-моему, должна быть документация что-ли. Или может я не нашел...
Аватара пользователя
StillZero
Ветеран
Сообщения: 458
Зарегистрирован: 06 Июль 2005, 2:17
Откуда: Хабаровск
Поблагодарили: 1 раз
Контактная информация:

Сообщение StillZero »

Обозначения процедур и их параметров в файле myfunc.exp
;Start of Exported Procedures
FUNCNAME@FP1P2...PN @?
................... ...
................... ...
;End of Exported Procedures
;Start of Exported Global Data
;End of Exported Global Data,
где:
FUNCNAME - идентификатор имени процедуры (функции)
@F - обязательный префикс
P1,P2,...,PN - обозначения типов аргументов процедуры:
BYTE - UC, <BYTE> - OUC, *BYTE - RUC, <*BYTE> - PUC
SHORT - S, <SHORT> - OS, *SHORT - RS, <*SHORT> - PS
USHORT - US, <USHORT> - OUS, *USHORT - RUS, <*USHORT> - PUS
LONG - L, <LONG> - OL, *LONG - RL, <*LONG> - PL
ULONG - UL, <ULONG> - OUL, *ULONG - RUL, <*ULONG> - PUL
REAL - D, <REAL> - OD, *REAL - RD, <*REAL> - PD
*DECIMAL - RE, <*DECIMAL> - PE
STRING - SB, <STRING> - OSB, *STRING - RSB, <*STRING> - PSB
*CSTRING - RSC, <*CSTRING> - PSC
*PSTRING - RSP, <*PSTRING> - PSP
Пример: Процедура Sound(short,short) должна записываться так:
SOUND@FSS @?
Аватара пользователя
StillZero
Ветеран
Сообщения: 458
Зарегистрирован: 06 Июль 2005, 2:17
Откуда: Хабаровск
Поблагодарили: 1 раз
Контактная информация:

Сообщение StillZero »

информацию выше не помню где взял, не мое

+ C:\C55\Examples\SRC\PRO2EXP\pro2exp.exe
исходники в PRO2EXP.CLW

насчет есть ли такой пример в 6-ке не знаю
ru_alex
Ветеран
Сообщения: 333
Зарегистрирован: 21 Сентябрь 2005, 11:05
Откуда: Нижний Новгород
Контактная информация:

Сообщение ru_alex »

Спасибо.
Сообственно по синтаксису параметров процедур главный вопрос и стоял...
ru_alex
Ветеран
Сообщения: 333
Зарегистрирован: 21 Сентябрь 2005, 11:05
Откуда: Нижний Новгород
Контактная информация:

Сообщение ru_alex »

Привет всем!

С процедурами понятно, а как правильно объявлять для экспорта Class? Хотелось бы в библиотеке определить тип и реализацию, а в приложении определить Class, наследующий по этому типу + реализация виртуальных методов.
ru_alex
Ветеран
Сообщения: 333
Зарегистрирован: 21 Сентябрь 2005, 11:05
Откуда: Нижний Новгород
Контактная информация:

Сообщение ru_alex »

Получается что-то типа:

VMT$MyClass @?
TYPE$MyClass @?
Construct@F11MyClass @?
Destruct@F11MyClass @?
MyProc@F11MyClass @?


F11 мне сообщил компилятор, выдав ошибку: Unresolved External Constrict@F11MyClass. Подставив в EXP файл F11, получаю то что надо. О чем-то не знаю, или так и должно быть? :)
Программирование методом научного перебора :)
Аватара пользователя
Admin
Администратор
Сообщения: 4010
Зарегистрирован: 05 Июль 2005, 15:59
Откуда: Хабаровск
Благодарил (а): 53 раза
Поблагодарили: 33 раза
Контактная информация:

Сообщение Admin »

Ищи "Programmer Guide" в pdf файле. Там все есть ...
Аватара пользователя
Дед Пахом
Старичок
Сообщения: 3289
Зарегистрирован: 07 Июль 2005, 16:51
Откуда: Москва, Россия
Благодарил (а): 15 раз
Поблагодарили: 49 раз
Контактная информация:

Сообщение Дед Пахом »

F11 мне сообщил компилятор, выдав ошибку: Unresolved External Constrict@F11MyClass. Подставив в EXP файл F11, получаю то что надо. О чем-то не знаю, или так и должно быть?
@F<число> - где число=числобукввименикласса
С уважением, ДП
ru_alex
Ветеран
Сообщения: 333
Зарегистрирован: 21 Сентябрь 2005, 11:05
Откуда: Нижний Новгород
Контактная информация:

Сообщение ru_alex »

спасибо, понял...
как то сам не просек...
Ответить