Но есть одна проблема: если ini/xml файл только для чтения (на CD/DVD, или так настроены права доступа) то при попытке сохранения возникает exception, и отловить его, кроме как в Application.OnException, больше негде. Всё бы ничего, но при таком способе
* возникают утечки памяти на уровне LCL, и
* чтобы проигнорировать только этот exception и не проглядеть остальные, приходится опознавать его не только по классу, но и по вхождению подстроки в сообщение. Примерно так:
- Код: Выделить всё
procedure TfmMain.AppExceptionHandler(Sender: TObject; E: Exception);
begin
if (E is EFCreateError) and (Pos('.ini', E.Message) > 0) then
Abort
else
Application.ShowException(E);
end;
Встречался ли кто-нибудь с этой проблемой, и если да, то как её решили?