Форум по Delphi программированию

Delphi Sources



Вернуться   Форум по Delphi программированию > Все о Delphi > [ "Начинающим" ]
Ник
Пароль
Регистрация <<         Правила форума         >> FAQ Пользователи Календарь Поиск Сообщения за сегодня Все разделы прочитаны

Ответ
 
Опции темы Поиск в этой теме Опции просмотра
  #1  
Старый 30.04.2012, 11:36
serg36 serg36 вне форума
Прохожий
 
Регистрация: 19.02.2012
Сообщения: 4
Репутация: 10
По умолчанию Редкий глюк с кодировкой

Знатоки, подскажите!

Программа работает у многих пользователей, проблем никаких нет. Но недавно обнаружился компьютер у очень удаленного пользователя, на котором окно программы выглядит так (скрин во вложении).

То есть кодировка строк Caption в Button и Label, введенных в дизайнере, нечитаема. Но если Caption в Label заполняю программно (как на скрине зеленая надпись "муниципальное"), то все читается. Также все в порядке с кодировкой данных - в Edit и Grid все читается. Никаких баз данных нет, данные (в том числе и то, что выводится в Label), читаю из XML (использую ClientDataSet). В XML кодировка прописана явно: LCID="1049".

Программа на Делфи 7. Для всех компонентов и самих форм установлен шрифт Arial, указан RUSSIAN_CHARSET.

У пользователя два компьютера, на обоих Windows XP. На одном все нормально, на другом - то, о чем написал.

Вопросы:

1. Что надо было сделать с компьютером, чтобы появились такие чудеса?
2. Можно ли что-то предпринять в самой программе, чтобы даже в таком случае отображение было нормальным (кроме программного заполнения всех Caption)?

Доступа к этим компьютерам у меня нет (физически невозможно, очень далеко). Задать пользователю какие-то вопросы о компьютерах теоретически возможно, но лучше решить проблему в самой программе (вдруг у кого-то еще такое может повториться).
Изображения
Тип файла: jpg error.jpg (3.3 Кбайт, 10 просмотров)
Ответить с цитированием
  #2  
Старый 30.04.2012, 12:21
PS11011010 PS11011010 вне форума
Новичок
 
Регистрация: 30.03.2012
Сообщения: 98
Репутация: 282
По умолчанию

Цитата:
Сообщение от serg36
1. Что надо было сделать с компьютером, чтобы появились такие чудеса?

Могла встать другая таблица кодировки.
По-умолчанию в реестре должно быть так:

[HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Contro l\Nls\CodePage]
"1250"="c_1250.nls"
"1252"="c_1252.nls"

иногда. для совместимости кодировки и вообще для уменьшения проблем
делают так:

[HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Contro l\Nls\CodePage]
"1250"="c_1251.nls"
"1252"="c_1251.nls"

проверь эти ветки и, если нужно, поменяй.
Изменения вступят после перезагрузки.
Ответить с цитированием
  #3  
Старый 30.04.2012, 13:11
serg36 serg36 вне форума
Прохожий
 
Регистрация: 19.02.2012
Сообщения: 4
Репутация: 10
По умолчанию

Спасибо за ответ, но воспроизвести эффект у себя на экспериментальной XP не получилось. При обоих вариантах у меня все воспроизводится правильно.

Вообще хотелось бы найти опцию в проекте Делфи или строчку в коде, предотвращающие такое безобразие. Ведь часть отображается правильно, а часть - нет!
Ответить с цитированием
  #4  
Старый 30.04.2012, 13:39
PS11011010 PS11011010 вне форума
Новичок
 
Регистрация: 30.03.2012
Сообщения: 98
Репутация: 282
По умолчанию

Каким образом у тебя заполняется надпись МУНИЦИПАЛЬНОГО? У нее тип String или pANSIchar? Может быть, в этом что-то кроется. Проверь наличие шрифта Arial на проблемной машине. Странности бывают - я однажды работал на компе, у которого не было шрифтов с псевдографикой (не помню название)
Ответить с цитированием
  #5  
Старый 30.04.2012, 14:08
serg36 serg36 вне форума
Прохожий
 
Регистрация: 19.02.2012
Сообщения: 4
Репутация: 10
По умолчанию

Тип String.

Пользователю написал, как проверить шрифт, жду ответ. Хотя на скрине явно Arial.
Ответить с цитированием
Ответ


Delphi Sources

Опции темы Поиск в этой теме
Поиск в этой теме:

Расширенный поиск
Опции просмотра

Ваши права в разделе
Вы не можете создавать темы
Вы не можете отвечать на сообщения
Вы не можете прикреплять файлы
Вы не можете редактировать сообщения

BB-коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.
Быстрый переход


Часовой пояс GMT +3, время: 15:48.


 

Сайт

Форум

FAQ

Соглашения

Прочее

 

Copyright © Форум "Delphi Sources" by BrokenByte Software, 2004-2025