Добавлено: 22 Март 2004, 11:33
Здравствуйте !
CW6, HandCode
Задача создать Dll глобальных данных. Описания таблиц и прочее - в файле. Вопросы:
1. Как создать EXP файл?
2. Как указать какой ЕXP файл использовать?
3. Как все это делать с миним усилиями через файл проекта?
Доку долго читал, примеры долго смотрел, но похоже за 20 лет они так и не предложили нормального способа изготовления и работы с DLL.
--
С уважением,
SAN mailto:vgsan@yandex.ru
(Добавление)
Вопрос первый. Зачем ЭТУ DLL строить ручками?
Вопрос второй. Чем так плоха проектная система в APP (чего не хватает?), что
нужно уходить в PRJ ?
1. Ручками.
2. Используется одноименный с проектом. Или RTFM Project System Reference.
3. Минимум усилий - это APP и шаблоны.
Слушатели курсов освоили за полчаса.
WBR, Nick Tsigouro. MailTo:Nick@arsis.ru
(Добавление)
На самом деле, у меня довольно часто возникает необходимость собирать DLL именно вручную через PRJ. Причина в том, что в этих DLL не используются в полной мере шаблоны (Clarion, ABC), только Source процедуры + шаблоны Object Writer. В итоге я делаю DLL на ABC шаблонах, добавляю свой шаблон RemoveABC, который выковыривает ВСЕ, что в результирующий сырец добавляет ABC и компилирую. Раньше, без RemoveABC, приходилось вручную править сгенерированные сырцы и компилить их уже через PRJ.
В стандартной поставке не хватает простой цепочки шаблонов (SimpleClarion), которая бы ничего "своего" в сырец не генерила, (содержала бы только шаблоны, которые никакой дополнительной обертки для себя не создают, типа процедурного шаблона Source), тогда и работать с PRJ отпала бы необходимость. Кстати сделать такую цепочку в общем довольно просто, но почему-то ее нет в стандартной поставке
Тогда бы и 3rd производители подключали бы к ней свои шаблоны, тот же Object Writer.
Так что проблем-с такой действительно имеем.
Насчет ручного написания EXP, как уже говорилось, создаем простое APP, компилим его и смотрим как устроен полученный автоматически EXP файл, рихтуем его под себя.
Удачи!
__________________________________
Владимир Якимченко (ICQ: 16993194)
1. Любыми редакторами, которые могуть работать с текстовыми файлами.
Раз уж говорим о HandyCode (.CLW + .PRJ), то ,конечно же, и .EXP будет HandyCode
2. Имя .EXP файла - это имя результирующей .DLL в проекте
3. Создаёшь .APP, выставляешь DLL сборку, в глобальный свойствах проектах указываешь, что глобальные данные не EXTERNAL, и они автоматом проэкспортируются в .EXP файл (.LIB).
Далее все .APP (Global data is external) ссылаются на эту .DLL, и никаких проблем.

Andrew Myalin
andrew@arsis.ru
http://mavcla.arsis.ru (MAV Direct ODBC)
ICQ: 10659412
Yahoo group: clarion@yahoogroups.com
1. Я юмор может и плохо, но немного понимаю, вот под ДОС я мог это делать без рук (после статьи Соловьева, надеюсь читал), а здесь как?
2. Вот здесь ты кажется не прав, но пока настаивать не буду.
3. Ну, ну! А APP мне зачем?
?
--
С уважением,
SAN
(Добавление)
Что непонятно?
--
Best regards,
Maxim Yemelyanov,
Enigma Soft Company
phone: +380 572 177977
WEB: http://enigmasoft.com.ua
e-mail: clalist@enigmasoft.com.ua
ICQ: 12253836
юмор юмором, а документацию, хотя бы иногда надо читать.
хоть двадцать лет назад (TopSpeed Compilers), хоть сейчас (Clarion) технология создания .DLL осталась прежней.
Andrew Myalin
Написал: ClaList(2)
CW6, HandCode
Задача создать Dll глобальных данных. Описания таблиц и прочее - в файле. Вопросы:
1. Как создать EXP файл?
2. Как указать какой ЕXP файл использовать?
3. Как все это делать с миним усилиями через файл проекта?
Доку долго читал, примеры долго смотрел, но похоже за 20 лет они так и не предложили нормального способа изготовления и работы с DLL.
--
С уважением,
SAN mailto:vgsan@yandex.ru
(Добавление)
Вопрос первый. Зачем ЭТУ DLL строить ручками?
Вопрос второй. Чем так плоха проектная система в APP (чего не хватает?), что
нужно уходить в PRJ ?
1. Ручками.
2. Используется одноименный с проектом. Или RTFM Project System Reference.
3. Минимум усилий - это APP и шаблоны.
Да нет, ты не прав. Шаблоны дают вполне нормальное и качественное решение.Доку долго читал, примеры долго смотрел, но похоже за 20 лет они так и не предложили нормального способа изготовления и работы с DLL.
Слушатели курсов освоили за полчаса.

WBR, Nick Tsigouro. MailTo:Nick@arsis.ru
(Добавление)
На самом деле, у меня довольно часто возникает необходимость собирать DLL именно вручную через PRJ. Причина в том, что в этих DLL не используются в полной мере шаблоны (Clarion, ABC), только Source процедуры + шаблоны Object Writer. В итоге я делаю DLL на ABC шаблонах, добавляю свой шаблон RemoveABC, который выковыривает ВСЕ, что в результирующий сырец добавляет ABC и компилирую. Раньше, без RemoveABC, приходилось вручную править сгенерированные сырцы и компилить их уже через PRJ.
В стандартной поставке не хватает простой цепочки шаблонов (SimpleClarion), которая бы ничего "своего" в сырец не генерила, (содержала бы только шаблоны, которые никакой дополнительной обертки для себя не создают, типа процедурного шаблона Source), тогда и работать с PRJ отпала бы необходимость. Кстати сделать такую цепочку в общем довольно просто, но почему-то ее нет в стандартной поставке

Так что проблем-с такой действительно имеем.
Насчет ручного написания EXP, как уже говорилось, создаем простое APP, компилим его и смотрим как устроен полученный автоматически EXP файл, рихтуем его под себя.
Удачи!
__________________________________
Владимир Якимченко (ICQ: 16993194)
1. Любыми редакторами, которые могуть работать с текстовыми файлами.
Раз уж говорим о HandyCode (.CLW + .PRJ), то ,конечно же, и .EXP будет HandyCode
2. Имя .EXP файла - это имя результирующей .DLL в проекте
3. Создаёшь .APP, выставляешь DLL сборку, в глобальный свойствах проектах указываешь, что глобальные данные не EXTERNAL, и они автоматом проэкспортируются в .EXP файл (.LIB).
Далее все .APP (Global data is external) ссылаются на эту .DLL, и никаких проблем.
зачем же так, тут ты ошибаешься, зачем же грешить на Clarion, РУКИ.SYS - вот проблемаДоку долго читал, примеры долго смотрел, но похоже за 20 лет они так и не предложили нормального способа изготовления и работы с DLL.

Andrew Myalin
andrew@arsis.ru
http://mavcla.arsis.ru (MAV Direct ODBC)
ICQ: 10659412
Yahoo group: clarion@yahoogroups.com
1. Я юмор может и плохо, но немного понимаю, вот под ДОС я мог это делать без рук (после статьи Соловьева, надеюсь читал), а здесь как?
2. Вот здесь ты кажется не прав, но пока настаивать не буду.
3. Ну, ну! А APP мне зачем?
А без APP как? Или РУКИ.SYS - вот проблематут ты ошибаешься, зачем же грешить на Clarion, РУКИ.SYS - вот проблема

--
С уважением,
SAN
(Добавление)
Берешь .EXP любого своего проекта, смотришь как все устроено, думаешь, что должно быть в случае рукописного проекта, создаешь .EXP руками, подключаешь к своему .PRJ, компилишь, запускаеш libmaker, чтобы проверить, попали ли указанные тобой в .EXP-файле идентификаторы в список экспортируемых свежесозданной DLL.Я юмор может и плохо, но немного понимаю, вот под ДОС я мог это делать без рук (после статьи Соловьева, надеюсь читал), а здесь как?
Что непонятно?
--
Best regards,
Maxim Yemelyanov,
Enigma Soft Company
phone: +380 572 177977
WEB: http://enigmasoft.com.ua
e-mail: clalist@enigmasoft.com.ua
ICQ: 12253836
юмор юмором, а документацию, хотя бы иногда надо читать.
хоть двадцать лет назад (TopSpeed Compilers), хоть сейчас (Clarion) технология создания .DLL осталась прежней.
Как я уже и писал, с помощью использования Application, Export файл создаётся автоматически и вопросы такого рода просто отпадают.Ну, ну! А APP мне зачем?
Andrew Myalin
Написал: ClaList(2)