<div dir="auto"><div class="gmail_quote" dir="auto"><div dir="ltr" class="gmail_attr">James Richters via fpc-pascal <<a href="mailto:fpc-pascal@lists.freepascal.org">fpc-pascal@lists.freepascal.org</a>> schrieb am Do., 29. Apr. 2021, 03:13:<br></div><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"><div lang="EN-US" link="#0563C1" vlink="#954F72" style="word-wrap:break-word"><div class="m_7076257651569094071WordSection1"><p class="MsoNormal">{$<span class="m_7076257651569094071SpellE">i</span>-}<br></p><p class="MsoNormal"><u></u></p><p class="MsoNormal"><span class="m_7076257651569094071SpellE">Log_Ini</span> := <span class="m_7076257651569094071SpellE">TIniFile.Create</span>(‘my.ini’);<span>   </span>// blows up with 217<u></u><u></u></p><p class="MsoNormal"><span class="m_7076257651569094071SpellE">Writeln</span>(<span class="m_7076257651569094071SpellE">ioresult</span>);<u></u><u></u></p><p class="MsoNormal">{$<span class="m_7076257651569094071SpellE">i</span>+}<u></u><u></u></p><p class="MsoNormal"><u></u> <u></u></p><p class="MsoNormal">The error I get is:<u></u><u></u></p><p class="MsoNormal"> An unhandled exception occurred at $005A57D0:<u></u><u></u></p><p class="MsoNormal"><span class="m_7076257651569094071SpellE">EFOpenError</span>: Unable to open file "LOG.INI": The process cannot access the file because it is being used by another process.<u></u><u></u></p><p class="MsoNormal"><u></u> <u></u></p><p class="MsoNormal">I want to just keep trying to open it until the other process is done.<span>  </span>I don’t understand why it’s an ‘unhandled exception’ when I was handling it.<u></u><u></u></p><p class="MsoNormal">I guess <span class="m_7076257651569094071SpellE">TiniFile.Create</span> has an {$<span class="m_7076257651569094071SpellE">i</span>+} in it and so that’s why it’s blowing up</p></div></div></blockquote></div><div dir="auto">TIniFile does not make use of IOResult, because it's from the Delphi time, not the TP time. Thus you need to use Object Pascal exception handling:</div><div dir="auto"><br></div><div dir="auto">=== code begin ===</div><div dir="auto"><br></div><div dir="auto">try</div><div dir="auto">  Log_ini := TIniFile.Create('myini.ini');</div><div dir="auto">except</div><div dir="auto">  on e: EFOpenError do</div><div dir="auto">    // handle this to decide whether to retry </div><div dir="auto">  on e: Exception do</div><div dir="auto">    // handle other problems</div><div dir="auto">end;</div><div dir="auto"><br></div><div dir="auto">=== code end === </div><div dir="auto"><br></div><div dir="auto">Regards, </div><div dir="auto">Sven </div><div class="gmail_quote" dir="auto"><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"><div lang="EN-US" link="#0563C1" vlink="#954F72" style="word-wrap:break-word"><div class="m_7076257651569094071WordSection1"><p class="MsoNormal"><u></u></p></div></div>
</blockquote></div></div>