Соединяюсь с фискальником. Разжимаю бумагу в ролике, загорается индикатор "ОШИБКА ЧЕК ЛЕНТЫ". Затем пытаюсь напечатать Х-отчет и следом проверяю готовность принтера:
Код: Выделить всё
MSK.OlePropertySet("ТипОтчета", 4);
result = MSK.OleFunction("НапечататьОтчетБезГашения", devID2);
idErr = MSK.OleFunction("ПолучитьОшибку", &err_descr);
if(result == VARIANT_TRUE)
Form1->memoInfo->Lines->Append(WideString("Печатаем отчет без гашения...ok"));
else
Form1->memoInfo->Lines->Append(WideString("Печатаем отчет без гашения...error ") + err_descr);
Form1->memoInfo->Lines->Append(L"\n");
WideString prnReady;
result = MSK.OleFunction("ПроверитьГотовностьПринтера", devID2, &prnReady);
if(result == VARIANT_TRUE)
Form1->memoInfo->Lines->Append(WideString("Проверяем готовность принтера...ok ") + prnReady);
else
Form1->memoInfo->Lines->Append(WideString("Проверяем готовность принтера...error ") + err_descr);
Form1->memoInfo->Lines->Append(L"\n");
Возможно у Вас он рапортует о готовности именно поэтому, наверное Вы откинули ролик и попытались прочесть статус без выполнения какой-либо команды, вот драйвер и отдал статус предыдущей (видимо удачно выполненной )команды. Думаю здесь небольшой косяк, поправлю