Я использую ProgressMonitorDialog
с IRunnableWithProgress
, чтобы прочитать файл в фоновом режиме.ProgressMonitorDialog и взаимодействие с пользователем
Если во время обработки этого файла произошла ошибка (данные не соответствуют тем, что я ожидаю), я хотел бы попросить пользователя, если он/она хочет продолжить следующую строку.
Проблема в том, что, чтобы спросить пользователя, хотят ли они продолжить, мне нужно будет открыть диалог. Отображение диалога из потока, отличного от UI, включает использование Display.asyncExec()
или Display.syncExec()
. Чтобы вернуть результат (решение пользователя) в фоновый поток, мне пришлось бы использовать обратный вызов.
Проблема в том, что когда я получаю результат в обратном вызове в фоновом потоке, как я могу продолжить чтение файла? Или, другими словами, как я могу приостановить выполнение фонового потока до тех пор, пока обратная связь не вернется, а затем продолжит его?
Я открыт для предложений и готов реструктурировать свою среду для обеспечения такого поведения.
Позвольте мне дать, что попробовать и получить обратно к вам. – Baz
Да, это сработало просто отлично. Спасибо, greg. Он слишком долго смотрел на нее, чтобы увидеть это. – Baz