• 🔥 Бесплатный курс от Академии Кодебай: «Анализ защищенности веб-приложений»

    🛡 Научитесь находить и использовать уязвимости веб-приложений.
    🧠 Изучите SQLi, XSS, CSRF, IDOR и другие типовые атаки на практике.
    🧪 Погрузитесь в реальные лаборатории и взломайте свой первый сайт!
    🚀 Подходит новичкам — никаких сложных предварительных знаний не требуется.

    Доступ открыт прямо сейчас Записаться бесплатно

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

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

XXXXX

Подскажите пожалуйста в чём проблема( строка 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.
 
Вы точно уверены что это поле имеет тип TBlobField ?
 
<!--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);
 
Статус
Закрыто для дальнейших ответов.
Мы в соцсетях:

Взломай свой первый сервер и прокачай скилл — Начни игру на HackerLab