Главная страница
    Top.Mail.Ru    Яндекс.Метрика
Форум: "Основная";
Текущий архив: 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
6-65569
ArtAlex
2003-08-19 15:34
2003.10.20
Submit в Webbrowser


1-65497
АТ
2003-10-08 10:32
2003.10.20
поля в TPrinter


1-65457
Sandman25
2003-10-07 13:32
2003.10.20
Уничтожение кнопки в OnClick


14-65596
blackweber
2003-10-01 12:24
2003.10.20
win 2000 server registry


7-65660
AlexRush
2003-08-04 15:24
2003.10.20
NTFS ADS (Alternative Data Streams) - поиск





Afrikaans Albanian Arabic Armenian Azerbaijani Basque Belarusian Bulgarian Catalan Chinese (Simplified) Chinese (Traditional) Croatian Czech Danish Dutch English Estonian Filipino Finnish French
Galician Georgian German Greek Haitian Creole Hebrew Hindi Hungarian Icelandic Indonesian Irish Italian Japanese Korean Latvian Lithuanian Macedonian Malay Maltese Norwegian
Persian Polish Portuguese Romanian Russian Serbian Slovak Slovenian Spanish Swahili Swedish Thai Turkish Ukrainian Urdu Vietnamese Welsh Yiddish Bengali Bosnian
Cebuano Esperanto Gujarati Hausa Hmong Igbo Javanese Kannada Khmer Lao Latin Maori Marathi Mongolian Nepali Punjabi Somali Tamil Telugu Yoruba
Zulu
Английский Французский Немецкий Итальянский Португальский Русский Испанский