|
[gt.m] Команда Xecute
|
|||
---|---|---|---|
#18+
gluconat_ca, Раньше, для десктопных приложений это проблему я решил написав функцию (VB6) на стороне клиента. (Xecute) используя сокет Код: vbnet 1. 2. 3. 4. 5. 6. 7.
А ошибки ловил в переменную Код: vbnet 1.
А здесь задача словить их на сервере ... Я испробовал много, но безрезультатно. Как не вертись ошибка на терминале выскакивает. Можно так, напрямую, но это тоже не выход - у меня клиент на ВЕБ. Код: plaintext 1. 2.
А вот что испробовал и не только .. Код: plaintext 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. 19. 20. 21.
... |
|||
:
Нравится:
Не нравится:
|
|||
26.10.2016, 16:24 |
|
[gt.m] Команда Xecute
|
|||
---|---|---|---|
#18+
Valeriu, Для PIPE есть параметр открытия, называется он 'stderr', который поможет принять основной программе вывод в stderr того, что запускается через PIPE. ... |
|||
:
Нравится:
Не нравится:
|
|||
26.10.2016, 16:43 |
|
[gt.m] Команда Xecute
|
|||
---|---|---|---|
#18+
gluconat_ca, Пробовал: Код: plaintext 1. 2. 3. 4. 5.
... |
|||
:
Нравится:
Не нравится:
|
|||
26.10.2016, 16:59 |
|
[gt.m] Команда Xecute
|
|||
---|---|---|---|
#18+
Valeriu, Компилируйте по-другому. Гоним все stdXXX во временный файл: zsystem "mumps routine.m > /tmp/appname"_$j_".output 2>&1 3>&1" Гоним временный файл в текущий девайс: zsystem "cat /tmp/appname"_$j_".output" Чистимся: zsystem "rm /tmp/appname"_$j_".output" Подключаем рутину: zlink "' + AName + '.m" ... |
|||
:
Нравится:
Не нравится:
|
|||
26.10.2016, 16:59 |
|
[gt.m] Команда Xecute
|
|||
---|---|---|---|
#18+
Valeriugluconat_ca, Пробовал: Код: plaintext 1. 2. 3. 4. 5.
Код: plaintext 1. 2. 3. 4. 5. 6. 7. 8.
Код: plaintext 1.
... |
|||
:
Нравится:
Не нравится:
|
|||
26.10.2016, 17:59 |
|
[gt.m] Команда Xecute
|
|||
---|---|---|---|
#18+
(с подачи ну я) вызов mumps в параметре command можно упростить. Код: plaintext
... |
|||
:
Нравится:
Не нравится:
|
|||
26.10.2016, 18:24 |
|
[gt.m] Команда Xecute
|
|||
---|---|---|---|
#18+
gluconat_ca and Евгений !!! Спасибо большое !!! То что надо ! А я все таки неправильно делал.. ;) Код: plaintext 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. 19. 20. 21. 22. 23. 24. 25. 26. 27. 28. 29. 30. 31. 32. 33. 34. 35. 36. 37. 38. 39. 40. 41. 42. 43.
Код: plaintext 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17.
... |
|||
:
Нравится:
Не нравится:
|
|||
26.10.2016, 19:57 |
|
[gt.m] Команда Xecute
|
|||
---|---|---|---|
#18+
Я пропустил саму команду ZLINK, но это по документации как бы не ошибка Код: plaintext 1.
Добавил в коде. Еще раз спасибо. ... |
|||
:
Нравится:
Не нравится:
|
|||
26.10.2016, 20:19 |
|
[gt.m] Команда Xecute
|
|||
---|---|---|---|
#18+
Valeriu, Там еще нюансик. Используется имя рутины для образования имени файла с расширением m. И если первый символ имени рутины процент, то заменяется на подчеркивание. Код: plaintext 1.
... |
|||
:
Нравится:
Не нравится:
|
|||
26.10.2016, 21:10 |
|
[gt.m] Команда Xecute
|
|||
---|---|---|---|
#18+
ну я, Да, в курсе. Я там вроде учел. ... |
|||
:
Нравится:
Не нравится:
|
|||
26.10.2016, 21:15 |
|
[gt.m] Команда Xecute
|
|||
---|---|---|---|
#18+
А в идеале это должно выглядеть примерно так: Код: plaintext 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14.
... |
|||
:
Нравится:
Не нравится:
|
|||
27.10.2016, 07:54 |
|
[gt.m] Команда Xecute
|
|||
---|---|---|---|
#18+
Valeriu, кое-что лишнее Код: plaintext
Код: plaintext
... |
|||
:
Нравится:
Не нравится:
|
|||
27.10.2016, 09:05 |
|
[gt.m] Команда Xecute
|
|||
---|---|---|---|
#18+
Ёлы палы,из-за копи паста остались ещё лишние закорючки: Код: plaintext 1. 2. 3. 4.
... |
|||
:
Нравится:
Не нравится:
|
|||
27.10.2016, 09:25 |
|
[gt.m] Команда Xecute
|
|||
---|---|---|---|
#18+
Valeriu, надо бы ещё перед close p поставить use io если уж приближаться к идеальному рабочему коду :) ... |
|||
:
Нравится:
Не нравится:
|
|||
27.10.2016, 09:33 |
|
[gt.m] Команда Xecute
|
|||
---|---|---|---|
#18+
gluconat_ca, Первоначально примерно так и было. Думал так будет правильнее. Я как делаю. С начало сохраняю как простой текст в файле. (.m) Потом само компилирование и запись в object файле (.o) Хотя команда DO предполагает компилирование(выше указал) думаю , что ZLINK должен быть в любом случае, а старый файл (.о) удалить. Во всяком случае вопрос как бы уже отработан. Остались нюансы. ... |
|||
:
Нравится:
Не нравится:
|
|||
27.10.2016, 09:37 |
|
[gt.m] Команда Xecute
|
|||
---|---|---|---|
#18+
Valeriu, В любом случае ненужные переключения между устройствами надо бы убрать, вне зависимости от использования или не использования этого кода в 'продакшене'. Код: plaintext 1.
Код: plaintext 1. 2. 3. 4.
... |
|||
:
Нравится:
Не нравится:
|
|||
27.10.2016, 09:49 |
|
[gt.m] Команда Xecute
|
|||
---|---|---|---|
#18+
gluconat_ca, Да. Спасибо. Согласен. Еще предстоит мне пробовать словить ошибку при использованием команде ZWRITE. Вроде как бы понятно, но там есть нюансик. При выборе в команде маску для глобала и если она без ошибок, тогда все ОК. Например: zwr ^glob(,8924,*) Если ошибка при выборе например zwr ^glob(,8924*) (просто забыли запятую), тогда приложение зависает. Код: plaintext 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. 19. 20. 21. 22. 23. 24. 25. 26. 27. 28.
Код: plaintext 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12.
... |
|||
:
Нравится:
Не нравится:
|
|||
27.10.2016, 10:09 |
|
[gt.m] Команда Xecute
|
|||
---|---|---|---|
#18+
Valeriugluconat_ca, Хотя команда DO предполагает компилирование(выше указал) думаю , что ZLINK должен быть в любом случае, а старый файл (.о) удалить. Во всяком случае вопрос как бы уже отработан. Остались нюансы. Если задача стоит в выявлении ошибок компиляции программы, для этого нужно использовать вызов mumps с нужными ключами. ZLINK подключает (прилинковывает) к текущему M-процессу новую или модифицированную программу, автоматически компилируя её. Так что он нужен больше тогда когда нужно что-то менять во время работы. Я понял так, что речь больше шла о проверке на компилируемость без ошибок. Вторая цель требует тщательного изучения документации, тем более что в последн(-ей,-их) верси(-и,-ях) gt.m есть нововведения по этой части. ... |
|||
:
Нравится:
Не нравится:
|
|||
27.10.2016, 10:10 |
|
[gt.m] Команда Xecute
|
|||
---|---|---|---|
#18+
Valeriu, А почему бы не использовать предварительную проверку аргумента ZWRITE на 'валидность' ? ... |
|||
:
Нравится:
Не нравится:
|
|||
27.10.2016, 10:17 |
|
[gt.m] Команда Xecute
|
|||
---|---|---|---|
#18+
gluconat_ca, Это тоже вариант, но уже сложнее мне кажется... Во всяком случае посмотрю и этот. Спасибо. ... |
|||
:
Нравится:
Не нравится:
|
|||
27.10.2016, 10:23 |
|
[gt.m] Команда Xecute
|
|||
---|---|---|---|
#18+
Коллеги Valeriu, gluconat_ca, и другие читающие этот форум, но скромно молчащие о своём интересе к M[UMPS]-системам. Есть предложения, которые, возможно, вас заинтересуют. Киньте сообщение на почту в профиле; обещаю ответить каждому. ... |
|||
:
Нравится:
Не нравится:
|
|||
02.11.2016, 10:30 |
|
|
start [/forum/topic.php?fid=39&msg=39339766&tid=1556414]: |
0ms |
get settings: |
8ms |
get forum list: |
12ms |
check forum access: |
3ms |
check topic access: |
3ms |
track hit: |
160ms |
get topic data: |
9ms |
get forum data: |
2ms |
get page messages: |
49ms |
get tp. blocked users: |
1ms |
others: | 12ms |
total: | 259ms |
0 / 0 |