Показать сообщение отдельно
Старый 27.02.2004, 10:02   #12  
Владимир Максимов is offline
Владимир Максимов
Участник
КОРУС Консалтинг
 
1,709 / 1201 (44) ++++++++
Регистрация: 13.01.2004
Записей в блоге: 3
Ошибка будет в любом случае в Run-Time вне зависимости от способа. На этапе компиляции не даст ошибки никакой из приведенных способов. Это легко проверить:

PHP код:
static void Job_Query(Args _args)
{
    
QueryBuildDataSource    qbds
    Query                   querySales
;
    
QueryRun                queryRunSales;
    ;

    
querySales  = new Query();
    
qbds querySales.addDataSource(tablenum(SalesTable));
    
qbds.addRange(fieldid2ext(fieldnum(SalesTable,dimension),10));
    
queryRunSales = new QueryRun(querySales);
    
queryRunSales.next();

Разумеется, нет поля Dimension[10], однако синтаксически, все абсолютно правильно. Компиляция проходит без ошибок! (у меня 2.5, может в 3.0 компилятор как-то поумнел?)

Ссылка на то, что название полей, таблиц и методов могут изменится в данном случае неуместна! В обоих случаях я должен писать имя таблицы и имя поля. Разница только в способе указания индекса массива - либо в качестве отдельного параметра, либо как реквизит имени поля.

Так что оба способа в данном случае абсолютно равноправны. Вопрос исключительно личных предпочтений.