Показать сообщение отдельно
Старый 30.07.2009, 13:33   #8  
TasmanianDevil is offline
TasmanianDevil
Мрачный тип
Аватар для TasmanianDevil
Злыдни
 
885 / 389 (14) ++++++
Регистрация: 24.01.2005
Адрес: Томск
Цитата:
Сообщение от mazzy Посмотреть сообщение
Но ведь такой подход работает полностью на клиенте. Разве не так?
Затрудняюсь ответить - из-за жития на 2-хзвенке не особо силен в тонкостях взаимодействия м-ду классами , исполняемыми на сервере и вызываемыми ими формами в части обмена разнотипными данными. Конкретно дело там обстоит следующим образом - поправьте меня, если где не прав :
самый тяжелый класс-хранилище мапы "ячейка => набор аналитик ячейки" объявлен, инициализируется и заполняется в наследнике RunBase, исполняемом в идеале на сервере. Перед окончанием исполнения, класс-хранилище инициализирует форму и копирует в SpreadSheet(банальным копипастом из Excel в SpreadSheet) только данные отчета. В форме, содержащей SpreadSheet, объявлен экземпляр такого же класса - хранилища, коему при инициализации формы присваивается значение вызывавшего это форму класса - т.е. уже готового заполненного хранилища, которое без этого присвоения стало бы недоступно из формы после генерации отчета и завершения работы нашим наследником RunBase. Передача и присвоение классов, как совсем даже таки не примитивных типов, если память мне не изменяет, происходит в DAX по ссылке. Однако вот не знаю точно, как и работает ли это вообще в трехзвенке, при попытке присвоения одному экземпляру класса, живущему на клиенте, ссылки на экземпляр класса, живущему на сервере. Нормально оно сошлется или будет создана новая копия класса со всеми данными ? Ответ на этот вопрос и будет ответом на Ваш.
Миниатюры
Нажмите на изображение для увеличения
Название: схема.jpg
Просмотров: 614
Размер:	70.8 Кб
ID:	4953  
__________________
Мы летаем, кружимся, нагоняем ужасы ...

Последний раз редактировалось TasmanianDevil; 30.07.2009 в 14:14. Причина: Схему добавил