Главная страница
    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.45 MB
Время: 0.044 c
3-1184757227
Plm
2007-07-18 15:13
2007.12.02
Ошибка: Недостаточно сведений ключевого поля для обновления


2-1194606611
DontFire
2007-11-09 14:10
2007.12.02
Как вставить сепаратор в mainmenu?


15-1193641927
de.
2007-10-29 10:12
2007.12.02
Ищу книгу


1-1189609395
sshaitan
2007-09-12 19:03
2007.12.02
Перевод кодов символов формата Unicode в строку


15-1193684400
Evanescence
2007-10-29 22:00
2007.12.02
Redhat 9 на VirtualPC





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
Английский Французский Немецкий Итальянский Португальский Русский Испанский