Посоветуйте литературу для написания dll на delphi.

UAV27

с наилучшем соотношением сложность/качество.

Dasar

эта dll использоваться в дальнейшем где будет?
т.е. какой будет механизм связывания с внешней программой: дельфевый, com, экспортируемые из dll функции?

UAV27

из одной dll должны экспортироваться функции в dll, которую я должен написать, а из последней, должны экспортироваться функции в 1с-ку 8.1

Andbar

А 1с какой интерфейс использует?

UAV27

в смысле интерфейс? ну вообще свой, а взаимодействие должно проиходить через описанный класс функций объекта, который подгружается через метод
ЗагрузитьВнешнююКомпоненту("С:\Mydll.dll");
объект = Новый("ключ в реестре");
и уже обращается к фонкциям и процедурам через точку.
объект.<название фукции>.

Andbar

ЗагрузитьВнешнююКомпоненту("С:\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';

UAV27

ЗагрузитьВнешнююКомпоненту выполняет то же, что и regsvr32.exe ? А то непонятно, зачем подгружать вручную дллку с COM-объектом.
нет, ЗагрузитьВнешнююКомпоненту используется после того, как dll в регистре.

Andbar

нет, ЗагрузитьВнешнююКомпоненту используется после того, как dll в регистре.
Тогда это вообще странно, т.к. COM сам подгружает все нужные библиотеки, их явно не нужно указывать. Во всяком случае, я впервые вижу чтобы это требовалось.

UAV27

Com там по-другому зоздается.
Объект = Новый COMОбъект("Excel.Application");
И там, действительно, все методы сразу подключаются. а это создание внешней компоненты
кароч соль не в этом, мне литература нужна.

Andbar

Что тогда из себя представляет эта штука: объект = Новый("ключ в реестре");, если не создание Com-объекта (ежели ключ из раздела HKCR) ?

UAV27

Я же написал, это объект внешней компоненты, я не знаю, что он из себя представляет, но мне нужны его функции

Andbar

Я же написал, это объект внешней компоненты, я не знаю, что он из себя представляет, но мне нужны его функции
Ну тогда тебе нужно в первую очередь ботать справку 1с чтобы понять, что из себя представляют эти загадочные компоненты. Ведь как-то придётся с ним взаимодействовать, так что либо там какие-то извраты из обычных функций (маловероятно либо C++-ные объекты (их с delphi не подружить либо там что-нибудь COM-подобное (это, по идее, вполне можно эмулировать, если используется интерфейс максимально похожий на COM либо самый настоящий COM (тогда надо ботать вышеуказанный хелп).

peter1dav

Для "ЗагрузитьВнешнююКомпоненту" есть соответствующая книжечка от 1Ц - "Технология создания внешних компонент".
Если тебе не принципиально пользоваться фишкой типа "расширение языка" и прочее, то ты можешь создать обычный COM объект и не заморачиваться с внешними компонентами 1С.
Еще момент, сейчас в недрах 1С зреет "1С Предприятие 8.2", где будет новая технология создания внешних компонент, которая к тому же будет доступна как на "Клиенте", так и на "сервере", более того, сервер может быть и под Никсами. Описание этой новой версии выложено в пользовательском разделе на сайте 1С
Оставить комментарий
Имя или ник:
Комментарий: