Форум: "Основная";
Текущий архив: 2003.10.20;
Скачать: [xml.tar.bz2];
Внизdelphi и 1 с Найти похожие ветки
← →
MadDogNT (2003-10-06 19:12) [0]Уважаемые мастера! Кто нибудь использовал компонент 1С AddIn Wizard(компонент для создания dll для 1с в delphi). Если использовали, то помогите разобраться: как передать функции объекта в 1с.
Не могу вызвать функции из 1с.
← →
Serginio1 (2003-10-06 19:52) [1]Я пользуюсь http://www.1c.hippo.ru/cgi-bin/predownl.cgi?id=2019
Создаешь обыкновенных объект автоматизации и вперед. Очень просто и удобно. А если тебе нужена информация то сходи на
http://www.kuban.ru/cgi-bin/forum/forum9.cgi
А вообще ЗагрузитьВнешнююКомпоненту и Создать объект.
← →
MadDogNT (2003-10-06 19:53) [2]Уважаемый Serginio1 проверьте почту.
← →
MadDogNT (2003-10-06 20:30) [3]Не могли бы Вы скинуть мне на мыло пример с использованием 1С AddIn Wizard и пример вызова функций из 1с.
← →
Serginio1 (2003-10-06 20:38) [4]Я ее не использую, так пользуюсь своей ВК. Кстати и написана она была т.к. автор 1С AddIn Wizard не ответил на мое письмо, а в описании было указано, что без активации она работать не будет. Достучись до автора. Я ничем помочь не могу.
← →
MadDogNT (2003-10-06 20:47) [5]Тогда не могли бы Вы скинуть мне на мыло пример создания dll с какой-нибудь функцией(например сумма двух параметров), чтобы dll можно было подключить в 1с и пример вызова этой функций из 1с.
Заранее благодарен.
← →
VMcL (2003-10-06 21:36) [6]2 all:
примеры написания Addins для 1С на Delphi (а тж. на VB и VC) идут в комплекте с книгой по написанию внеш. компонентов.
← →
Serginio1 (2003-10-06 22:16) [7]Посмотри
Serginio1 (06.10.03 19:52) [1]
Исходник ВК которая загружает Объект Автоматизации поддерживающий ITypeInfo и выполняет все его свойства и методы через IlanguageExtender. Поддержка Var и Out параметров, передача в методы Объектов 1С, а так же поддержка Свойст Массивов.
Создаешь через библиотеку типов свой объек автоматизации, получаешь интнфейсы 1С и вперед через определенную тобой процедуру InitFrom1C(const pCon: IDispatch); которая вызывается при загрузке DLL или EXE сервера. Все достаточно просто.
Там есть и примеры.
← →
Serginio1 (2003-10-07 13:26) [8]Для вызова функции из 1С (на процедуру будет ругаться)
1. Это функция находится в глобальном модуле и помечена как Экспорт.
2. Вызов происходит через переданный интерфейс
InitFrom1C(const pCon: IDispatch);
apDisp:=OleVariant(pCon).AppDispatch;
IDispatch(apDisp)._Addref;// обязательно !!!!!
apDisp.Sum;
Но есть одна беда с передаваемыми параметрами. По умолчанию, т.к. есть возможность использования параметра как Var все параметры передаются по ссылке, но со строковыми, и объектами 1С это не проходит (тупая 1С). для этого нужно делать функцию оболочку или использовать диспинтерфейсы.
Function FindeValue(Const tab:Idispatch;const Val:Olevariant; Const col:Integer; var Row:Integer):Boolean;
Begin
Row:=obj.НайтиЗначение( tab,val,col);
Result:=Row>0
end;
или
тоесть явно помечать параметры как Const.
Желаю удачи. Извини пока нет времени.
← →
Serginio1 (2003-10-07 13:35) [9]В Connect и Exchange параметры должны быть указанны как WideString а не Pchar.
TSendSocket = class(TTypedComObject, ISendSocket)
Должен наследоваться от TAutoObject и соответственно
не
TTypedComObjectFactory.Create(ComServer, TSendSocket, Class_SendSocket,
ciMultiInstance, tmApartment);
а
TAutoObjectFactory.Create(ComServer, TSendSocket, Class_AddinTypeInfo_,
ciMultiInstance);
Инстансинг для DLL по барабану так же и модель потоков.
Удачи.
Страницы: 1 вся ветка
Форум: "Основная";
Текущий архив: 2003.10.20;
Скачать: [xml.tar.bz2];
Память: 0.47 MB
Время: 0.008 c