|
Как работать с COM объектом типа Variant? |
☑ |
0
TormozIT
гуру
22.07.13
✎
12:43
|
В отладчике у него отсутствуют свойства и просто указан типа COMОбъект. Возможно ли из встроенного языка работать с такими объектами?
|
|
1
Fragster
гуру
22.07.13
✎
12:43
|
а это не тот тип, который может быть чем угодно?
|
|
2
TormozIT
гуру
22.07.13
✎
12:44
|
(1) Вроде того
|
|
3
Ненавижу 1С
гуру
22.07.13
✎
12:45
|
(0) да
|
|
4
Serginio1
22.07.13
✎
12:46
|
COMОбъект это объект реализующий IDispatch. Сами типы в СОМ это структуры. Смотри TVarData
|
|
5
TormozIT
гуру
22.07.13
✎
12:46
|
Как понять, что находится внутри? Как его привести к нужному типу (особенно если это объектный тип)?
|
|
6
Fragster
гуру
22.07.13
✎
12:47
|
вот такое есть
|
|
7
Fragster
гуру
22.07.13
✎
12:48
|
|
|
8
TormozIT
гуру
22.07.13
✎
12:49
|
(6) Функции VariantInit в платформе нет и у объекта тоже нет.
|
|
9
Serginio1
22.07.13
✎
12:50
|
Например установка параметров по ссылке для типа VT_DISPATCH
Args[j-i].vt:=VT_BYREF or TvarData(p^[i]).VType;
Args[j-i].unkVal:=@TVarData(p^[i]).VAny;
|
|
10
Ненавижу 1С
гуру
22.07.13
✎
12:50
|
(0) нужно конечно знать с чем ты работаешь
|
|
11
Serginio1
22.07.13
✎
12:51
|
(8) Посмотри мою реализацию на Delphi в AddInFromITypeInfo2 в LoadObject.pas
|
|
12
Ненавижу 1С
гуру
22.07.13
✎
12:51
|
разные варианты, многие даже перепрограммируются под нужные вещи
|
|
13
TormozIT
гуру
22.07.13
✎
12:55
|
Код пишется на встроенном языке 1С.
Примерно понять с чем работаю можно здесь
поискав по слову "ReturnType.TypedVariant"
|
|
14
TormozIT
гуру
22.07.13
✎
12:58
|
(13) Там видно что VBS предоставляет функцию TypeName для этого типа. В платформе 1С как я понимаю такой возможности (узнать тип) нет?
|
|
15
Serginio1
22.07.13
✎
13:00
|
Ну TLI.TLIApplication это далеко не внутренний язык.
Такую же библиотеку ты и сам можешь создать на базе ItypeInfo
|
|
16
TormozIT
гуру
22.07.13
✎
13:02
|
(13) Интересует решение на встроенном языке с применением существующих внешних компонент.
|
|
17
Serginio1
22.07.13
✎
13:39
|
Написать самому то непроблема
|
|
Кaк может человек ожидaть, что его мольбaм о снисхождении ответит тот, кто превыше, когдa сaм он откaзывaет в милосердии тем, кто ниже его? Петр Трубецкой