Мне непонятно почему люди пропагандирующие программирование по шаблонам согласны сами и призывают других делать эту тупую работу вручную, зная что 15 лет назад их любимый инструмент позволял это делать в полуавтоматическом режиме! Кстати описание .EXP есть в доке, но не уверен что оно ответит на все вопросы.
А вот Агеев что то лепил на эту тему, у него получилось или как?
--
С уважением,
SAN
А при чём тут шаблоны - сказал ручками - значит, ручками. Как компилятор узнает, хочу я экспортировать ту или иную переменную/функцию или нет, если я не пользуюсь шаблоном. Кстати, а как это было 15 лет назад?
---------------------------------------
C уважением,
Юрий Философов,
Главный программист
Корпорация "Диполь", Саратов
E-mail
yufil@tacis-dipol.ru (служ)
yufil@mail.ru (дом)
ICQ#75924439
Ручками - значит, что тебя не устраивает имеющийся автоматический способ получения исходных текстов. И текста EXP в том числе. Чего ты еще хочешь.
... компилятор узнает, хочу я экспортировать ту или иную переменную/функцию или нет, если я не пользуюсь шаблоном.
В шаблонах тоже не узнает, пока я не порулю флажком экспорта в процедурном шаблоне. Разница только в том, кому что хочется - снять крыжик или ручками составить список экспортных имен. И ес-но, речь не про компилятор, а про линкер.
Nick Tsigouro <
nick@arsis.ru>
Мож, кто напишет интерактивную утилитку построения Exp-файла на основе Map+Clw . Или даже написал уже. Наверное, не так уж и сложно...
---------------------------------------
C уважением,
Юрий Философов
А при чём тут шаблоны - сказал ручками - значит, ручками. Как компилятор узнает, хочу я экспортировать ту или иную переменную/функцию или нет, если я не пользуюсь шаблоном. Кстати, а как это было 15 лет назад?
Он и раньше этого не знал. Сначала я его просил сгенирить без всякого АПП фаил экспорта с любым именем, он туда лепил все по максимуму.
Далее я оставлял в этом списке только то что считал нужным, мог изменить наме и далее лепил ДЛЛ. Диалог тож был кривым, но весь список экспорта я получал довольно легко. И при небольшом навыке, труда это не составляло. Что интересно в доке об этом если и говорилось то как-то ... Потом мне дали почитать А. Соловьева "Использование ДЛЛ в программах на Clarion" и стало жить интересней.
А теперь вы говорите мне лепи АПП, а мне она даром не нужна!
--
С уважением,
SAN
(Добавление)
Потом мне дали почитать А. Соловьева "Использование ДЛЛ в программах на Clarion"
А где его дают почитать ?
Vasiliev B <
soft2@mail.redcom.ru>
Сларион Магазин, июль-август 1995. Честно говоря я не понял почему статья на русском, у меня ксеренные страницы.
--
С уважением,
SAN
А , так это в магазине.
Статья-то наверно на пару страниц.
Мож у Вас сканер есть ? Все бы почитали.
Vasiliev B
(Добавление)
Он и раньше этого не знал. Сначала я его просил сгенирить без всякого АПП фаил экспорта с любым именем, он туда лепил все по максимуму.
??? Как это может быть? Как без проекта в котором видны процедуры (т.е. APP) можно сгенерить файл экспорта? Парсить исходники, что-ли?
PS.
Честно скажу, я DLL-ки в ДОСе не делал. Смысла не увидел, да и вообще на
CDD пришлось всего пару маленьких задачек сделать.
Nick Tsigouro
Драсьте. Ни разу, что-ли не делал DLL на голых сорцах?
--
Best regards,
Maxim Yemelyanov
Ни разу. И что значит на голых? Я задачку со словаря и APP начинаю делать, а не с "сорцов". И кто мешает "сорцы" в Source затянуть?
WBR,
Nick Tsigouro
Nick, ну что ты никак не поймешь, что и словарь и все вокруг АПП не
удобно. Код просто надо знать и все. А для новой задачи его просто
копируешь и если надо включаешь Найти и Заменить и все!!! И никаких
птичек с галочками знать не надо - от лукавого они.
PS. Честно скажу, я DLL-ки в ДОСе не делал. Смысла не увидел, да и вообще на CDD пришлось всего пару маленьких задачек сделать.
А приличную задачку без них вытянуть было почти не реально, вот и весь смысл.
--
С уважением,
SAN
Словарь и апликация неудобна когда у тебя 15 строк кода рукописного.
Когда у тебя уже нужно 15 тыс. строк нарисовать, чтобы сделать то, что на шаблонах делается 500 строками вставок - тут уже прсто несерьезно обсуждать преимущества "рукоблудного" программирования.
... копируешь и если надо включаешь Найти и Заменить и все!!! И никаких птичек с галочками знать не надо - от лукавого они.
Это когда не знаешь нафига они
А приличную задачку без них вытянуть было почти не реально, вот и весь смысл.
Не факт. Для CDD было очень мутно работать с проектами на DLL - море правок шаблонов, крайне медленная компиляция и какие-то еще мутки (за давностью лет уже позабытые).
--
Best regards,
Vadym mailto:
vadim@softcreator.com
ICQ: 82308757
Ну вот никак не пойму. Зачем тогда вообще Кларион? Что в нем останется, если словарь и шаблоны, т.е. _всю_оригинальную_технологию_ выбросить?
WBR,
Nick Tsigouro
Queue
С уважением,
Ставич Олег
Укрсиббанк г.Харьков
oldstav@ukrsibbank.com
очереди есть в любой стандартной библиотеке классов, имеющейся в современных инструментах. И не только очереди но море разных вариантов связных списков... Так шта-а-а это не аргумент
--
Best regards,
Vadym
(Добавление)
Для варианта CLW+PRJ приходилось делать dll-ки.
В этом случае EXP-файл делал ручками. В стандартной поставке Клаши есть пример С55\Examples\src\pro2exp - после компиляции получаешь прогу, которая по прототипу ф-ции выдает ее запись в строке EXP-файла. В аттаче - текстовый файл, в котором краткое описание прототипов основных аргументов ф-ций.
Для экспортируемых переменных и классов, наверно, все-же лучше сначала, как предлагалось создать APP и посмотреть сгенеренный EXP-файл.
С уважением,
Александр Полонский
Код: Выделить всё
Обозначения процедур и их параметров в файле 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 @?
Спасибо, вот до этого примера я еще не добрался! Вечером буду смотреть!
--
С уважением,
SAN
(Добавление)
В итоге я делаю DLL на ABC шаблонах, добавляю свой шаблон RemoveABC, который выковыривает ВСЕ, что в результирующий сырец добавляет ABC и компилирую. Раньше, без RemoveABC, приходилось вручную править сгенерированные сырцы и компилить их уже через PRJ.
Пара таких шаблонов уже давно есть в FreeABC.
В стандартной поставке не хватает простой цепочки шаблонов (SimpleClarion), которая бы ничего "своего" в сырец не генерила, (содержала бы только шаблоны, которые никакой дополнительной обертки для себя не создают, типа процедурного шаблона Source), тогда и работать с PRJ отпала бы
А надо ли отдельный шаблон? В 6-ке появился флажок "Don't generate globals", который позволяет сгенерировать отдельно одну только библиотеку глобальных классов и есть настройка, которая позволяет исключить из генерации ABC библиотеку. Т.е. глобальная dll-ка теперь легко разваливается на декларации глобальных данных (файлов) и ABC библиотеку.
Так что проблем-с такой действительно имеем.
Имели.
WBR,
Nick Tsigouro
Хм, действительно. Ну еще один плюсик в актив C6
Правда, кой-какой мусор все-таки остается, например, декларация SystemParametersInfo в программном модуле и определения _ABCDllMode_ и _ABCLinkMode_ в проекте, но это уже мелочи.
Удачи!
__________________________________
Владимир Якимченко
(Добавление)
Вопрос первый. Зачем ЭТУ DLL строить ручками?
Имею право сейчас и делал это раньше! Кроме того на вашем пути создаются мне не нужные файлы, а по моим убеждениям мусор это плохо.
Вопрос второй. Чем так плоха проектная система в APP (чего не хватает?), что нужно уходить в PRJ ?
Ты ведь доку читал и примеры там смотрел. А теперь взгляни на убогий экран управления проектом и сравни.
Ручками.
Мужики, вы что совсем ..., а нахрена тогда эта система за 2кб?
Используется одноименный с проектом. Или RTFM Project System Reference.
Да раньше я мог больше ;(
Минимум усилий - это APP и шаблоны.
Господа, вы же лучше меня знаете, что шаблоны поставили и держат Кларион на 4-х костях вид сзади! Вам это доставляет удовольствие?
Да нет, ты не прав. Шаблоны дают вполне нормальное и качественное решение.
Слушатели курсов освоили за полчаса.
Вот это и угнетает, хорошо что судя по смайлику не только меня!
--
С уважением,
SAN
(Добавление)
Вопрос не про права, а ЗАЧЕМ? Т.е. что это (PRJ) тебе дает положительного,
или чего лишает APP?
создаются мне не нужные файлы, а по моим убеждениям мусор это плохо.
Это какие же?
Ты ведь доку читал и примеры там смотрел. А теперь взгляни на убогий экран управления проектом и сравни.
Не вижу ответа на вопрос. В ЭТОЙ dll мне и этого "убогого экрана" с избытком.
Мужики, вы что совсем ..., а нахрена тогда эта система за 2кб?
Нет. Это ты "совсем", если ты не хочешь пользоваться тем, чем эта система отличается от прочих, на что заточена, да еще и вопишь при этом. Давай из VS выкинем MFC и повопим на тему "А нахрена такая система нужна?".
Вот это и угнетает, хорошо что судя по смайлику не только меня!
Что тебя угнетает? Что "Шаблоны дают вполне нормальное и качественное решение" или что "Слушатели курсов освоили за полчаса"
Вот меня совершенно не угнетает. Ни то, ни другое. Скорее радует. И то, и другое.
WBR,
Nick Tsigouro
Ну щас задолбают человека.
Похоже лучше бармалеем быть чем программистом на кларе не использующим апп.
Про EXP без апп многие хотели бы знать больше (особенно в разрезе классов) , да видать боятся спросить.
Ответьте пожалуйста на вопрос (если можете) так как pro2exp помогает только в первые два месяца обучения.
Vasiliev B <
soft2@mail.redcom.ru>
Да нет. Просто совершенно не понятно, какой смысл отказываться от APP именно в дллке глобальных данных (и, тем более, в 6-ке) Т.е. там, где экспорт максимальный, а собственный компилируемый код минимальный. Гимор с написанием и отладкой EXP гарантирован и не маленький, а за ради чего - непонятно.
PS.
Объем этого EXP в части ABC классов ок 145 Кб. И все это писать ручками?
WBR,
Nick Tsigouro
Кроме DLL с глобалами и классами существуют другие DLL. Которые должны существовать в куче разных проектов невзирая на словарь и модель (ABC or Legacy). Вот для этого руками они и создаются. Или своими шалонами.
--
Best regards,
Maxim Yemelyanov
Посмотри исходный пост. Речь шла о длл-ке глобалов в 6-ке. Именно о ней и только о ней я и говорю.
WBR,
Nick Tsigouro
(Добавление)
Словарь и апликация неудобна когда у тебя 15 строк кода рукописного.
Э-э-э, а чем соб-сно? Создаю App. Без словаря. На легаси. Вбиваю в главном модуле свои 15 строк и жму Ctrl+R.
WBR,
Nick Tsigouro
мне 15 строк проще (или удобнее) делать в сырке. когда более 2-х процедур намечается - тогда уже начинаешь думать о приложение - ибо когда думаешь о 2-х - вполне вероятно, что прийдется делать 10
--
Best regards,
Vadym
(Добавление)
Когда у тебя уже нужно 15 тыс. строк нарисовать, чтобы сделать то, что на шаблонах делается 500 строками вставок - тут уже прсто несерьезно обсуждать преимущества "рукоблудного" программирования.
Столько и больше тысяч в досе я писал. На самом деле это не так много.
Сейчас вот задачка 2 мега кода, а там столько еще не хватает.
Это когда не знаешь нафига они
Какое элегантное объяснение! На самом деле иногда я вполне прилично знаю нафига они! Но мы уже обнаруживали с тобой, места где меня не устраивают шаблоны. Помню ты меня жалел, вот только не написал новые, которые будут устраивать и меня.
Не факт. Для CDD было очень мутно работать с проектами на DLL - море правок шаблонов, крайне медленная компиляция и какие-то еще мутки (за давностью лет уже позабытые).
Для CDD c проектами на ДЛЛ работать было легко и приятно, я это делал без шаблонов. Ограничений по сути никаких. Впрочем видел код и шаблонный в них.
Про медленную компиляцию я так понимаю ты совсем не в курсе.
А уж если совсем честно то весь досовый шаблонный код мной давно был выкинут - кривой он по моему разумению.
--
С уважением,
SAN
(Добавление)
Мож у Вас сканер есть ? Все бы почитали.
25 страниц я насчитал легко, а Вы поняли, что статья по CFD3.1 ?
--
С уважением,
SAN
Написал: ClaList(2)