|
OLE Automation Object и имена свойств на 2-х языках | ☑ | ||
---|---|---|---|---|
0
бомболюк
02.09.11
✎
12:10
|
Добрый день. Кто нить заморачивался, как сделать COM объект, имеющий синонимы свойств на русском и английском языке? Подскажите, куды копать? Весь инет перерыл - эффекту ноль.
|
|||
1
izekia
02.09.11
✎
12:19
|
лол
|
|||
2
бомболюк
02.09.11
✎
12:33
|
(1) за ап спасибо. Рад что хоть кого то это повеселило.
|
|||
3
izekia
02.09.11
✎
12:58
|
просто в чем проблема не понимаю
|
|||
4
Goggy
02.09.11
✎
13:10
|
(3)всё пучком - тяпница. Ща пойдут получше темки.
|
|||
5
бомболюк
02.09.11
✎
15:56
|
Не, мне не надо просто завести 2 разных свойства, по сути выполняющих одно и то же. Мне не надо, чтоб GetTypeInfo возвращала 2 свойства (например Владелец и Owner). Мне надо, что она возвращала одно (в зависимости от языковых настроек пользователя: если системный язык русский - то Владелец, а иначе - Owner). Вопрос на самом деле малость глубже чем Вам кажется.
|
|||
6
acsent
02.09.11
✎
15:59
|
В принципе у КОМ объектов нет никаких правил наименованию своцств на национальных языках
|
|||
7
izekia
02.09.11
✎
16:04
|
а почему интересно название у темы сменили?
чем комобъект не устроил? (5) книжку тролсена почитай ... если я его фамилию правильно запомнил ... но мне кажется ты вообще не в том направлении прикладываешь свои усилия я не понимаю зачем нужна интернационализация на уровне именования свойств комобъекта - это бред просто |
|||
8
бомболюк
02.09.11
✎
16:11
|
(7) Чего ж тут бредового то? Вон все объекты в 1С именно такие. Название я не менял, но для КОМ объекта вообще топик не имеет смысла. Имеет смысл лишь для Automation объектов (КОМ объектов, реализующих IDispatch), потому что именно там допустимо позднее связывание и методы вызываются по интовому айдишнику, а функция, разворачивающая строковые имена в эти айдишники может быть переопределена разработчиком объекта.
|
|||
9
Rie
02.09.11
✎
16:12
|
(8) Ну так и реализуй GetIDsOfNames и прочие методы так, как тебе надо. И будет счастье.
|
|||
10
бомболюк
02.09.11
✎
16:14
|
(9) приятно видеть человека, который "в теме" ;-)
Это понятно, но этого мало.Мне надо (чтоб было гламурно), что когда в отладчике ставишь курсор на переменную ком-объекта и нажимаешь Ctrl+F1 - в вылезающем окне бы было не Владелец и Owner, а что нить одно ;-) |
|||
11
бомболюк
02.09.11
✎
16:16
|
(10) Для этого надо лезть в GetTypeInfo и что то там крутить. Пишу на дельфях, и в тамошних типовых классах для этого мультиязычность не предусмотрена, но так хочется ;-)
|
|||
12
izekia
02.09.11
✎
16:19
|
(8) про автомейшн wiki:Microsoft_OLE_Automation
|
|||
13
izekia
02.09.11
✎
16:21
|
(11) ты объясни для чего тебе это нужно?
а подкрутить просто дополнительную привязку к локали |
|||
14
Rie
02.09.11
✎
16:22
|
(10) Так а параметр lcid - на него смотри при реализации методов и в зависимости от - возвращай нужное.
Понятно, что методы IDispatch при этом придётся переписать. |
|||
15
бомболюк
02.09.11
✎
16:23
|
(13) ну допустим это чисто теоретический вопрос ;-)
|
|||
16
бомболюк
02.09.11
✎
16:24
|
(14) я не знаю, как к одному объекту прикрутить 2 ITypeInfo. Если это удастся - дальше проблем для себя, по крайней мере пока, не вижу.
|
|||
17
Rie
02.09.11
✎
16:26
|
(16) А зачем ITypeInfo? Попробуй посмотреть в сторону ITypeLib. И type library - зависит от языка.
|
|||
18
бомболюк
02.09.11
✎
16:45
|
(17) О! Спасибо, друг! Ты сдвинул меня с мертвой точки.
И то правда, надо сюда покопать. Огромнейшее спасибо!!! |
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |