Форум: "Начинающим";
Текущий архив: 2007.12.02;
Скачать: [xml.tar.bz2];
ВнизFIBPlus: сохраняю Stream в Blob-поле, получаю AV Найти похожие ветки
← →
ari_9 (2007-11-07 19:56) [0]хочу хранить настройки cxGrid"a, такие как порядок столбцов, видимость, ширину, сортировку и т.д. в БД. благо, уже есть соответствующий метод для cxGridTableView/cxGridDBTableView - StoreToStream. записать в БД пытаюсь методом LoadFromStream компонента FIBDataSet
код выглядит примерно так
try
my_cxGridDBTableView.StoreToStream(AStream);
with my_pFIBDataSet do
begin;
Edit;
TBlobField(FieldByName("TABLE_VIEW_SETTINGS")).LoadFromStream(AStream);
Post;
end;
finally
AStream.Free;
end;
на выделенной строке получаю AV - EAccessViolationAccess violation at address 006E06A7 in module "my_project.exe". Read of address 00000000
код основан на примере использования Blob"ов в FIBPlus - http://devrace.com/ru/fibplus/articles/4867.php
если сохранять поток, полученный от вью, в файл, он корректно пишется. где копать ?
p.s. объясните пожалуйста. есть ли принципиальная разница между такими методами работы с Blob"ами :
var
AStream, SStream: TStream;
....
SStream := CreateBlobStream(FieldByName("TABLE_VIEW_SETTINGS"), bmReadWrite);
SStream.CopyFrom(AStream, AStream.Size);
иAStream: TStream;
....
TBlobField(FieldByName("TABLE_VIEW_SETTINGS")).LoadFromStream(AStream)
← →
KilkennyCat © (2007-11-08 01:12) [1]Сто лет не работал со стримами... там случайно, не надо позишион в нуль откатить перед вызовом лоад после сторе?
← →
Сергей М. © (2007-11-08 10:44) [2]
> есть ли принципиальная разница
Есть.
Цитата из справки к методу TBlobStream.LoadFromStream:
Note:
The Stream parameter is typically not a BLOB stream. BLOB streams (returned by the dataset’s CreateBlobStream method) provide a completely separate mechanism for streaming data into a BLOB field.
Страницы: 1 вся ветка
Форум: "Начинающим";
Текущий архив: 2007.12.02;
Скачать: [xml.tar.bz2];
Память: 0.45 MB
Время: 0.042 c