|  13.09.2006, 16:33 | #1 | 
| Участник | Вызов edit метода через callObject 
			
			Привет Вызываю через dictClass.callObject(formControlObject.dataMethod(), ds, cursor)); метод на DS, но вот если данный метод -edit, то нужно передавать другие параметры(set передавать) ! Как понять является ли метод edit-методом? пробую через dictMethod.displayType() но возвращает None.   | 
|  | 
|  13.09.2006, 19:44 | #2 | 
| Участник | PHP код: 
			Пробовала заменить на PHP код: 
			Что делаю не так?   | 
|  | 
|  13.09.2006, 23:47 | #3 | 
| Administrator | 
			
			Думаю, что вряд ли данные классы сообщат о методе на датасорсе. Ведь тот факт, что переменная ds имеет какие-либо методы знает только форма. Т.е. вызвать метод можно, но заранее зная что он там есть и заранее зная сколько параметров нужно передать. Т.е. в поставленной задаче в лоб решение вряд ли будет. Наверняка есть "обходной" маневр - и несложный. Если не получится "обойти" - расскажите подробнее - какие данные есть на входе и что хочется получить на выходе. Думаю, что решение будет 
				__________________ Возможно сделать все. Вопрос времени | 
|  | 
|  14.09.2006, 10:14 | #4 | 
| Участник | 
			
			Судя по кускам кода в аксапте dictMethod.displayType должен вернуть тип Edit/display так что моя загвоздка в том, что я неправильно  получаю dictMethod и MethodInfo(все равно что из этого брать).  Поэтому вопрос свелся к получению dictMethod для методода на DS. Приведенными путями он почему-то не берется. Но вот как правильно его получить?   | 
|  | 
|  14.09.2006, 10:32 | #5 | 
| Moderator | 
			
			А никак. Собственно, sukhanchik все уже изложил как есть - для datasource нельзя получить описание метода. Хотя, может быть можно что-то через TreeNode вытащить... 
				__________________ Андрей. | 
|  | 
|  14.09.2006, 12:07 | #6 | 
| Участник | 
			
			1. Находим TreeNode, который соответствует методу 2. Берем ParserClass и выдираем параметры | 
|  | 
|  14.09.2006, 14:58 | #7 | 
| Участник | 
			
			Товарищи! Свершилось! Решение найдено! Спасибо всем! Кому интересно: подсмотрено вот тут xRefNamesSpecial метод fetchUnusedMethods(): PHP код: 
			И еще хочу добавить, по ходу решения нашла, что можно написать вот так: PHP код: 
			Но вот желаемый метод displayType работает неверно, почему-то. Последний раз редактировалось kitty; 14.09.2006 в 15:03. | 
|  | 
|  14.09.2006, 15:18 | #8 | 
| Участник | X++: static void Job33(Args _args) { boolean hasDisplay(str _s) { #TokenTypes ScannerClass s=new ScannerClass(_s); int token; ; token=s.firstSymbol(); while(token) { if(token==#DISPLAY_SYM) return true; token=s.nextSymbol(); } return false; } ; info(hasDisplay('display int test(){}')?'Y':'N'); info(hasDisplay('displayTable test(){}')?'Y':'N'); } | 
|  | 
|  14.09.2006, 15:28 | #9 | 
| Участник | 
			
			интересно!
		 | 
|  | 
|  14.09.2006, 16:29 | #10 | 
| Участник | |
|  |