14.09.2009, 14:40 | #21 |
Сам.AX
|
Цитата:
Сообщение от ZVV
ну во-первых покажите весь цикл,
а во-вторных, по мере ненадобности предыдущие "ассерты" надо отменять, я ж писал: X++: CodeAccessPermission::revertAssert(); Значит в начале итерации - assert, в конце - revertAssert... X++: InventDim inventDim; ProdJournalProd pjp; str _printStr; InventTrans inventTrans; InventTable inventTable; PrintLabel pL = new printLabel(); container cnt; TextIO txtFile; str printerName,scriptZebra; FileIOPermission fileIOperm; while select * from pjp where ProdJournalTable.JournalId == pjp.JournalId { while select * from inventTrans where inventTrans.InventTransId == pjp.InventTransId { while select * from inventDim where inventDim.inventDimId == inventTrans.inventDimId { select * from inventTable where inventTable.ItemId == ProdTable::find(pjp.ProdId).ItemId; //breakpoint; _printStr = inventTable.NameAlias; _printStr += "|"+date2str(pjp.TransDate,123,2,2,2,2,2); _printStr += "|"+inventDim.inventSerialId; _printStr += "|"+inventDim.InventLocationId; _printStr += "|"+inventTable.ItemId; _printStr += "| С/П"+int2str(ProdTable::find(pjp.ProdId).Height)+'X'+int2str(ProdTable::find(pjp.ProdId).Width)+'|'; cnt = pL.PrintMmethod(_printStr); printerName = conpeek(cnt,1); scriptZebra = conpeek(cnt,2); if (_clserv == 'client') // client { txtFile = new TextIo(printerName, "w", 866); txtFile.write(ansi2ascii(scriptZebra)); } else // server { fileIOperm = new FileIOPermission(printerName,"w"); fileIOperm.assert(); txtFile = new TextIo(printerName, "w", 866); txtFile.write(ansi2ascii(scriptZebra)); //Вот тут уходит в ошибку CodeAccessPermission::revertAssert(); } sleep(2000); } } } |
|
14.09.2009, 14:48 | #22 |
MCITP
|
А этот ваш метод как называется?
Чтобы сопоставить по приведённому стеку...
__________________
Zhirenkov Vitaly |
|
14.09.2009, 14:50 | #23 |
Сам.AX
|
|
|
14.09.2009, 16:07 | #24 |
Сам.AX
|
Вобщем оставил условие определения клиента и сервера и на сервере запускаю так:
X++: fileIOperm = new FileIOPermission(printerName,"w"); fileIOperm.assert(); paramStr = scriptZebra + " > "+printerName; WinApi::shellExecute("cmd","/c ECHO "+paramStr,'','',0); CodeAccessPermission::revertAssert(); |
|
Теги |
winapi, печать, печать этикеток |
|
|