Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2003.10.20;
Скачать: CL | DM;

Вниз

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;
Скачать: CL | DM;

Наверх




Память: 0.49 MB
Время: 0.016 c
14-65602
pumba
2003-09-27 19:43
2003.10.20
Землетресение


1-65486
Peter
2003-10-09 13:08
2003.10.20
Я прошу вас мастера...ПОМОГИТЕ ПЛЗ!!!


11-65400
-= ALEX =-
2003-01-21 16:46
2003.10.20
Перетаскивание окон


8-65552
JohnJ
2003-06-10 09:51
2003.10.20
Ремикс


1-65432
Sergp
2003-10-07 13:32
2003.10.20
Как сохранить в файл и загрузить из файла безразмерный массив