![]() |
#7 |
Участник
|
Цитата:
Сообщение от imir
![]() Функция, запускающая поток всегда принимает контейнер и отдает тоже контейнер, при запуске в потоке - у вас есть объект thread, не теряйте его, подождите ответа (в цикле со sleep допустим), ответ получается thread.getOutputParm (на память).
UPD По try catch можно отловить момент возникновения варинингов и ерроров, в обработчике пакуйте инфолог и OutputParm его X++: static client void runThread(Thread t) { real x=10, y, z; container retVal; ; try { z = x/y; } catch (exception::error) { retVal = [infoLog.num()]; t.setOutputParm(retVal); throw exception::error; } retVal = [infoLog.num()]; t.setOutputParm(retVal); } X++: static client Thread run() { Thread t = new Thread(); ; t.run( classnum( TutorialThread ), identifierstr(runThread)); info(con2str(t.getOutputParm())); } |
|
Теги |
thread |
|
|