Как я могу игнорировать ошибку msgbox, если файл uninstall.vsf не существует при вызове функции LoadVCLStyle_UnInstall
в этом коде?Игнорировать сообщение об ошибке обработки ошибок?
я предположил, что использование блока Попробуйте с пустым исключением будет достаточно, как и в других языках, но это не так.
// Import the LoadVCLStyle function from VclStylesInno.DLL
procedure LoadVCLStyle_UnInstall(VClStyleFile: String); external '[email protected]{app}\uninstall.dll stdcall uninstallonly';
//E: Occurs when the uninstaller initializes.
function InitializeUninstall: Boolean;
begin
Result := True;
// Initialize the VCL skin style.
try
LoadVCLStyle_UnInstall(ExpandConstant('{app}\uninstall.vsf'));
except
finally
end;
end;
То, что вы видите, не является исключением, а поле сообщения ['показано'] (https://code.google.com/p/vcl-styles-plugins/source/browse/trunk/InnoSetup%20plugin/ VclStylesInno.dpr # 61), который плагин, когда возникает исключение. В этом случае вы можете обходным путем проверить, есть ли «FileExists» перед попыткой загрузить скин; с любым другим исключением, вам совершенно не повезло. DLL не должны вызывать никаких исключений, но не должны показывать никаких диалогов, когда они сталкиваются с некоторыми, ИМХО. Система «GetLastError» была бы лучше там. – TLama