|
21.10.2008, 13:32 | #1 |
MCTS
|
Передать данные с сервера на клиент при формировании Excel отчета
Суть задачи в следующем. Пробег по данным осуществляется на сервере и там же формируется текстовая строка для XML. Каждый раз, когда количество строк превышает некоторое значение, оформленный текстовый буфер нужно передать на клиент.
Вопрос в том, как передать этот буфер на клиент, и как оповестить клиентский класс о том, что ему передается очередная порция данных? |
|
21.10.2008, 14:07 | #2 |
Ищущий знания...
|
может создать класс с CalledFrom=Client и в него параметром передавать? и уже в нем делать всё что нужно на клиенте.
__________________
"Страх перед возможностью ошибки не должен отвращать нас от поисков истины." (с) С Уважением, Елизаров Артем |
|
21.10.2008, 14:18 | #3 |
MCTS
|
так я об этом и говорю. Создать два класса, один запускается на клиенте, и запускает второй класс на сервере. При этом клиентский класс запускает excel, и запускает процедуру серверного класса (пробег по данным). Каждый раз, когда в серверной процедуре готова очередная порция данных, нужно клиенту каким-то образом ее забрать (это еще можно решить) и вывести в невидимый еще excel, а вот как серверный класс в своей процедуре может оповестить клиент, о том, что подготовил данные, и клиент может их забрать?
|
|
21.10.2008, 14:28 | #4 |
Member
|
Если вы хотите чтобы полка один класс считает второй мог выводить, то это вам нужно про thread почитать.
__________________
С уважением, glibs® |
|
21.10.2008, 14:42 | #5 |
MCTS
|
понятно, а можно спросить какого размера данные можно засунуть в str?
|
|
21.10.2008, 14:45 | #6 |
Участник
|
А кто мешает серверному классу дергать методы в вызвавшем его классе?
__________________
Axapta v.3.0 sp5 kr2 |
|
|
За это сообщение автора поблагодарили: Eldar9x (1). |
21.10.2008, 15:22 | #7 |
MCTS
|
X++: ? |
|
21.10.2008, 15:34 | #8 |
Участник
|
Посмотрите на RunBase, он так и работает, когда настроено выполнение на сервере
__________________
Axapta v.3.0 sp5 kr2 |
|
21.10.2008, 15:24 | #9 |
Member
|
Есть еще TextBuffer, если что.
Я сталкивался с очень серьезным падением производительности функции выделения подстроки, если строка очень длинная. Что вы с ней делать собираетесь? Возможно, контейнер из строк окажется эффективнее. И вы эту строку собираетесь гонять между клиентом и сервером? Думаю, даже если какой-то предел существует, вы в него не упретесь .
__________________
С уважением, glibs® |
|
21.10.2008, 15:36 | #10 |
MCTS
|
Цитата:
Я сталкивался с очень серьезным падением производительности функции выделения подстроки, если строка очень длинная.
X++: ? |
|
21.10.2008, 15:39 | #11 |
MCTS
|
Цитата:
Посмотрите на RunBase, он так и работает, когда настроено выполнение на сервере
|
|