Hi,
fixing this issue takes about two minutes as edson suggested, so why is it taking so long?
For impatient ones, here is a workaround working on DOA 4.1.3.5 Standard and Delphi XE6 20.0.15596.9843:
unit MyOracleData;
interface
uses OracleData, DB;
type
TOracleDataSet = class(OracleData.TOracleDataSet)
public
function PSExecuteStatement(const ASQL: string; AParams: TParams): Integer; overload; override;
function PSExecuteStatement(const ASQL: string; AParams: TParams;
ResultSet: Pointer = nil): Integer; overload; override;
end;
implementation
function TOracleDataSet.PSExecuteStatement(const ASQL: string; AParams: TParams): Integer;
var
d: TDataSet;
begin
d := nil;
try
Result := self.PSExecuteStatement(ASQL, AParams, d);
finally
d.Free;
end;
end;
function TOracleDataSet.PSExecuteStatement(const ASQL: string; AParams: TParams;
ResultSet: Pointer = nil): Integer;
var
d: TDataSet;
begin
if ResultSet = nil then
d := nil
else
d := TDataSet(ResultSet^);
Result := self.PSExecuteStatement(ASQL, AParams, d);
end;
end.
Classic interceptor Delphi pattern, just add MyOracleData to uses clause after OracleData.