Перейти к содержимому


Фотография

Внешняя компонента для 1С. на VS C# 2005


  • Авторизуйтесь для ответа в теме
Сообщений в теме: 9

#1 Lars Ulrich

Lars Ulrich

Отправлено 08 Октябрь 2009 - 17:34

Кто-нибудь писал внешние компоненты вообще или конкретно для 1С-ки? В нете конечно нашел инфу и примеры о ВК для 1С-ки, но попытавшись написать свою компоненту типа "Hello world" обломился :) что-то делаю не то.
Сама dll компилится без проблем, но не регистрируется через regsvr32 с ошибкой типа "Не найдена точка входа". Я сначала подумал, что найденная мною инфо по созданию ВК реализует нерегистрируемую библиотеку (хотя это странно), т.к. в моей практике бывали и такие. Но при попытке подключить ее в 1С через ЗагрузитьВнешнююКомпоненту() так же выдается сообщение о невозможности создания объекта.
Во вложении мои "потуги" :) может кто подскажет где косяк...

Прикрепленные файлы

  • Прикрепленный файл  Test1C.rar   17,02К   58 скачиваний


#2 AzMan

AzMan

Отправлено 09 Октябрь 2009 - 11:53

Насколько я помню dll ки написанные на C# не имеют точку входа как это было раньше на C++(могу ошибаться конечно). И по этой причине 1С не может подгрузить dll файл.



#3 AndyGee

AndyGee

Отправлено 09 Октябрь 2009 - 12:33

в общем, не надо путать dll и .net сборку... вам нужна dll из неуправляемого (unmanaged) кода...

 

прошу прощения за мой албанский, мог слегка наврать с терминами


Сообщение отредактировал AndyGee: 09 Октябрь 2009 - 12:33


#4 Lars Ulrich

Lars Ulrich

Отправлено 09 Октябрь 2009 - 15:35

AzMan
AndyGee
Да вы каждый по своему правы :)

 

С регистрацией разобрались. Нужно регить dll RegAsm'ом, который идет в составе VS и подключать ВК в 1С не как COM объект через метод ЗагрузитьВнешнююКомпонент() а через ПодключитьВнешнююКомпоненту()
вот ссылка на статейку с примером ВК для 1с7.7 под VB и C#
http://vitug-1c.blog.../1-vbnet-c.html

 

но все равно что-то не то :) при попытке зарегить dll выдается текст:

RegAsm : warning RA0000 : Registering an unsigned assembly with /codebase can ca
use your assembly to interfere with other applications that may be installed on
the same computer. The /codebase switch is intended to be used only with signed
assemblies. Please give your assembly a strong name and re-register it.
Types registered successfully

Теперь я не пойму о каком имени идет речь... в коде указано и название компоненты и имя сборки...
Подключить ВК пока так и не получлось :(



#5 KAIN64b

KAIN64b

Отправлено 09 Октябрь 2009 - 15:48

http://edn.embarcade...m/article/32754
strong name



#6 KAIN64b

KAIN64b

Отправлено 09 Октябрь 2009 - 15:51

AzMan

Насколько я помню dll ки написанные на C# не имеют точку входа как это было раньше на C++(могу ошибаться конечно). И по этой причине 1С не может подгрузить dll файл.

:) одному netbeans и .net похоже. кроме расширения и общей идеи для чего ентот файлик. нет сборка не имеет ничего общего с unmanaged дллкой :)



#7 s@ilor

s@ilor

Отправлено 09 Октябрь 2009 - 16:51

Тут уже как-то была тема про подключение внешних компонент к 1С или про написание своих. Поищите.



#8 Lars Ulrich

Lars Ulrich

Отправлено 12 Октябрь 2009 - 14:18

KAIN64b
спасибки :) почитал... получилось



#9 Mihey

Mihey

Отправлено 03 Ноябрь 2009 - 09:46

Написать Вк типа HelloWorld не очень интересно, намного интереснее с dll запустить 1С как OLE Automation сервер и пользоваться 1С синтаксисом в самой dll.



#10 Lars Ulrich

Lars Ulrich

Отправлено 25 Ноябрь 2009 - 12:22

Mihey
имеется ввиду вот это?
http://kb.mista.ru/a...icle.php?id=62






Количество пользователей, читающих эту тему: 0

0 пользователей, 0 гостей, 0 анонимных