|
|
|
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) О! Спасибо, друг! Ты сдвинул меня с мертвой точки.
И то правда, надо сюда покопать. Огромнейшее спасибо!!! |
| Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |