Гость
Целевая тема:
Создать новую тему:
Автор:
Форумы / Delphi [игнор отключен] [закрыт для гостей] / TMemoryStream / 2 сообщений из 2, страница 1 из 1
18.09.2003, 13:55
    #32269125
LA
LA
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
TMemoryStream
в ходе изучения i/o процессов для BLOB полей + DOA возникла следующая проблема:
при создании
Код: plaintext
1.
2.
3.
4.
5.
6.
7.
procedure test;
var
    b:TBlobStream;
    F:TBlobField;
begin
    b:=TBlobStream.Create(F,bmReadWrite);
.......


возникает ошибка "Invalid class typecast" . По поводу данной ошибки были найдены в форуме рекомендации использовать TMemoryStream вместо TBlobStream. Действительно, попробовала - все операции с Blob полями работают отлично. Вопросы:
1 - возможен ли другой выход из "Invalid clacc typecast"
2 - зачем вообще TBloabStream если он вполне заменим TMemoryStream?
...
Рейтинг: 0 / 0
18.09.2003, 16:05
    #32269372
Малиновский Владимир
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
TMemoryStream
Ну, вот, я из клипборда гружу картинку:

....
var
Bmp: TBitmap;
S: TStream;
FImageField: TBlobField;

begin
inherited;
if not Clipboard.HasFormat(CF_BITMAP) then begin
ShowMessage('В буфере обмена нет изображения!');
exit
end;
BMP := nil;
S := nil;
try
Bmp := TBitmap.Create;
S := FImageField.DataSet.CreateBlobStream(
FImageField, bmWrite);
Bmp.Assign(Clipboard);
FImageField.DataSet.DisableControls;
Bmp.SaveToStream(S);
finally
Bmp.Free;
S.Free;
FImageField.DataSet.EnableControls;
end;
end;
-------------
Короче, BlobStream создает его DataSet
...
Рейтинг: 0 / 0
Форумы / Delphi [игнор отключен] [закрыт для гостей] / TMemoryStream / 2 сообщений из 2, страница 1 из 1
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]