Главная страница
    Top.Mail.Ru    Яндекс.Метрика
Форум: "Основная";
Текущий архив: 2003.03.13;
Скачать: [xml.tar.bz2];

Вниз

MessageDlg и язык кнопок   Найти похожие ветки 

 
Avsam   (2003-03-04 12:27) [0]

Не могу найти причину.
При выводе сообщения с помощью
MessageDlg("Test", mtWarning,[mbYes, mbNo, mbCancel], 0);
кнопки отображаются на английском языке.
У коллеги точно такая же строка выводит на немецком.
WindowsXP, немецкая.
Самое интересное, что скомпилировав файл и запустив его на компе коллеги, получаю также английские надписи.
В чем тут дело?


 
Anatoly Podgoretsky   (2003-03-04 12:34) [1]

Не может быть, этот ресурс только на английском языке


 
REA   (2003-03-04 12:36) [2]

В принципе может, если в system лежит файлик с ресурсами нужного языка и расширением .ger или как там у немцев.


 
avsam   (2003-03-04 12:41) [3]

Может, точнее так оно и есть.
В Win2000 было все нормально, на немецком.
Коллега перешел на WinXP Home - тоже все нормально.
Я перешел на WinXp Prof. - стало на английском.

Ну не хочется создавать свое окно, когда есть все готовое.



 
avsam   (2003-03-04 12:42) [4]

Где конкретнее в System посмотреть?


 
REA   (2003-03-04 12:44) [5]

Файлы те же, что и bpl, используемые в проекте (если таковые есть), а расширение соответствует языку системы.


 
smok_er   (2003-03-04 12:51) [6]

>>Ну не хочется создавать свое окно, когда есть все готовое.

MessageBox(Handle, "message",...) не устраивает?


 
avsam   (2003-03-04 12:54) [7]

Да. Есть такие.
расширение .de
А кнопки все равно по англ. пишет.
Причем у меня стоит GExpert и в нем есть эксперт для диалогов с предпросмотром.
В предпросмотре - все нормально, на немецком.
При запуске - английский.


 
REA   (2003-03-04 12:59) [8]

Он грузит видимо исходя из каких то настроек языка (детально логику см. в Help по локализации приложений).
Можно это форсировать - грузить ресурс принудительно. См. там же.
Можно менять во время работы приложения текущий языковой ресурс. См. там же.


 
avsam   (2003-03-04 13:02) [9]

> smok_er

Да.
MessageBox(Handle,...) показывает правильно на немецком.
В чем же тогда проблема?


 
avsam   (2003-03-04 13:07) [10]

Похоже точно проблема в локализации.
Например, TBitBtn при выставленном Kind = bkCancel, например, текст показывает тоже на английском.
Забыл сказать, Delphi 6, тоже немецкая.


 
REA   (2003-03-04 13:11) [11]

У них разный механизм. MessageBox это API функция, а MessageDlg - это Delphi функция. Если изменился язык в MessageBox, это вовсе не значит, что изменится и в других ресурсах (сообщения об ошибках например).


 
Basilio   (2003-03-04 13:27) [12]

MessageBox использует настройки System.SysLocale (эти значения берутся из системы самой delphi апишными вызовами) в то время как MessageDlg всегда использует английский.

для того, чтобы каждый раз не вычислять handle для MessageBox можно использовать Application.MessageBox.

Есть соображения повозится с SetThreadLocale, но она работает только под NT/XP, и чего-то у меня не получилось..


 
smok_er   (2003-03-04 15:09) [13]

>>для того, чтобы каждый раз не вычислять handle для MessageBox можно использовать Application.MessageBox.

Зачем усложнять задачу? MessageBox(Handle, ....)
В данном случае переменная Handle - это член класса TForm, содержащая в себе хандл формы, из которой произошел вызов функции...



Страницы: 1 вся ветка

Форум: "Основная";
Текущий архив: 2003.03.13;
Скачать: [xml.tar.bz2];

Наверх





Память: 0.58 MB
Время: 0.037 c
3-39158
Fligh
2003-02-20 09:51
2003.03.13
Обновление отображения у нескольких клиентов БД


7-39595
Maksss
2003-01-06 15:06
2003.03.13
Привязка программы к железу


1-39368
Adolf
2003-03-02 15:59
2003.03.13
Зачеркивание txt


1-39392
Дмитрий Минеев
2003-03-02 14:52
2003.03.13
OnMouseEnter, OnMouseLeave


14-39508
Карелин Артем
2003-02-25 15:19
2003.03.13
Есть Сервер под 2К.





Afrikaans Albanian Arabic Armenian Azerbaijani Basque Belarusian Bulgarian Catalan Chinese (Simplified) Chinese (Traditional) Croatian Czech Danish Dutch English Estonian Filipino Finnish French
Galician Georgian German Greek Haitian Creole Hebrew Hindi Hungarian Icelandic Indonesian Irish Italian Japanese Korean Latvian Lithuanian Macedonian Malay Maltese Norwegian
Persian Polish Portuguese Romanian Russian Serbian Slovak Slovenian Spanish Swahili Swedish Thai Turkish Ukrainian Urdu Vietnamese Welsh Yiddish Bengali Bosnian
Cebuano Esperanto Gujarati Hausa Hmong Igbo Javanese Kannada Khmer Lao Latin Maori Marathi Mongolian Nepali Punjabi Somali Tamil Telugu Yoruba
Zulu
Английский Французский Немецкий Итальянский Португальский Русский Испанский