📄 copy of runtime.cpp
字号:
/*************************************************************************
File: runtime.cpp - Dynamic link functions.
HISTORY
02/02/1996 DES created.
**************************************************************************/
//#ifdef _MSC
#include "stdafx.h"
//#endif
#pragma hdrstop
#define NO_EXTERN
#include "runtime.h"
#undef NO_EXTERN
//************************************************************************
// Function instants for runtime linking
//************************************************************************
HINSTANCE hPmacLib = NULL;
BOOL DO_NC_FUNCTIONS = true;// TRUE by default
//----------------------------------------------------------------------------
void DoNCFunctions(BOOL yesno)
{
DO_NC_FUNCTIONS = yesno;
}
//----------------------------------------------------------------------------
FARPROC GetFuncAddress(HMODULE hModule,LPCSTR lpProcName)
{
char tmp[256];
FARPROC adr;
adr = GetProcAddress(hModule,lpProcName);
if (adr == NULL)
{
sprintf(tmp,"Error in loading library function: %s",lpProcName);
MessageBox(NULL,tmp,"",MB_ICONSTOP | MB_OK);
}
return adr;
}
//----------------------------------------------------------------------------
void CloseRuntimeLink()
{
if (hPmacLib != NULL)
{
FreeLibrary(hPmacLib);
hPmacLib = NULL;
}
}
// Macro to make things consistant and easier
#define DLL_LINK(var,type,name) var=(type)GetFuncAddress(hPmacLib,name); \
if (var==NULL) goto load_err
//----------------------------------------------------------------------------
HINSTANCE OpenRuntimeLink()
{
// Get handle to PComm32.DLL
hPmacLib = LoadLibrary(DRIVERNAME);
if (hPmacLib == NULL)
{
MessageBox(NULL,"Error in loading PMAC library.","PMAC",MB_ICONSTOP | MB_OK | MB_TOPMOST);
return NULL;
}
else
{
// Get all COMM the function handles required
DLL_LINK(DeviceDPRPCITest ,PMACDPRPCITEST ,"PmacDPRPCITest");
DLL_LINK(DeviceOpen ,OPENPMACDEVICE ,"OpenPmacDevice");
DLL_LINK(DeviceSelect ,SELECTPMACDEVICE ,"PmacSelect");
DLL_LINK(DeviceNumberOfDevices ,NUMBEROFDEVICES ,"DrvNumberOfDevices");
DLL_LINK(DeviceClose ,CLOSEPMACDEVICE ,"ClosePmacDevice");
DLL_LINK(DeviceSetLanguage ,PMACSETLANGUAGE ,"PmacSetLanguage");
DLL_LINK(DeviceLMH ,PMACLMH ,"PmacLMH");
DLL_LINK(DeviceSetWindow ,PMACSETWINDOW ,"PmacSetWindow");
DLL_LINK(DeviceSetLanguageModule ,SETLANGUAGEMODULE ,"SetLanguageModule");
DLL_LINK(DeviceConfigure ,CONFIGURE ,"PmacConfigure");
DLL_LINK(DeviceLoadString ,SZLOADSTRINGA ,"szLoadStringA");
DLL_LINK(DeviceReadReady ,READREADY ,"PmacReadReady");
DLL_LINK(DeviceSendLine ,SENDLINEA ,"PmacSendLineA");
DLL_LINK(DeviceGetLine ,GETLINEA ,"PmacGetLineA");
DLL_LINK(DeviceGetLineEx ,GETLINEEXA ,"PmacGetLineExA");
DLL_LINK(DeviceSendChar ,SENDCHARA ,"PmacSendCharA");
DLL_LINK(DeviceGetResponse ,GETRESPONSEA ,"PmacGetResponseA");
DLL_LINK(DeviceGetResponseEx ,GETRESPONSEEXA ,"PmacGetResponseExA");
DLL_LINK(DeviceGetControlResponse ,GETCONTROLRESPONSEA ,"PmacGetControlResponseA");
DLL_LINK(DeviceGetControlResponseEx ,GETCONTROLRESPONSEEXA ,"PmacGetControlResponseExA");
DLL_LINK(DeviceGetAsciiComm ,GETASCIICOMM ,"PmacGetAsciiComm");
DLL_LINK(DeviceSetAsciiComm ,SETASCIICOMM ,"PmacSetAsciiComm");
DLL_LINK(DeviceGetPmacLocation ,GETLOCATION ,"PmacGetLocation");
DLL_LINK(DeviceGetPmacEnumeration ,GETENUMERATION ,"PmacGetEnumeration");
DLL_LINK(DeviceGetError ,GETERROR ,"PmacGetError");
DLL_LINK(DeviceDownload ,DOWNLOADA ,"PmacDownloadA");
DLL_LINK(DeviceDownloadThread ,DOWNLOADTHREADA ,"PmacThreadDownloadA");
DLL_LINK(DeviceDownloadProgress ,DOWNLOAD_SHOWPROGRESS ,"PmacDownloadProgress");
DLL_LINK(DeviceINTRTerminate ,INTRTERMINATE ,"PmacINTRTerminate");
DLL_LINK(DeviceINTRWndMsgInit ,INTRWNDMSGINIT ,"PmacINTRWndMsgInit");
DLL_LINK(DeviceINTRSetupMask ,INTRSETUPMASK ,"PmacINTRSetupMask");
DLL_LINK(DeviceINTRFuncCallInit ,INTRFUNCCALLINIT ,"PmacINTRFuncCallInit");
DLL_LINK(DeviceLock ,LOCKPMAC ,"LockPmac");
DLL_LINK(DeviceRelease ,RELEASEPMAC ,"ReleasePmac");
DLL_LINK(DeviceSetCriticalIVars ,SETCRITICALIVARS ,"PmacSetCriticalIVars");
DLL_LINK(DeviceGetRomDate ,GETROMDATEA ,"PmacGetRomDateA");
DLL_LINK(DeviceGetRomVersion ,GETROMVERSIONA ,"PmacGetRomVersionA");
DLL_LINK(DeviceGetErrorStr ,GETERRORSTRA ,"PmacGetErrorStrA");
DLL_LINK(DeviceMultiDownload ,MULTIDOWNLOADA ,"PmacMultiDownloadA");
DLL_LINK(DeviceAddDownloadFile ,ADDDOWNLOADFILEA ,"PmacAddDownloadFileA");
DLL_LINK(DeviceRemoveDownloadFile ,REMOVEDOWNLOADFILEA ,"PmacRemoveDownloadFileA");
DLL_LINK(DeviceRenumberFiles ,RENUMBERFILESA ,"PmacRenumberFilesA");
DLL_LINK(DeviceRemoveDownloadFile ,REMOVEDOWNLOADFILEA ,"PmacRemoveDownloadFileA");
DLL_LINK(DeviceInBootStrapMode ,INBOOTSTRAP ,"PmacInBootStrapMode");
DLL_LINK(DeviceGetBuffer ,GETBUFFERA ,"PmacGetBufferA");
DLL_LINK(DevicePmacConfigure ,PMACCONFIGURE ,"PmacConfigure");
DLL_LINK(DeviceTestDPRAM ,TESTDPRAM ,"PmacDPRTest");
DLL_LINK(DeviceTestDPRAMAbort ,TESTDPRABORT ,"PmacAbortDPRTest");
DLL_LINK(DeviceDPRAvailable ,DPRAVAILABLE ,"PmacGetDpramAvailable");
//DLL_LINK(DeviceDPRGetPtr ,DPRGETPTR ,"PmacDPRGetPtr");
DLL_LINK(DeviceRestoreLinkList ,RESTORELINKLIST ,"RestoreLinkList");
DLL_LINK(DeviceDoChecksums ,DOCHECKSUMS ,"PmacDoChecksums");
DLL_LINK(DeviceStoreUSResponse ,STOREUSRESPONSE ,"StoreUSResponse");
DLL_LINK(DeviceGetUSResponse ,GETUSRESPONSE ,"GetUSResponse");
DLL_LINK(DeviceUSReadReady ,USREADREADY ,"USReadReady");
DLL_LINK(DeviceChangeGet ,CHANGEGET ,"ChangeGet");
DLL_LINK(DeviceChangeStore ,CHANGESTORE ,"ChangeStore");
DLL_LINK(DeviceChangeReadReady ,CHANGEREADREADY ,"ChangeReadReady");
DLL_LINK(DeviceMapDeviceNumToEnumAndLocation ,MAPDEVICENUMTOENUANDLOC ,"MapDeviceNumToEnumAndLocation");
DLL_LINK(DeviceMapLocAndEnumFromDeviceNum ,MAPLOCANDENUMFROMDEVICENUM,"MapLocAndEnumFromDeviceNum");
DLL_LINK(DeviceShutdownPmac,DEVICESHUTDOWNPMAC,"ShutdownPmacDevice");
// Checksum communication rouitnes
DLL_LINK(DeviceSERDoChecksums ,SERDOCHECKSUMS ,"PmacSERDoChecksums");
DLL_LINK(DeviceSERCheckSendLineA ,SERCHECKSENDLINEA ,"PmacSERCheckSendLineA");
DLL_LINK(DeviceSERCheckGetLineA ,SERCHECKGETLINEA ,"PmacSERCheckGetLineA");
DLL_LINK(DeviceSERCheckResponseA ,SERCHECKRESPONSEA ,"PmacSERCheckResponseA");
DLL_LINK(DeviceSERCheckAllWentWell ,SERCHECKALLWENTWELL ,"PmacSerCheckAllWentWell");
DLL_LINK(DeviceAbortDownload ,ABORTDOWNLOAD ,"PmacAbortDownload");
DLL_LINK(DeviceSetMaxDownloadErrors ,SETMAXDOWNLOADERRORS ,"PmacSetMaxDownloadErrors");
DLL_LINK(DeviceDPRRotBufClear ,DPRROTBUFCLEAR ,"PmacDPRRotBufClr");
DLL_LINK(DeviceDPRRotBufPut ,DPRROTBUFPUT ,"PmacDPRrotput");
DLL_LINK(DevicePmacIsTurbo ,PMACISTURBO ,"bPMACIsTurbo");
// Turbo Setup
DLL_LINK(DeviceAmpEnabled ,AMPENABLED ,"PmacAmpEnabled");
DLL_LINK(DeviceAmpFault ,AMPFAULT ,"PmacAmpFault");
DLL_LINK(DeviceOnNegativeLimit ,ONNEGATIVELIMIT ,"PmacOnNegativeLimit");
DLL_LINK(DeviceOnPositiveLimit ,ONPOSITIVELIMIT ,"PmacOnPositiveLimit");
DLL_LINK(DeviceFatalFError ,FATALFERROR ,"PmacFatalFError");
DLL_LINK(DeviceFollowError ,FOLLOWERROR ,"PmacFollowError");
DLL_LINK(DevicePhasedMotor ,PHASEDMOTOR ,"PmacPhasedMotor");
DLL_LINK(DeviceGetMotorStatus ,GETMOTORSTATUS ,"PmacGetMotorStatus");
// Data Gathering
DLL_LINK(DeviceGetGatherPeriod ,GETGATHERPERIOD ,"PmacGetGatherPeriod");
DLL_LINK(DeviceGetGatherSampleTime ,GETGATHERSAMPLETIME ,"PmacGetGatherSampleTime");
DLL_LINK(DeviceSetGatherSampleTime ,SETGATHERSAMPLETIME ,"PmacSetGatherSampleTime");
DLL_LINK(DeviceGetNumGatherSources ,GETNUMGATHERSOURCES ,"PmacGetNumGatherSources");
DLL_LINK(DeviceGetNumGatherSamples ,GETNUMGATHERSAMPLES ,"PmacGetNumGatherSamples");
DLL_LINK(DeviceSetGatherPeriod ,SETGATHERPERIOD ,"PmacSetGatherPeriod");
DLL_LINK(DeviceSetGatherEnable ,SETGATHERENABLE ,"PmacSetGatherEnable");
DLL_LINK(DeviceGetGatherEnable ,GETGATHERENABLE ,"PmacGetGatherEnable");
DLL_LINK(DeviceSetCurrentGather ,SETCURRENTGATHER ,"PmacSetCurrentGather");
DLL_LINK(DeviceSetGather ,SETGATHER ,"PmacSetGather");
DLL_LINK(DeviceSetQuickGather ,SETQUICKGATHER ,"PmacSetQuickGather");
DLL_LINK(DeviceSetQuickGatherEx ,SETQUICKGATHEREX ,"PmacSetQuickGatherEx");
DLL_LINK(DeviceSetQGWithDirectCur ,SETQGWITHDIRECTCUR ,"PmacSetQuickGatherWithDirectCurrent");
DLL_LINK(DeviceSetQGWithDirectCurEx ,SETQGWITHDIRECTCUREX ,"PmacSetQuickGatherWithDirectCurrentEx");
DLL_LINK(DeviceGetGather ,GETGATHER ,"PmacGetGather");
DLL_LINK(DeviceClearGather ,CLEARGATHER ,"PmacClearGather");
DLL_LINK(DeviceInitGather ,INITGATHER ,"PmacInitGather");
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -