Цитата 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;
Но она отказывается работать.