Главная страница
    Top.Mail.Ru    Яндекс.Метрика
Форум: "Начинающим";
Текущий архив: 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.44 MB
Время: 0.048 c
4-1172864916
DevilDevil
2007-03-02 22:48
2007.12.02
Стек:


2-1194595298
lobach
2007-11-09 11:01
2007.12.02
Обработка ошибки


2-1194511180
Ega23
2007-11-08 11:39
2007.12.02
Отловить момент активизации фрейма


2-1194513868
PRIVET
2007-11-08 12:24
2007.12.02
Визуализация сортировки


2-1194508018
Nucer
2007-11-08 10:46
2007.12.02
TTimer





Afrikaans Albanian Arabic Armenian Azerbaijani Basque Belarusian Bulgarian Catalan Chinese (Simplified) Chinese (Traditional) Croatian Czech Danish Dutch English Estonian Filipino Finnish French
Galician Georgian German Greek Haitian Creole Hebrew Hindi Hungarian Icelandic Indonesian Irish Italian Japanese Korean Latvian Lithuanian Macedonian Malay Maltese Norwegian
Persian Polish Portuguese Romanian Russian Serbian Slovak Slovenian Spanish Swahili Swedish Thai Turkish Ukrainian Urdu Vietnamese Welsh Yiddish Bengali Bosnian
Cebuano Esperanto Gujarati Hausa Hmong Igbo Javanese Kannada Khmer Lao Latin Maori Marathi Mongolian Nepali Punjabi Somali Tamil Telugu Yoruba
Zulu
Английский Французский Немецкий Итальянский Португальский Русский Испанский