Показать сообщение отдельно
Старый 07.11.2009, 00:19   #3  
corner77 is offline
corner77
Участник
 
18 / 25 (1) +++
Регистрация: 28.04.2009
Тот Query, который Вы создаете в методе initParmDefault() и тот Query, который находится внутри объекта QueryRun физически разные объекты. То есть, когда выполняется new QueryRun(query), то QueryRun не использует Ваш созданный Query by reference, а копирует его в новый - точную копию Вашего. Но он уже будет в другой области памяти а переменная qbrDate ссылается на старый range, который уже фактически не используется. Поэтому, если в конце initParmDefaul() стоит queryRun = new QueryRun(query), то присваивание qbrDate нужно делать на основании queryRun.query(). Правда тогда нужно не забыть что queryRun создается как правило еще и в методе unpack(). Так что лучше использовать явное обращение через queryrun.query().DatasourceTable(tableNum(LedgerTrans)).findRange(...)
За это сообщение автора поблагодарили: propeller (1).