Здравствуйте!
Решил в приложение добавить инфу о версии, написал на русском, свойства EXE файла открываю а там иероглифы вот такие "Система учёта флюорографических обследований".
что за проблемы могут быть?
WinXP SP3
Lazarus 0.9.27. beta SVN 21081
FPC 2.2.5
Информация о версии приложения
Модератор: Модераторы
xcod писал(а):Здравствуйте!
Решил в приложение добавить инфу о версии, написал на русском, свойства EXE файла открываю а там иероглифы вот такие "Система учёта флюорографических обследований".
что за проблемы могут быть?
WinXP SP3
Lazarus 0.9.27. beta SVN 21081
FPC 2.2.5
ну судя по содержимому это не проблемы и не иероглифы это кодировка UTF8 , лазарус все таки базируется теперь именно на ней
Создать файл версии отдельно в кодировке Windows-1251 и подключить его в ресурсах.
Допустим файл называется version.rc и имеет следующее содержание:
после в коде проекта добавляем директиву ручками:
И всё будет О.К.
Правдо есть одни неудобства с вязанные с авто увеличением билда, но это не кретично
Допустим файл называется version.rc и имеет следующее содержание:
Код: Выделить всё
1 VERSIONINFO
FILEVERSION 1,1,0,5
PRODUCTVERSION 1,1,0,0
{
BLOCK "StringFileInfo"
{
BLOCK "041904E4"
{
VALUE "CompanyName", "ЗАО ...\000"
VALUE "FileDescription", "Установка времени ТБН КМ/РМ\000"
VALUE "FileVersion", "1.1.0.5\000"
VALUE "LegalCopyright", "(c) ЗАО ...\000"
VALUE "ProductVersion", "1.1.0.0\000"
}
}
BLOCK "VarFileInfo"
{
VALUE "Translation", 0x0419, 0x04E4
}
}
после в коде проекта добавляем директиву ручками:
Код: Выделить всё
...
{$ifdef windows}{$r version.rc}{$endif}
...
И всё будет О.К.
Правдо есть одни неудобства с вязанные с авто увеличением билда, но это не кретично
grigoreo писал(а):ну судя по содержимому это не проблемы и не иероглифы это кодировка UTF8 , лазарус все таки базируется теперь именно на ней
Понятно. Если это не проблемы, значит и решаться не будут я правильно понимаю?
Mr.Smart
спасибо
И еще заметил заголовок приложения также отображается.
Это все конечно не принципиально, но все же не приятно видеть
Присоединяюсь. Тоже наткнулся на такие грабли с VersionInfo. Тупо исправил текст в .lpi, теперь Лазарус, естественно, показывает вопросики вместо строк в Win1251.
Это, наверное, правильно - всё делать в UTF8... вот только виндовый "Проводник" этого мнения не разделяет.
Может, стОит строки в ресурсе VersionInfo конвертировать при компиляции? У windres, часом, нет какого-нибудь ключика на эту тему?
Это, наверное, правильно - всё делать в UTF8... вот только виндовый "Проводник" этого мнения не разделяет.
Может, стОит строки в ресурсе VersionInfo конвертировать при компиляции? У windres, часом, нет какого-нибудь ключика на эту тему?
-
Павел Ишенин
- постоялец
- Сообщения: 475
- Зарегистрирован: 24.03.2007 09:16:52
Это проблемы и будут решаться 
- pi1
- новенький
- Сообщения: 59
- Зарегистрирован: 19.04.2012 18:11:24
- Откуда: г.Зеленокумск
- Контактная информация:
При переходе с версии 0.93 на 1.06 перестал работать код:
function ReadVersion(): string;
var
Ver: TFileVersionInfo;
i: integer;
begin
Ver := TFileVersionInfo.Create(nil);
Ver.FileName := ParamStr(0);
with Ver do
begin
for i := 0 to VersionStrings.Count - 1 do
begin
if VersionCategories[I] = 'FileVersion' then
begin
Result := VersionStrings[i];
Ver.Free;
Exit;
end;
end;
end;
end;
Помогла замена 'FileVersion' на 'fileversion' .
function ReadVersion(): string;
var
Ver: TFileVersionInfo;
i: integer;
begin
Ver := TFileVersionInfo.Create(nil);
Ver.FileName := ParamStr(0);
with Ver do
begin
for i := 0 to VersionStrings.Count - 1 do
begin
if VersionCategories[I] = 'FileVersion' then
begin
Result := VersionStrings[i];
Ver.Free;
Exit;
end;
end;
end;
end;
Помогла замена 'FileVersion' на 'fileversion' .
