08.12.2006, 10:21 | #1 |
Участник
|
Проблема в следующем.
При обработке следующего оператора выдает сообщение: Reduce the expression so it is less complex. Text_ERROR:=AnyCOM.AnyMethod('SP','IC','sa','11',0,50500,Code,Name_1,Name_2,'','', '1900-01-01','1900-01-01',0,0,0,Rate,'0.0','0','0','0','0'); Где AnyCom является переменной типа Automation, а AnyMethod - яв-ся его методом, которому нужно передать 22 параметра. Как сделать чтобы избежать ошибочное сообщение и передать 22 параметра? |
|
08.12.2006, 11:20 | #2 |
MCTS
|
Подобное встречал в теме: http://forum.mazzy.ru/index.php?showtopic=...9%20параметров# в самом конце.
Цитата:
Есть правда одно но: последний параметр надо удалить. Оказалось что навик не передает более 19 параметров в функцию!
|
|
08.12.2006, 11:39 | #3 |
Участник
|
А нельзя это как-нибудь обойти и всё таки передать более 19 параметров? Или где можно более подробно почитать об этом?
|
|
08.12.2006, 16:30 | #4 |
Участник
|
Наверное можно написать в объекте 22 функциив, каждая из которых будет устанавливать отдельный параметр. Либо сгруппировать параметры тематически и написать меньше функций установки, передавая сразу несколько значений. А затем вызвать AnyCom, параметры для которой уже будут известны в объекте.
|
|
08.12.2006, 16:38 | #5 |
Участник
|
Цитата:
Сообщение от romeo
Наверное можно написать в объекте 22 функциив, каждая из которых будет устанавливать отдельный параметр. Либо сгруппировать параметры тематически и написать меньше функций установки, передавая сразу несколько значений. А затем вызвать AnyCom, параметры для которой уже будут известны в объекте.
А если компонент внешний, значит надо использовать субкомпонент, куда передать эти 22 два параметра несколькими вызовами. Под субкомпонентом понимаю, например, Excel с VBA, или другой Automation объект, который может сам создвать Automation объекты и передавать более 19 параметров. Сам не пробовал, не знаю, с какими проблемами можно будет столкнуться. |
|
22.12.2006, 12:09 | #6 |
Участник
|
Спасибо, за советы. Проблема разрешена
Решил проблему следующим образом. AnyCOM использовал самописный. Разбил передаваемые параметры на группы по 17 параметров (18 параметров Navision не хочет передавать), а в самом AnyCOM собрал обять их в кучу и передал дальше одним вызовом. |
|