Вот так работают все функции, кроме pirit_libGetStatusFlags и pirit_libGetCountersAndRegisters, которые должны возвращать структуру mdata. При их вызове приложение падает.
Код: Выделить всё
MODULE('piritlib.dll')
pirit_openPort(*cstring port, LONG speed),LONG,RAW,PASCAL,PROC,DLL(_openPort_),name('openPort')
pirit_closePort(),LONG,RAW,PASCAL,PROC,DLL(_closePort_),name('closePort')
pirit_checkPortAsync(*cstring port, LONG speed),LONG,RAW,PASCAL,PROC,DLL(_checkPortAsync_),name('checkPortAsync')
pirit_commandStart(),LONG,RAW,PASCAL,PROC,DLL(_commandStart_),name('commandStart')
pirit_libGetStatusFlags(),LONG,RAW,PASCAL,PROC,DLL(_libGetStatusFlags_),name('libGetStatusFlags')
pirit_getStatusFlags(*LONG, *LONG, *LONG),LONG,RAW,PASCAL,PROC,DLL(_getStatusFlags_),name('getStatusFlags')
pirit_getKKTInfo(BYTE, *CSTRING),LONG,RAW,PASCAL,PROC,DLL(_getKKTInfo_),name('getKKTInfo')
pirit_libGetCountersAndRegisters(BYTE),LONG,RAW,PASCAL,PROC,DLL(_libGetCountersAndRegisters_),name('libGetCountersAndRegisters')
pirit_scrollPaper(),LONG,RAW,PASCAL,PROC,DLL(_scrollPaper_),name('scrollPaper')
pirit_libCutDocument(),LONG,RAW,PASCAL,PROC,DLL(_libCutDocument_),name('libCutDocument')
pirit_libOpenDocument(BYTE, BYTE, *CSTRING, LONG ),LONG,RAW,PASCAL,PROC,DLL(_libOpenDocument_),name('libOpenDocument')
pirit_libCancelDocument(),LONG,RAW,PASCAL,PROC,DLL(_libCancelDocument_),name('libCancelDocument')
pirit_libPrintString(*CSTRING str, BYTE attr),LONG,RAW,PASCAL,PROC,DLL(_libPrintString_),name('libPrintString')
END