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