-
Подскажите пожалуйста, имея idispatch я могу получить ole этого объекта ?
или выполнить его метод ?
Спасибо !
-
получить ole этого объекта
Получить, простите, что?!
или выполнить его метод
<интерфейсная ссылка>.<метод>(<параметры>)
Только вот, у IDispatch - не так много методов, которые можно вызвать.
Гораздо практичнее - получить нужный интерфейс, и вызывать его методы.
-
подскажи , как получить нужный интерфейс, и вызывать его методы ?
есть 1C, в своей проге я плучаю его IDispatch , как выполнить команду 1С ?
p.s. есть handle 1C (если надо конечно).
-
var
Disp: IDispatch;
V: Variant;
begin
...
V := Disp;
V.SomeMethod(Val1, Val2);
V.SomeMethodNamedArguments(parameter1 := Val1, parameter1 := Val2);
V.SomeProperty := SomeVaule
...
-
можно ли получить список методов которые есть ?
-
например в 1С есть функция "КаталогИБ()" которая возращает путь к каталогу базы
как мне её выполнить имея IDispatch ?
-
> [5] 312Kbps (06.11.06 23:19)
Так пробовал ?
var
Disp: IDispatch;
V: Variant;
begin
V := Disp;
V.КаталогИБ();
end;
-
Пробавал, не получается (((
Ошибка ;
"Project 1cv7s.exe raised exception class EOleError with massage method 'КаталогИБ' not supported by automation object" (
что можно сделать ? даже и не знаю где искать (
-
Какие интерфейсы поддерживает 1C?
Модуль(и) с декларациями поддерживаемых интерфейсов есть?
-
не знаю что тебе ответить (((
можно селать так
Ole1C: Olevariant;
.....
Ole1C:=CreateOleObject('V1СEnterprise.Application');
Ole1C.Initialize(.....);
Ole1C.EvalExpr('КаталогИБ()');
работает
но у меня есть IDispatch этой 1С и так понимаю инициализация мне не нужна
но выполнить команду ни как не получается (
-
> у меня есть IDispatch этой 1С
Откуда он у тебя взялся ?
Показывай код ..
-
При запуске 1С, она цепляет dll, в которую передается pConnection: IDispatch , самой 1Ски )
Есть специальный визард для делфи, для работы с 1С.
!?!?!?
-
> [9] 312Kbps (06.11.06 23:54)
А так ?
Ole1C:=pConnection
Ole1C.EvalExpr('КаталогИБ()');
-
Ну и ?
Ты получил интерфейс, теперь ты можешь вызывать его методы.
В чем проблема ?
-
так тоже не работает (((
-
> так тоже не работает
так и говорит - "не работаю" ?
-
когда выполняю так
Ole1C:=pConnection
Ole1C.EvalExpr('КаталогИБ()');
пишет что
"Project 1cv7s.exe raised exception class EOleError with massage method 'КаталогИБ' not supported by automation object"
-
извиняюсь
ошибка: не обнаружен метод EvalExpr
-
Справка по встроенному в 1С:ПРедприятие языку на что дана ?
Там ведь достаточно ясно описано, методом какого конкретно класса является метод EvalExpr() ..
-
Сергей разъесни мне пожалуйста, может я не совсем тупой )
!?!? )