TestWizardDLL.cpp 2.1 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118
  1. #include "stdafx.h"
  2. #include "TestWizardDLL.h"
  3. namespace TW {
  4. HMODULE g_hdll = NULL;
  5. OPEN_XML OpenXml = NULL;
  6. LOAD_XML LoadXml = NULL;
  7. ADD_ITEM AddItem = NULL;
  8. DEL_ITEM DelItem = NULL;
  9. REMOVEALL_ITEM RemoveAllItem = NULL;
  10. SAVE_XML Save2Xml = NULL;
  11. OPEN_DEVICE OpenDevice = NULL;
  12. CLOSE_DEVICE CloseDevice = NULL;
  13. SEND_KEY SendKey = NULL;
  14. GETSIGNALSNAME GetSignalsName = NULL;
  15. BOOL LoadLibrary()
  16. {
  17. if (g_hdll == NULL) {
  18. g_hdll = (HMODULE)::LoadLibrary(_T("TestWizard.dll"));
  19. if (!g_hdll)
  20. return FALSE;
  21. }
  22. OpenXml = (OPEN_XML)GetProcAddress(g_hdll, "OpenXML");
  23. if (!OpenXml)
  24. {
  25. UnloadLibrary();
  26. return FALSE;
  27. }
  28. LoadXml = (LOAD_XML)GetProcAddress(g_hdll, "LoadXML");
  29. if (!LoadXml)
  30. {
  31. UnloadLibrary();
  32. return FALSE;
  33. }
  34. AddItem = (ADD_ITEM)GetProcAddress(g_hdll, "AddItem");
  35. if (!AddItem)
  36. {
  37. UnloadLibrary();
  38. return FALSE;
  39. }
  40. DelItem = (DEL_ITEM)GetProcAddress(g_hdll, "DelItem");
  41. if (!DelItem)
  42. {
  43. UnloadLibrary();
  44. return FALSE;
  45. }
  46. RemoveAllItem = (REMOVEALL_ITEM)GetProcAddress(g_hdll, "RemoveAllItem");
  47. if (!RemoveAllItem)
  48. {
  49. UnloadLibrary();
  50. return FALSE;
  51. }
  52. Save2Xml = (SAVE_XML)GetProcAddress(g_hdll, "Save2XML");
  53. if (!Save2Xml)
  54. {
  55. UnloadLibrary();
  56. return FALSE;
  57. }
  58. OpenDevice = (OPEN_DEVICE)GetProcAddress(g_hdll, "OpenDevice");
  59. if (!OpenDevice)
  60. {
  61. UnloadLibrary();
  62. return FALSE;
  63. }
  64. CloseDevice = (CLOSE_DEVICE)GetProcAddress(g_hdll, "CloseDevice");
  65. if (!CloseDevice)
  66. {
  67. UnloadLibrary();
  68. return FALSE;
  69. }
  70. SendKey = (SEND_KEY)GetProcAddress(g_hdll, "SendKey");
  71. if (!SendKey)
  72. {
  73. UnloadLibrary();
  74. return FALSE;
  75. }
  76. GetSignalsName = (GETSIGNALSNAME)GetProcAddress(g_hdll, "GetSignalsName");
  77. if (!GetSignalsName)
  78. {
  79. UnloadLibrary();
  80. return FALSE;
  81. }
  82. return TRUE;
  83. }
  84. void UnloadLibrary()
  85. {
  86. if (g_hdll) {
  87. if (FreeLibrary(g_hdll)) {
  88. g_hdll = NULL;
  89. OpenXml = NULL;
  90. LoadXml = NULL;
  91. AddItem = NULL;
  92. DelItem = NULL;
  93. RemoveAllItem = NULL;
  94. Save2Xml = NULL;
  95. OpenDevice = NULL;
  96. CloseDevice = NULL;
  97. SendKey = NULL;
  98. GetSignalsName = NULL;
  99. }
  100. }
  101. }
  102. }