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

Вниз

dispinterface в 1С Ole Сервере   Найти похожие ветки 

 
Serginio   (2002-10-17 16:01) [0]

Хотя тема 1С на Delphi и Использование dispinterface в 1С Ole Сервере абсолютно отличны друг от друга, но в итоге по синтаксису их использования очень сходны.
Наверняка это уже реализовано, кто может, поделитесь Ссылкой
Всем известно, что любой объект Автоматизации (IDispatch) использует 2 метода
1. GetIDsOfNames
2. Invoke
Первый возвращает dispid по названию метода, а второй по известному dispid вызывает нужный метод.

Все наименование методов и атрибутов объектов 1С нам известны и не составляет большого труда где-то ручками, а где и из метаданных создать объекты dispinterface.
Напримек
Doc:=obj.EvalExpr("СоздатьОбъект("Документ."+name+"")");
и вызываешь
NameRefs[0]:=PWideChar(WideString("НомерДок");
IDispatch(doc).GetIDsOfNames(GUID_NULL, @NameRefs,1,
LOCALE_SYSTEM_DEFAULT, @DID);
в DID получаем его dispid

В итоге получаем описание всех объектов.
Единственный минус dispinterface это невозможность наследования и для объектов имеющие одинаковые свойства и методы лучше разбивать на разные объекты а использовать их в паре с единой ссылкой на объект.
Скорость после применения dispinterface возрастает по сравнению с применение объектами Ole в 3-4 раза и по сравнению с 1С объектами в 1.5-2 раза.
Кроме увеличения скорости мы получаем псевдо ООП модель с вызовом методов через точку и строгий синтаксический контроль, последнее очень важно т.к. многие знают, что ошибку можно получить и через год.


 
PalP   (2002-10-18 10:46) [1]

Не знаю, то ли я пишу, но есть возможность написания внешних компоненнт для 1С. В действительности, это dll, к которой можно обратится из 1С. Я сейчас этим и занимаюсь, но знаний, чтобы ответить на Ваш вопрос у меня не хватает (либо вопрос сформулирован нечетко). Возможно, поможет ссылка hare.ru



Страницы: 1 вся ветка

Текущий архив: 2002.10.28;
Скачать: CL | DM;

Наверх




Память: 0.47 MB
Время: 0.017 c
6-92628
INCOGNITO
2002-08-05 03:10
2002.10.28
FTP... Закачка файлов


3-92325
S
2002-10-04 16:39
2002.10.28
Блокировка таблицы!


14-92674
RV
2002-10-07 17:34
2002.10.28
С помощью куков возможна хакерская атака?


3-92396
zdn
2002-10-08 14:41
2002.10.28
---|Ветка была без названия|---


1-92476
Acidy
2002-10-18 11:52
2002.10.28
Wise Install Master...