Справочник функций

Ваш аккаунт

Войти через: 
Забыли пароль?
Регистрация
Информацию о новых материалах можно получать и без регистрации:

Почтовая рассылка

Подписчиков: -1
Последний выпуск: 19.06.2015

Разработка DLL для 1С

520
02 января 2007 года
inkognitum
155 / / 03.05.2006
Мне стала интересна тема создания DLL для 1C!

Есть умельци которые это реализовали и могут показать?

Сколько тем не перелопатил все не то... показывают все через COM, а мне надо, чтобы чистый файл DLL подключил как внешнюю компоненту конфигуратором 1С и юзать функции от туда.
Если можно примерчиком!

Заранее спасибо, Ганиев Ренат.
9
02 января 2007 года
Lerkin
3.0K / / 25.03.2003
Думаю, вам сюда: http://1c.proclub.ru/modules/mydownloads/viewcat.php?cid=123
520
02 января 2007 года
inkognitum
155 / / 03.05.2006
Большое спасибо за ссылочку, но там только проекты, там не рассказывается технология создания DLL файлов.
Дело в том что там есть пару ньюансов при создании ДЛЛок. Я бы хотел их все узнать...
А еще лучше какойнить маленький шаблонный исходничек на С++, а то такое ощущение что все примеры на Delphi. :(

Заранее спасибо!
9
02 января 2007 года
Lerkin
3.0K / / 25.03.2003
Цитата: inkognitum
...там не рассказывается технология создания DLL файлов.


В таком случае, надо указывать точно, что вам нужно. По вопросам создания dll - воспользуйтесь поиском по сайту.

Цитата: inkognitum

Дело в том что там есть пару ньюансов при создании ДЛЛок. Я бы хотел их все узнать...


Очень информативно. Но, к сожалению, телепатией я не владею, поэтому точнее укажите, пожалуйста... :)

Цитата: inkognitum
...
А еще лучше какойнить маленький шаблонный исходничек на С++...



Могу предоставить, но исключительно из билдеровского визарда...

63
02 января 2007 года
Zorkus
2.6K / / 04.11.2006
Цитата: inkognitum
Большое спасибо за ссылочку, но там только проекты, там не рассказывается технология создания DLL файлов.
Дело в том что там есть пару ньюансов при создании ДЛЛок. Я бы хотел их все узнать...
А еще лучше какойнить маленький шаблонный исходничек на С++, а то такое ощущение что все примеры на Delphi. :(

Заранее спасибо!


При создании Dll есть довольно много нюансов, и часто некоторые из них неизвестны даже профессиональным программистам. Расписать все их на форуме сложно. Если у вас есть конкрентный вопрос - задайте, я постараюсь помочь. Если говорить о dll в общем, то мое мнение таково. Если вы хотите быстро и поверхностно (всмысле, не вникая в системные свойства dll), научиться их создавать, то могу посоветовать статью
http://citforum.ru/book/cook/dll0.shtml. Если же вы хотите глубоко понять этот аспект windows - программирования, то советую Д.Рихтер, создание эффективных win32 приложений .

520
02 января 2007 года
inkognitum
155 / / 03.05.2006
Здраствуйте!

Я конечно попытаюсь пояснить все поподробней. На сколько я сам узнал все на сегодняшний день.

Допустим первая проблема была связана с ошибкой:
Ошибка при создании объекта из компоненты C:\Program Files\1Cv77\BIN\kkldll.dll (отсутствует CLSID)

насколько я накопал это связанно с тем что надо зарегестрировать DLL с помощью regsvr32 ИмяDLL, попытался сделать это, но при регистрации выдала ошибку - Не найдена точка входа, хотя ДЛЛ создан правильно и через программу я "коннектился" к ней очень просто, и 1С тоже "коннектится", но потом вылетает при попытке создать объект.

потом я узнал что для длл1С в самой длл необходимо указать так называемый уникальный - GUID
Который должен быть равен чему то равному - '{808C78D2-25BB-11d1-A4CB-FA4095EDDAEA}'

Еще узнал что в DLL должен быть класс т.к. при создании объекта в 1С там идет обращение к классу внутри DLL.
Вот пример:
Код:
Если ЗагрузитьВнешнююКомпоненту(КаталогИБ() + "v7plus.dll") <> 1 Тогда
            Если ЗагрузитьВнешнююКомпоненту(КаталогИБ() + "ExtForms\" + "v7plus.dll") <> 1 Тогда       
                Если ЗагрузитьВнешнююКомпоненту(КаталогПрограммы() + "v7plus.dll") <> 1 Тогда
                    Предупреждение("Компонента v7plus.dll не найдена!");
                КонецЕсли;
            КонецЕсли;
        КонецЕсли;
       
        НТТРСервис    = СоздатьОбъект("AddIn.V7HTTPReader");
       
        ПослатьФайл();


еще один интересный факт, после создания объекта HTTPСервер идет обращение к функциям на русском языке!
Вот часть кода в функции - ПослетьФайл();
 
Код:
НТТРСервис.УдалитьЗаголовкиЗапроса();
        НТТРСервис.УстановитьЗаголовокЗапроса("Content-Type", "text/xml-SOAP");
        НТТРСервис.ОтправитьДляОбработки(Адрес, ПолноеИмяФайла, 1, Ответ, 2) ;

тоже если честно удевило. Но это конечно не объязательно можно обращатся и на английском. Просто стало интересно. :)

Вродебы все. Все что я успел узнать, что там еще может быть я не могу сказать так как с созданием DLL знаком очень мало. В основе своей использовал только DLL созданные визардом.
Я думал может у кого былл опыт в создании DLL под 1С.
9
02 января 2007 года
Lerkin
3.0K / / 25.03.2003
Вот, пожалуйста: http://rapidshare.com/files/9933071/1CDLL.zip
Если это не поможет, то я уж и не знаю.
Реклама на сайте | Обмен ссылками | Ссылки | Экспорт (RSS) | Контакты
Добавить статью | Добавить исходник | Добавить хостинг-провайдера | Добавить сайт в каталог