Русские буквы в DMFе при смене локали становятся ???????
От: artemisin  
Дата: 07.08.09 14:14
Оценка:
Доброго времени суток.

Работаю на машине, где одна приклада требует обязательное переключение локали на US.
Подобрал комбинацию настроек, достаточных для этой приклады в Regional Settings:
— Formats — English (US)
— Location — United States
— Advanced\Language for non-Unicode programs — Russian

Паралелльно работаю с Delphi 7. Когда начинал делфевый проект, то настройки были такими
— Formats — Russian
— Location — United States
— Advanced\Language for non-Unicode programs — Russian
Формы содержат русские буквы ессесно.
Когда дельфя открыта с Formats — Russian, то формы в ней отображают русский нормально.
Когда дельфя открыта с Formats — English (US), то формы в ней отображают русский кракозябрами после первого сохрания.
Видно что DFMник до и после сохранения с Formats — English (US) отличается именно текстами с русским языком.

Чтобы при выполнении самой приклады русский нормально отображался я добился через SetThreadLocale. Но вот как теперь сказать дельфе, чтобы она не путалась при смени настроек и всегда сохраняла русские буквы одинаковым способом? Может где настройка есть?

Спасибо.
Re: Русские буквы в DMFе при смене локали становятся ???????
От: Danchik Украина  
Дата: 07.08.09 15:12
Оценка:
Здравствуйте, artemisin, Вы писали:

[Skip]

A>Чтобы при выполнении самой приклады русский нормально отображался я добился через SetThreadLocale. Но вот как теперь сказать дельфе, чтобы она не путалась при смени настроек и всегда сохраняла русские буквы одинаковым способом? Может где настройка есть?


A>Спасибо.


Нет таких настроек. При сохранении DFM, Delphi 7 конвертирует строки в utf-8, происходит конвертация с Ansi в Uncicode с использованием текущей локали Delphi. Другими словами чтобы Delphi не портила DFM они должны сохранятся и открываться в той же самой локали.
Можете, кстати, попробовать написать packadge и проинсталиковать ее в Delphi, в ней и вызвать SetThreadLocale.
Re[2]: Русские буквы в DMFе при смене локали становятся ????
От: artemisin  
Дата: 07.08.09 15:25
Оценка:
Здравствуйте, Danchik, Вы писали:

D>Можете, кстати, попробовать написать packadge и проинсталиковать ее в Delphi, в ней и вызвать SetThreadLocale.


А что это даст? как я понимаю вариантов, кроме как открывать Delphi под русской локалью, больше нет.
Re[3]: Русские буквы в DMFе при смене локали становятся ????
От: Danchik Украина  
Дата: 07.08.09 17:19
Оценка:
Здравствуйте, artemisin, Вы писали:

A>Здравствуйте, Danchik, Вы писали:


D>>Можете, кстати, попробовать написать packadge и проинсталиковать ее в Delphi, в ней и вызвать SetThreadLocale.


A>А что это даст? как я понимаю вариантов, кроме как открывать Delphi под русской локалью, больше нет.


А это значит что вам не придется переключать локаль для того чтобы Delphi правильно сохраняла DFM. Других путей не вижу
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.