Показать сообщение отдельно
Старый 21.10.2005, 11:17   #1  
Roman. ~RVS is offline
Roman. ~RVS
Участник
Аватар для Roman. ~RVS
 
26 / 10 (1) +
Регистрация: 08.10.2004
Адрес: Москва
Angry Я может быть что-то не так делаю?! qbds2 = _qbds2; - ошибка.
ситуация такая:

есть родительский класс, у которого в декларации живут query и qbds.
до этих объектов есть методы доступа на чтение.

есть метод класса addDataRange(), который вешает фильтры на qbds.

есть класс потомок в котором в декларации qbds2.

перекрыт метод addDataRange(), в котором после супера стояла строчка

qbds2 = this.qbds().addDataSource(...);

это приводило к ошибке "Ошибка времени выполнения. : Неправильные типы аргументов в операции присвоения значения переменной."

сделал так:
завел локальные переменные метода qbds0 = this.qbds(); tempQbds;

строка tempQbds = qbds0.addDataSource(...) работает без вопросов, а стокой ниже
qbds2 = tempQbds вызывает ту же ошибку.

сделал метод доступа для qbds2
QueryBuildDataSource qbds2(QueryBuildDataSource _qbds2 = qbds2)
{
;
qbds2 = _qbds2;
return qbds2;
}

строку переделал на
this.qbds2(tempQbds);
- ошибка переместилась в метод доступа на присвоении.

вопрос: что я делаю не так?!?! классы Query*** это что-то такое, что не работает как остальные чтоли?! раньше такого за ними не было замечено вроде.

что делал: перекомпилировал по 10 раз по всякому, менял название qbds2 на что-нибудь другое, экспортировал/импортировал класс - не помогает НИЧЕГО.

иногда аксапта на присвоении валится, а один раз выдала сообщение "Internal fujl" с кнопокой [ОК]

не, ну что за фигня-то? если я в чем-то не прав, так и скажите...