Виснет RxVersionInfo

Модераторы: alexs, Модераторы

Виснет RxVersionInfo

Сообщение Little_Roo » 27.10.2017 15:56:41

Начиная с какого-то транка лазаря при запуске программы вылетает ошибка Stream read error
Ссылается на процедуру
Код: Выделить всё
procedure TRxVersionInfo.DoVersionInfo(V: TVersionResource);
var
  i,j:integer;
begin
  for i:=0 to V.StringFileInfo.Count-1 do
  begin
    for j:=0 to V.StringFileInfo[i].Count-1 do
      FValues.Values[V.StringFileInfo[i].Keys[j]]:=SysToUTF8(V.StringFileInfo[i].ValuesByIndex[j]);
  end;
end;

Если внутренность процедуры закомментарить, то программа нормально стартует, но версию свою есссссссно не кажет.
Такая же бяка и с примером из папки demos. :(
Аватара пользователя
Little_Roo
энтузиаст
 
Сообщения: 606
Зарегистрирован: 27.02.2009 19:56:36
Откуда: Санкт-Петербург

Re: Виснет RxVersionInfo

Сообщение alexs » 27.10.2017 16:12:51

Lazarus 1.9.0 r56213M FPC 3.1.1 i386-win32-win32/win64
Нормально
Пример сам себя верно определяет.
Аватара пользователя
alexs
долгожитель
 
Сообщения: 3494
Зарегистрирован: 15.05.2005 23:17:07
Откуда: г.Ставрополь

Re: Виснет RxVersionInfo

Сообщение Little_Roo » 27.10.2017 17:16:51

Методом быстрого художественного тыка -
если в параметрах проекта - Сведения о версии - Comments есть русские символы, то номер версии не выводится -
B CompanyName кириллица - stream read error

Убрал из проекта все, кроме FileVersion - взлетело :D

Lazarus 1.9.0 r56180 FPC 3.1.1 i386-win32-win32/win64
Аватара пользователя
Little_Roo
энтузиаст
 
Сообщения: 606
Зарегистрирован: 27.02.2009 19:56:36
Откуда: Санкт-Петербург

Re: Виснет RxVersionInfo

Сообщение alexs » 27.10.2017 17:37:14

Всё работает
Код: Выделить всё
procedure TForm1.Button1Click(Sender: TObject);
begin
  Memo1.Lines.Clear;
  if RxVersionInfo1.Valid then
  begin
    Memo1.Lines.Add('FileName = ' + RxVersionInfo1.FileName);
    Memo1.Lines.Add('FileLongVersion = '+RxVersionInfo1.FileLongVersion);
    Memo1.Lines.Add('ProductLongVersion = '+RxVersionInfo1.ProductLongVersion);
    Memo1.Lines.Add('VersionLanguage = '+RxVersionInfo1.VersionLanguage);
    Memo1.Lines.Add('VersionCharSet = '+RxVersionInfo1.VersionCharSet);
    Memo1.Lines.Add('VersionNum = '+RxVersionInfo1.VersionNum.ToString);
    Memo1.Lines.Add('Comments = '+RxVersionInfo1.Comments);
    Memo1.Lines.Add('CompanyName = '+RxVersionInfo1.CompanyName);
    Memo1.Lines.Add('FileDescription = '+RxVersionInfo1.FileDescription);
    Memo1.Lines.Add('FileVersion = '+RxVersionInfo1.FileVersion);
    Memo1.Lines.Add('InternalName = '+RxVersionInfo1.InternalName);
    Memo1.Lines.Add('LegalCopyright = '+RxVersionInfo1.LegalCopyright);
    Memo1.Lines.Add('LegalTrademarks = '+RxVersionInfo1.LegalTrademarks);
    Memo1.Lines.Add('OriginalFilename = '+RxVersionInfo1.OriginalFilename);
    Memo1.Lines.Add('ProductVersion = '+RxVersionInfo1.ProductVersion);
    Memo1.Lines.Add('ProductName = '+RxVersionInfo1.ProductName);
    Memo1.Lines.Add('SpecialBuild = '+RxVersionInfo1.SpecialBuild);
    Memo1.Lines.Add('PrivateBuild = '+RxVersionInfo1.PrivateBuild);
  end
  else
    Memo1.Lines.Add('Ошибка чтения');
end;     
Вложения
aaa.png
aaa.png (9.92 КБ) Просмотров: 305
Аватара пользователя
alexs
долгожитель
 
Сообщения: 3494
Зарегистрирован: 15.05.2005 23:17:07
Откуда: г.Ставрополь

Re: Виснет RxVersionInfo

Сообщение Little_Roo » 27.10.2017 17:57:09

Мистика :(
Аватара пользователя
Little_Roo
энтузиаст
 
Сообщения: 606
Зарегистрирован: 27.02.2009 19:56:36
Откуда: Санкт-Петербург

Re: Виснет RxVersionInfo

Сообщение alexs » 30.10.2017 09:31:18

Рекомендую проверить целостность всех данных. Ресурсы не битые?
Ну и я проверял на последних сборках FPC и Lazarus
Аватара пользователя
alexs
долгожитель
 
Сообщения: 3494
Зарегистрирован: 15.05.2005 23:17:07
Откуда: г.Ставрополь

Re: Виснет RxVersionInfo

Сообщение Little_Roo » 01.11.2017 14:30:18

Даже на пустом проекте (с одной строкой)
Код: Выделить всё
Label1.Caption:=RxVersioninfo1.CompanyName;

в конце выводится квадрат :shock:
На незаполненном поле - только квадрат....Это касается и, к примеру, FileVersion...

Все транковое - Rx svn 6050
Lazarus 1.9.0 r56244 FPC 3.1.1 i386-win32-win32/win64

...
Блин, это почему-то только на ХР... на Вынь7 все корректно
Аватара пользователя
Little_Roo
энтузиаст
 
Сообщения: 606
Зарегистрирован: 27.02.2009 19:56:36
Откуда: Санкт-Петербург


Вернуться в RxLib

Кто сейчас на конференции

Сейчас этот форум просматривают: нет зарегистрированных пользователей и гости: 1

Рейтинг@Mail.ru