Threading issue:Service.GetRODLLibrary.is not threadsafe: In debugger exception is thrown because DataAbstract3.RODL cannot be loaded

It appears Service.GetRODLLibrary.is not threadsafe.

Our code calls in a particular thread function
Service.GetRODLLibrary.xxx
which results in a TXMLToRODL.LoadFileToLibrary of c:\program files…dataabstract3.rodl
however an EFOpenError exception is thrown (the process cannot access the file because it is being used by another process)
Another thread is also busy with GetRODLLibrary at that point.

Should this function be threadsafe? If so when will this be available

Regards,
Frederic

Hi,

try to update uXMLToRODL.pas as

procedure TXMLToRODL.LoadFileToLibrary(iFilename: string; iLibrary: TRODLLibrary; iRodlUse:TRODLUse=nil);
..
    lStream := TFileStream.Create(iFilename, fmOpenRead or fmShareDenyWrite); //changed

it should solve this case

Thanks, logged as bugs://82247

bugs://82247 got closed with status fixed.