4.1.2.2 fixes

Marbak

Member
1) Delphi Ansi Compiler:

OracleTypes.pas

procedure TVariables.WriteBinaryData(Stream: TStream);
...
{+}
//WriteBuffer(PChar(Name)^, Temp); // OLD
WriteBuffer(PWideChar(WideString(Name))^, Temp); // NEW
{+.}

2) Oracle Monitor:

OracleMonitorIntf.pas

function TClientDirectory.AddClient(ClientID: Integer; const AName: string): Integer;
...
ApplicationHandle := Application.Handle;
{+}
//StrPLCopy(Name, PAnsiChar(AnsiString(AName)), SizeOf(AnsiString(Name)) - 1); // OLD
StrPLCopy(Name, PAnsiChar(AnsiString(AName)), SizeOf(Name) - 1); // NEW
{+.}

3) Minimize memory allocation when BLOB compression:


{+}
type
TMemoryStreamAccess = class(TMemoryStream);
{+.}

OracleData.pas

function TOracleDataSet.DoBLOBCompress(...
...
try
// Set the input stream data
{+}
//InStream.Write(Buffer^, Size);
TMemoryStreamAccess(InStream).SetPointer(Buffer, Size);
{+.}
InStream.Seek(0, soFrombeginning);
...
finally
{+}
TMemoryStreamAccess(InStream).SetPointer(nil, 0);
{+.}
InStream.Free;
OutStream.Free;
...
 
Last edited:
Back
Top