ShowMessage in OracleData.pas

Hello,
using DOA 4.1.4 with Delphi 10.2 and Delphi 13.

We've just discovered that in some rare circumstances, exceptions on Doa datasets are managed with ShowMessage instead raise it.

We faced it using DOA in a ISAPI dll (with IntraWEB) where there is no windows interface.

The case happened refreshing a dataset in a corrupted state, that caused the following function to generate a message via ShowMessage:

--OracleData.pas--
function TRecordDataList.RecordAt(Index: Integer): PRecordData;
begin
try
if DataSet.UseFiltered then
Result := PRecordData(FilteredList[Index])
else
Result := PRecordData(Self[Index]);
except
on e:Exception do
begin
ShowMessage(E.Message);
raise;

end;
end;
end;


The result is that the exception is not raised and the web session is waiting for a response on the server side (the thread is waiting for the ShowMessage to be closed).
It's very uncommon situation, but it's quite impossible to predict them all specially on a web application.

Is there a way to redefine ShowMessage call to some custom function?

Thanks
Alberto
 
The ShowMessage call can be removed. But no exceptions should occur here, since the function merely returns a pointer to a record structure.
 
Back
Top