// MTerm1.h: MTerm1 应用程序的主头文件 // #pragma once #ifndef __AFXWIN_H__ #error "include 'pch.h' before including this file for PCH" #endif #include "resource.h" // 主符号 #include "../mylib/LOGGER/Logger.hpp" #include "../MyLib/MHashINI/MHash.hpp" void Trans_Tunc(unsigned int, EXCEPTION_POINTERS*); #define CHECKE(func) try {func;} catch(SE_Exception &e) {DisplayException(_T(__FILE__),__LINE__,_T(__FUNCTION__),_T(#func),e);} catch (CException * e) {DisplayException(_T(__FILE__),__LINE__,_T(__FUNCTION__),_T(#func),e);} catch (...){DisplayException(_T(__FILE__),__LINE__,_T(__FUNCTION__),_T(#func));} class SE_Exception { private: SE_Exception() {} unsigned int nSE; PVOID Addr; CString InfoStr; public: SE_Exception(SE_Exception& e) : nSE(e.nSE) {} SE_Exception(unsigned int n) :nSE(n) {} SE_Exception(unsigned int n, PVOID a) :nSE(n), Addr(a) {} SE_Exception(unsigned int n, PVOID a, CString &str1) :nSE(n), Addr(a), InfoStr(str1) {} ~SE_Exception() {} unsigned int getSeNumber() { return nSE; } PVOID getAddress() { return Addr; } CString & getInfoStr() { return InfoStr; } }; int DisplayException(CString File, int Line, CString Func, CString Sentence, SE_Exception &e); int DisplayException(CString File, int Line, CString Func, CString Sentence, CException *e); int DisplayException(CString File, int Line, CString Func, CString Sentence); int SaveMyConfig(); int LoadMyConfig(); int SysLog(CString s, int channel = 0); int PopupMessage(CString s, int channel = 0); void DoEvents(); extern MHash MyCfg1; extern Logger MyLogger1; // CMTerm1App: // 有关此类的实现,请参阅 MTerm1.cpp // class CMTerm1App : public CWinAppEx { public: CMTerm1App() noexcept; // 重写 public: virtual BOOL InitInstance(); virtual int ExitInstance(); // 实现 UINT m_nAppLook; BOOL m_bHiColorIcons; virtual void PreLoadState(); virtual void LoadCustomState(); virtual void SaveCustomState(); afx_msg void OnAppAbout(); DECLARE_MESSAGE_MAP() ULONG_PTR m_gdiplusToken; }; extern CMTerm1App theApp; class CAnsiParser; class CDataParser1; class KLinkProtocol; class CSerialCom; class HvSerialPort; extern CAnsiParser MyAnsiParser1; extern CDataParser1 MyDataParser1; extern KLinkProtocol MyKLProtocol1; // extern CSerialCom MySerialCom1; extern HvSerialPort MyHvSerialPort1; CString & intToString(int num); CString & intToBinString(int num, int digits = 8); int get_com_name(CString comx, CString &namebuf);