Посоветуйте литературу для написания dll на delphi.
т.е. какой будет механизм связывания с внешней программой: дельфевый, com, экспортируемые из dll функции?
из одной dll должны экспортироваться функции в dll, которую я должен написать, а из последней, должны экспортироваться функции в 1с-ку 8.1
А 1с какой интерфейс использует?
ЗагрузитьВнешнююКомпоненту("С:\Mydll.dll");
объект = Новый("ключ в реестре");
и уже обращается к фонкциям и процедурам через точку.
объект.<название фукции>.
ЗагрузитьВнешнююКомпоненту("С:\Mydll.dll");ЗагрузитьВнешнююКомпоненту выполняет то же, что и regsvr32.exe ? А то непонятно, зачем подгружать вручную дллку с COM-объектом.
объект = Новый("ключ в реестре");
В общем, для начала можно почитать раздел справки "Creating simple COM servers".
Фунцкии из длл экспортировать в дельфи можно так:
const mydll = 'my.dll';
function foo(param:integer):integer; stdcall; external mydll;
procedure __bar(param: integer; param2: PChar); stdcall; external mydll name 'bar';
ЗагрузитьВнешнююКомпоненту выполняет то же, что и regsvr32.exe ? А то непонятно, зачем подгружать вручную дллку с COM-объектом.нет, ЗагрузитьВнешнююКомпоненту используется после того, как dll в регистре.
нет, ЗагрузитьВнешнююКомпоненту используется после того, как dll в регистре.Тогда это вообще странно, т.к. COM сам подгружает все нужные библиотеки, их явно не нужно указывать. Во всяком случае, я впервые вижу чтобы это требовалось.
Объект = Новый COMОбъект("Excel.Application");
И там, действительно, все методы сразу подключаются. а это создание внешней компоненты
кароч соль не в этом, мне литература нужна.
Что тогда из себя представляет эта штука: объект = Новый("ключ в реестре");, если не создание Com-объекта (ежели ключ из раздела HKCR) ?
Я же написал, это объект внешней компоненты, я не знаю, что он из себя представляет, но мне нужны его функции
Я же написал, это объект внешней компоненты, я не знаю, что он из себя представляет, но мне нужны его функцииНу тогда тебе нужно в первую очередь ботать справку 1с чтобы понять, что из себя представляют эти загадочные компоненты. Ведь как-то придётся с ним взаимодействовать, так что либо там какие-то извраты из обычных функций (маловероятно либо C++-ные объекты (их с delphi не подружить либо там что-нибудь COM-подобное (это, по идее, вполне можно эмулировать, если используется интерфейс максимально похожий на COM либо самый настоящий COM (тогда надо ботать вышеуказанный хелп).
Если тебе не принципиально пользоваться фишкой типа "расширение языка" и прочее, то ты можешь создать обычный COM объект и не заморачиваться с внешними компонентами 1С.
Еще момент, сейчас в недрах 1С зреет "1С Предприятие 8.2", где будет новая технология создания внешних компонент, которая к тому же будет доступна как на "Клиенте", так и на "сервере", более того, сервер может быть и под Никсами. Описание этой новой версии выложено в пользовательском разделе на сайте 1С
Оставить комментарий
UAV27
с наилучшем соотношением сложность/качество.