- edited description
ReadBlobData StackOverflow
When using TObjectDataSet with a TBlobField in Delphi Seattle, it is raising StackOverflow in Spring.Persistence.ObjectDataset.Blob.TODBlobStream.ReadBlobData
procedure TODBlobStream.ReadBlobData;
begin
{$IF CompilerVersion >= 24}
FFieldData := FField.AsVariant;
{$ELSE}
FDataSet.GetFieldData(FField, @FFieldData, True);
{$IFEND}
When "FFieldData := FField.AsVariant;" is executed, it turns to call ReadBlobData again and the app stops in a StackOverflow error.
if this code and the compiler directive is commented it works as expected, but the compiler shows the warning:
[dcc32 Warning] Spring.Persistence.ObjectDataset.Blobs.pas(109): W1000 Symbol 'GetFieldData' is deprecated: 'Use overloaded method instead'
procedure TODBlobStream.ReadBlobData;
begin
// TODO -cBUG : StackOVerflow
// {$IF CompilerVersion >= 24}
// FFieldData := FField.AsVariant;
// {$ELSE}
FDataSet.GetFieldData(FField, @FFieldData, True);
// {$IFEND}
//...
Comments (8)
-
reporter -
repo owner - changed version to 1.2 (develop)
-
repo owner Please post a MCVE - preferably in form of a unit test.
-
reporter Ok, I'lll provide it ASAP.
-
repo owner -
assigned issue to
- edited description
- changed milestone to 1.2
Need a solution because the suggested workaround does not compile on NEXTGEN.
-
assigned issue to
-
repo owner - changed component to ObjectDataSet
-
repo owner - changed status to resolved
fixed TBlobStream (fixes
#171)→ <<cset ce672c190aa2>>
-
repo owner - changed version to 1.2
- Log in to comment