TClientDataSet - SaveToStream выбрасывает нарушение прав доступа - PullRequest
0 голосов
/ 07 августа 2009

У меня проблема с сохранением данных в поток с помощью ClientDataSet.

Я помещаю данные в ClientDataSet и пытаюсь:

...
var
strmBENU: TMemoryStream;


implementation    
...

TForm1.Button1Click(Sender: TObject);
begin
  ClientDataSet1.SaveToStream(strmBENU);
end;

...

Нажав кнопку1, вот что я получаю:

Нарушение прав доступа по адресу 0049CEB2 в модуле 'Project2.exe'. Адрес для чтения 00000000.

Что я делаю не так?

Ответы [ 2 ]

3 голосов
/ 07 августа 2009

Возможно, поток не создан. Попробуйте это:

TForm1.Button1Click(Sender: TObject);
var
  strmBENU: TMemoryStream;
begin
  strmBENU := TMemoryStream.Create;
  try
    ClientDataSet1.SaveToStream(strmBENU);
    // do stuff with stream
  finally
    strmBENU.Free;
  end;
end;
2 голосов
/ 07 августа 2009

Похоже на пустую ссылку. Вы создали strmBENU?

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...