Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2007.12.02;
Скачать: CL | DM;

Вниз

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;
Скачать: CL | DM;

Наверх




Память: 0.47 MB
Время: 0.028 c
2-1194343616
Sergl
2007-11-06 13:06
2007.12.02
Номер коннекта в сокетах


2-1194476091
TankMan
2007-11-08 01:54
2007.12.02
Подскажите пожалуйста почему выдается ошибка в TidFTP?


15-1193854260
Андрюха
2007-10-31 21:11
2007.12.02
Помогите расписать простейший класс на с++


15-1193398144
@!!ex
2007-10-26 15:29
2007.12.02
Запрет на смену разрешения экрана.


15-1193244749
vasIZmax
2007-10-24 20:52
2007.12.02
Что это было?