Добавлено: 24 Февраль 2004, 17:24
Добрый день
Есть класс
Хочу экспортировать его методы.
Вот досюда знаю, как оформить EXP:
А как описать процедуру с параметром QUEUE? Или нельзя, а надо пользоваться адресами?
И вот эти @F15... Число 15 подобрал путем перебора. Можно его узнать заранее? В МСДН не нашёл.
С уважением, Михаил
(Добавление)
Посмотри приложение в каталоге Examples\Src\Pro2Exp - там процедурка специально для этой цели. А Class.Method(....) можно рассматривать как Method(*Class,...)
---------------------------------------
C уважением,
Юрий Философов,
Главный программист
Корпорация "Диполь", Саратов
E-mail yufil@tacis-dipol.ru (служ)
yufil@mail.ru (дом)
ICQ#75924439
Спасибо
Михаил
И ещё пара маленьких советов
1. Посмотреть Map-файл после компиляции. Там тоже можно найти нужную информацию.
2.Сделать .Inc файл для подключения класса и попробовать использовать, тогда сразу получишь имена неразрешённых ссылок на методы.
---------------------------------------
C уважением,
Юрий Философов
(Добавление)
Ниже пример шаблона. Ключевое слово LINKNAME.
Группа %UpdateExpFile добавляет в exp-файл имя понятное линкеру
типа:

Алексей,
начальник отдела ПТО
ООО "ОРК"
mail: alex@jrcn.donetsk.ua, icq: 62605472
www: http://atinet.hypermart.net
http://www.nikasoft.co.uk
http://www.clarionline.h1.ru (FAQ-онлайн)
irc: irc.lucky.net:6669, channel #clarion, Bambino
origin: ...Как правы те, кто запирает на ночь...
(Добавление)

генерит, что нужно.
Спасибо, всё стало проясняться
Михаил
Написал: ClaList(2)
Есть класс
Код: Выделить всё
MyClass CLASS,TYPE,MODULE('file.clw'),LINK('file.clw')
Init PROCEDURE(STRING s)
Prepare PROCEDURE(QUEUE Q)
END
Вот досюда знаю, как оформить EXP:
Код: Выделить всё
LIBRARY mylib
EXETYPE WINDOWS
EXPORTS
VMT$MYClASS @?
TYPE$MYClASS @?
;
INIT@F15MYCLASSSB @?
И вот эти @F15... Число 15 подобрал путем перебора. Можно его узнать заранее? В МСДН не нашёл.
С уважением, Михаил
(Добавление)
Посмотри приложение в каталоге Examples\Src\Pro2Exp - там процедурка специально для этой цели. А Class.Method(....) можно рассматривать как Method(*Class,...)
---------------------------------------
C уважением,
Юрий Философов,
Главный программист
Корпорация "Диполь", Саратов
E-mail yufil@tacis-dipol.ru (служ)
yufil@mail.ru (дом)
ICQ#75924439
Спасибо
Михаил
И ещё пара маленьких советов
1. Посмотреть Map-файл после компиляции. Там тоже можно найти нужную информацию.
2.Сделать .Inc файл для подключения класса и попробовать использовать, тогда сразу получишь имена неразрешённых ссылок на методы.
---------------------------------------
C уважением,
Юрий Философов
(Добавление)
Это число - количество символов, составляющих имя класса.И вот эти @F15... Число 15 подобрал путем перебора.
Можно.Можно его узнать заранее?
Ниже пример шаблона. Ключевое слово LINKNAME.
Группа %UpdateExpFile добавляет в exp-файл имя понятное линкеру
типа:
Код: Выделить всё
SOMEMETHOD@F9SOMECLASSUc -> SomeClass.SomeMethod(BYTE)
#CALL(%UpdateExpFile,'$' & UPPER(%ObjectOfSomeClass),%False)
#CALL(%UpdateExpFile,'VMT$' & UPPER(%SomeClass),%False)
#CALL(%UpdateExpFile,'TYPE$' & UPPER(%SomeClass),%False)
#CALL(%UpdateExpFile,'Method1(PARA,ME,TERS)')
....
#CALL(%UpdateExpFile,'MethodN(PARA,ME,TERS)')
#GROUP(%UpdateExpFile,%ExpLine,%UseLinkName = %True)
#SET(%ExpLineNumber,%ExpLineNumber + 1)
#IF(%UseLinkName)
%(LINKNAME(%ExpLine,%SomeClassClass)) @%ExpLineNumber
#ELSE
%ExpLine @%ExpLineNumber
#ENDIF
%(LINKNAME(%Procedure & %Prototype)) @%ExpLineNumber
И не найдешьВ МСДН не нашёл.

Алексей,
начальник отдела ПТО
ООО "ОРК"
mail: alex@jrcn.donetsk.ua, icq: 62605472
www: http://atinet.hypermart.net
http://www.nikasoft.co.uk
http://www.clarionline.h1.ru (FAQ-онлайн)
irc: irc.lucky.net:6669, channel #clarion, Bambino
origin: ...Как правы те, кто запирает на ночь...
(Добавление)
Гм... мог бы и сам догадатьсяЭто число - количество символов, составляющих имя класса.

Да, всё, что я там нашёл, это отсылка к опциям линкера VC, видимо, он самИ не найдешь
генерит, что нужно.
Спасибо, всё стало проясняться
Михаил
Написал: ClaList(2)