DataSnap и TMemoryStream

Janex
Дата: 01.06.2011 09:56:41
Привет всем.
Посмоитрел пример DataSnap-а от сюда http://edn.embarcadero.com/article/41338
Там пример как передавать с клиета серверу TObject.
Там обект типа:

TPerson = class(TObject)
  private
    FLastName: string;
    FFirstName: string;
...
...
  end;

Всё работает как в сказке, но вотзахотелось вместе с обектом передать и какоито стрим, типо:
  TPerson = class(TObject)
  private
  FMyStream :TMemoryStream;
...
...
End;

И тут копец :( Обект вроде как передаётся, на сервере виден даже размер стрима, но если
стрим записать в фаил то клиент получает ошибку "stream read error".

Вот ктото можбить докопался чё надо делать чтоб передавать стрими туди-сюди ?

WBR
Janex
Michael Longneck
Дата: 01.06.2011 10:40:21
Может надо просто Stream пытаться писать с начала, выставив Position перед записью?
lena_ki
Дата: 01.06.2011 10:48:37
автор
Посмоитрел пример DataSnap-а от сюда http://edn.embarcadero.com/article/41338


Может кому интерсно, есть и на русском: http://edn.embarcadero.com/article/41384
Другие примеры: http://blogs.embarcadero.com/vsevolodleonov
Квейд
Дата: 01.06.2011 10:59:28
Janex
Вот ктото можбить докопался чё надо делать чтоб передавать стрими туди-сюди ?
Передавать строку?
Janex
Дата: 01.06.2011 11:33:50
Michael Longneck
Может надо просто Stream пытаться писать с начала, выставив Position перед записью?


Position =0 конешно выставляю.

Ок, обявил TStream и передаю её.
Но опятаки глупии вопрос - как мне в TStream засунуть, например
фаил ?
Делаю один a: TmemoryStream, потом а.loadfromfile - Ok.
A как шас перепыхнуть данные с TmemoryStream в TStream;

На все попытки типо WriteBuffer, SaveToStream получаю "Abstract error" :(

WBR
Janex


P.S
Delphi XE
Tactical Nuclear Penguin
Дата: 01.06.2011 11:41:46
Janex

На все попытки типо WriteBuffer, SaveToStream получаю "Abstract error" :(


потому что TStream - абстрактный класс
Janex
Дата: 01.06.2011 11:46:47
Tactical Nuclear Penguin
Janex
На все попытки типо WriteBuffer, SaveToStream получаю "Abstract error" :(


потому что TStream - абстрактный класс


И ???
Как тогда мне через обект, в котором продекларирован TStream (как мне советовали) прогнать
фаил с клиента в сервер DataSnap-a ?

WBR
Janex
demian111
Дата: 01.06.2011 11:50:34
Janex
Как тогда мне


А Вам известны какие либо наследники класса TStream ?
Может стоит ознакомиться?
Janex
Дата: 01.06.2011 12:01:34
demian111
Janex
Как тогда мне


А Вам известны какие либо наследники класса TStream ?
Может стоит ознакомиться?


Вроде известны, пробовал и TMemorystream и TStringStream, но чтото
некатить ....

Подозреваю что стрими так в датаснапе непередать :(

WBR
Janex
demian111
Дата: 01.06.2011 12:11:05
Janex
но чтото
некатить ....


Ну че, тоды неподвезло тебе чтото сегодня, может завтра покатит, а пока можно в библиотеку сходить, почитать там че нить как бороться с тем что "некатит чтото".

з.ы.
"некатит чтото" это не пацанский ответ, нужно же разобраться, почему не катит ... и жестко вылечить, чтобы оно летало ...
А креатить TStream не стоит (шаманишь), и как тебе тут уже сказали он абстрактен