BEST logo логотип компании БЭСТ - программы для бизнеса ПРОДАЖИ
+7 (991) 312-04-37
trade@bestnet.ru
ПОДДЕРЖКА
+7 (495) 775-66-76
consult@bestnet.ru
СКАЧАТЬ
Обновления
Дистрибутивы
Авторизация

Логин:
Пароль:
Забыли свой пароль?
Регистрация
ВАШ ВОПРОС

Доступ к Личному кабинету закрыт!
Как получить доступ?


Главная  / Поддержка  / Форум  / Публичные форумы  / Программирование приложений  / Макроподстановка в плагине без компиляции

Форум

Поиск  Пользователи  Правила 
Закрыть
Логин:
Пароль:
Забыли свой пароль?
Регистрация
Войти
 
Страницы: 1
RSS
Макроподстановка в плагине без компиляции
 
Здравствуйте!
Нужно данные из n количества массивов объединить в один
в данном примере - из трех массивов

Код
Private i,j ,aMas1,aMas2,aMas3,aR,aVidn
aMas1:={'1','2','3'}
aMas2:={'4','5','6'}
aMas3:={'7','8','9'}
i:= 1
Do while i<= 3
aR:=&('"aMas"+alltrim(str(i))')
  if i<>2
     aeval(&aR,{|x|aadd(aVidn,x)})
  endif
i:= i+1
enddo
sayandwait(aVidn)
return
 
Если этот код скомпилировать в hrb ,то все работает!

А если я его запускаю без компиляции ( файл frm),
то массив aVidn пустой.
 
Никаких макроподстановок (&) в fileeval() быть не может.
Максимум что можно - это использовать функцию FormulParsBlock(cFormul, aPars), которая возвратит блок кода, который можно исполнить в aeval или dbeval
Пишите hrb и вызывайте его из fileeval() c помощью hfileeval()
С уважением, Новиков Алексей.
 
Делаете этот код в hrb и запускаете его из FileEval
HFILEEVAL('имя функции',{aMas1,aMas2,aMas3})
как то так
Страницы: 1
Читают тему (гостей: 1)