Я не могу придумать способ сделать что-то вроде этого: у меня есть взаимодействие с C# с другим устройством с использованием последовательного порта, и это устройство может иногда иметь прерывания, которые блокируют выполнение на себе , но после того, как она была исправлена, операция продолжается до тех пор, пока она не закончится.Возвращаемые данные при выполнении метода блокировки
Например, подумайте о принтере, на принтере начнет печатать 100 заданий, но в принтере 70 документов, поэтому принтер печатает 70 страниц, а затем предупреждает пользователя через ПК, чтобы положить больше документов в лоток. после того как пользователь помещает бумагу в нее, печать продолжается и после окончания печати принтер отправляет результат на ПК.
Это ситуация, но происходит быстрее, чем принтер. Как я могу закодировать что-то вроде этого? Например:
private void StartPrinting()
{
boolean bIsPrinted = SendPrinterDocument("p100.pdf");
}
private void ShowPaperOutError()
{
MessageBox.Show("Paper is out. Please load some papers");
}
Если у вас есть только этот SendPrinterDocument()
метод, и он блокирует выполнение приложения, как это в библиотеке DLL, как бы вы вызвать ShowPaperOutError()
сообщение?
FYI У меня есть доступ ко всем кодам, программному обеспечению ПК (C#), DLL (C#) и устройству (C) и их компиляция.
Как вы называете свой 'ShowPaperOutError'? Через событие? –
Это еще не называется :) Я пытаюсь найти разумный способ назвать это, сохраняя активную печать. –