Форум: "Базы";
Текущий архив: 2005.07.18;
Скачать: [xml.tar.bz2];
ВнизInvalid BLOB handle in record buffer Найти похожие ветки
← →
Ega23 © (2005-06-02 13:56) [0]На строке кода
TBLOBField(DataSource.DataSet.FieldByName(DataField)).SaveToStream(ms);
получаю сабжевый exception. Поле - not IsNull, это проверено. Тип поля в базе - image. В DBGrid"е поле отображается как "BLOB".
В Query Analyzer"е вижу такую строку:
0x01000100000020F212000E0000000800780000001C00000000000000C0AE1C0AA0AE1C0A98A91C0A80F3120070F94200E4CF1C0AA57D4200847D42 00997E4200E4CF1C0ADCF742009CF312009CF31200E4CF1C0A9F2243009CF31200E4CF1C0AE4CF1C0AF80ED6043E060D0035010000EB0E011034060C 0000000000D8F312009CF212008764E177B906FFFF3E060D0035010000
В чём может быть дело???
Уже 2 часа голову ломаю. Посмотрите, может что проглядел?
procedure TGfxDBConnector.AddGfxObject;
var
ms:TMemoryStream;
GfxTag:TGfxTagStruct;
GfxPoly:TGFXPolyObject;
begin
ms:=TMemoryStream.Create;
try
if TBLOBField(DataSource.DataSet.FieldByName(DataField)).IsNull then Exit;
TBLOBField(DataSource.DataSet.FieldByName(DataField)).SaveToStream(ms);
ms.Position:=0;
ms.ReadBuffer(GfxTag, SizeOf(TGfxTagStruct));
ms.Position:=GfxTag.Offset;
if GfxTag.Tag<>GFXTAG_TYPE then Exit;
Case GfxTag.wParam of
POLY_OBJECT : begin
GfxPoly:=TGFXPolyObject.Create;
GfxPoly.LoadFromStream(ms);
GfxPoly.UID:=DataSource.DataSet.FieldByName(IDField).AsInteger;
GFXDrawer.AddObject(GfxPoly);
end;
RASTER_OBJECT : begin
//
end;
end;
finally
ms.Free;
end;
end;
← →
Ega23 © (2005-06-02 15:47) [1]Всё, вопрос снят.
Там - мама не горюй получается....
Страницы: 1 вся ветка
Форум: "Базы";
Текущий архив: 2005.07.18;
Скачать: [xml.tar.bz2];
Память: 0.45 MB
Время: 0.041 c