Ошибка при работе с Tblobstream

  • Автор темы XXXXX
  • Дата начала
Статус
Закрыто для дальнейших ответов.
X

XXXXX

#1
Подскажите пожалуйста в чём проблема( строка Stream := TBlobStream.Create(ibquery1.FieldByName('messagebody')as Tblobfield, bmRead); выдаёт ошибку Invalit class typecast). Пример вроде правильнный(из Helpa)
)

procedure TForm1.FormCreate(Sender: TObject);
var
Buffer: PChar;
MemSize: Integer;
Stream: TBlobStream;

begin
ibquery1.open;
Stream := TBlobStream.Create(ibquery1.FieldByName('messagebody')as Tblobfield, bmRead);
try
MemSize := Stream1.Size;
Inc(MemSize); {Make room for the buffer's null terminator.}
Buffer := AllocMem(MemSize); {Allocate the memory.}
try
Stream.Read(Buffer^, MemSize); {Read Notes field into buffer.}
Memo1.SetTextBuf(Buffer); {Display the buffer's contents.}

finally
FreeMem(Buffer, MemSize);
end;
finally
Stream.Free;
end;

end;

end.
 
B

Barmutik

#2
Вы точно уверены что это поле имеет тип TBlobField ?
 
G

Guest

#3
<!--QuoteBegin-Barmutik+1:09:2005, 10:31 -->
<span class="vbquote">(Barmutik @ 1:09:2005, 10:31 )</span><!--QuoteEBegin-->Вы точно уверены что это поле имеет тип TBlobField ?
[snapback]24356" rel="nofollow" target="_blank[/snapback]​
[/quote]
Да проверил Classname
Спасибо - с проблемой уже разобрался надо было делать так

stream : TStream;
....
stream:= ibquery1.CreateBlobStream(ibquery1.FieldByName('messagebody') as TBlobField, bmRead);
 
Статус
Закрыто для дальнейших ответов.