Имя пользователя:
Пароль:  
Помощь | Регистрация | Забыли пароль?  

Показать сообщение отдельно

Новый участник


Сообщения: 10
Благодарности: 1

Профиль | Отправить PM | Цитировать


Цитата iglezz:
В том, что InitializeSetup() возвращает True вместо предполагаемого, по логике, результата функции InitializeSetup2() »
Можно ли как то исправить эту проблему?
Может как то переделать код, или объеденить 2 функции по другому?

ПопробЫвал вызвать через procedure
Получилось что-то такое:
Скрытый текст
Код: Выделить весь код
Procedure Skins();
begin
  ExtractTemporaryFile('Amakrits.vsf');
  LoadVCLStyle(ExpandConstant('{tmp}\Amakrits.vsf'));
end;

Function InitializeSetup2(): Boolean;
var ResultStr: String;
begin
  RegQueryStringValue(HKCU, 'Software\WoTBlitz', 'Version', ResultStr);
  if ResultStr='{#AppVer}' then
begin
  Result := MsgBox('Поиск клиента игры...' #13#13 'Клиент игры найден. Продолжить установку?', mbConfirmation, MB_YESNO) = idYes;
  if Result = False then
  MsgBox('Обновление клиента отменено!', mbInformation, MB_OK);
end
  else MsgBox('Поиск клиента игры...' #13 'Клиент игры не найден!' #13#13 'Обновление не может быть установлено!', mbConfirmation, MB_OK);

  Skins();
  Result := True;
end;

Но скин срабатывает только после Splash, тоисть окна проверки (Обновления) без оформления.

Тоисть нужна procedura наоборот, вроде такого:
Скрытый текст
Код: Выделить весь код
Procedure Update();
var ResultStr: String;
begin
  RegQueryStringValue(HKCU, 'Software\WoTBlitz', 'Version', ResultStr);
  if ResultStr='{#AppVer}' then
begin
  Result := MsgBox('Поиск клиента игры...' #13#13 'Клиент игры найден. Продолжить установку?', mbConfirmation, MB_YESNO) = idYes;
  if Result = False then
  MsgBox('Обновление клиента отменено!', mbInformation, MB_OK);
end
  else MsgBox('Поиск клиента игры...' #13 'Клиент игры не найден!' #13#13 'Обновление не может быть установлено!', mbConfirmation, MB_OK);
end;

Function InitializeSetup2(): Boolean;
begin
  ExtractTemporaryFile('Amakrits.vsf');
  LoadVCLStyle(ExpandConstant('{tmp}\Amakrits.vsf'));
  Result := True;

  Update();
end;

Но она отказывается работать.

Последний раз редактировалось passstrada, 17-04-2020 в 18:27.


Отправлено: 15:44, 17-04-2020 | #611