Текущий архив: 2005.07.31;
Скачать: CL | DM;
ВнизInvalid class typecast Найти похожие ветки
← →
DelphiNew (2005-06-21 15:44) [0]Есть вот такая процедура:
var
BlobStream: TBlobStream;
StrStream: TStringStream;
s: string;
begin
BlobStream:=TBlobStream.Create(IBQFndProc.fieldByname("OBJ_BODY")
as TBlobField, bmRead);
StrStream := TStringStream.Create(s);
try
ObjectBinaryToText(BlobStream, StrStream);
s:=StrStream.DataString;
finally
StrStream.Free;
BlobStream.Free;
end;
FormProc:= TFormProc.Create(self);
FormProc.Memo1.lines.text:= s;
FormProc.Show;
end;
При попытке выполнения строчки BlobStream:=TBlobStream.Create(IBQFndProc.fieldByname("OBJ_BODY")as TBlobField, bmRead); вылетает ошибка Invalid class typecast. В чём может быть причина?
← →
Ega23 © (2005-06-21 15:53) [1]
procedure TCustomGfxDBConnector.AddGfxObject;
var
ms:TMemoryStream;
GfxTag:TGfxTagStruct;
GfxPoly:TGFXPolyObject;
begin
ms:=TMemoryStream.Create;
try
if TBLOBField(FDataLink.DataSet.FieldByName(DataField)).IsNull then Exit;
//DataSource.DataSet.FieldByName(DataField).
TBLOBField(FDataLink.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:=FDataLink.DataSet.FieldByName(IDField).AsInteger;
FGFXDrawer.AddObject(GfxPoly);
end;
RASTER_OBJECT : begin
//
end;
end;
finally
ms.Free;
end;
end;
← →
DelphiNew (2005-06-21 15:57) [2]Спасибо попробую
Страницы: 1 вся ветка
Текущий архив: 2005.07.31;
Скачать: CL | DM;
Память: 0.44 MB
Время: 0.043 c