sat23 преди 4 години
родител
ревизия
a83079f7f5

+ 3 - 3
TCLCommand/TCLCommand/Command.cpp

@@ -438,7 +438,7 @@ bool TCLCommand::TheSecondPart(CommandParam& cmdPara, std::string data)
     return true;
 }
 
-void TCLCommand::PackingCommand(CommandParam& cmdPara, std::string data, const int& dataLen)
+void TCLCommand::PackingCommand(CommandParam& cmdPara, LPVOID data, const int& dataLen)
 {
     // Tag:[命令头][全命令长度][命令码]<命令码参数><附加数据>[crc1][crc2]
     std::string command;
@@ -449,8 +449,8 @@ void TCLCommand::PackingCommand(CommandParam& cmdPara, std::string data, const i
     // 命令码参数;
     command.append(utils::HexStringToBytes(cmdPara.param, 2).c_str(), cmdPara.param.size() / 2);
     // 附加的数据;
-    if (dataLen > 0)
-        command.append(data.c_str(), dataLen);
+    if (dataLen > 0 && NULL != data)
+        command.append((char*)data, dataLen);
 
     int len(0);
     // 长度:可能1字节表示,超过255用2字节表示;

+ 1 - 1
TCLCommand/TCLCommand/Command.h

@@ -27,5 +27,5 @@ public:
     void SetExternalCMDParams(LPCTSTR lpFileName);
     bool GetCommandParams(std::string name, CommandParam& cmdPara);
     bool SendCommand(CommandParam& cmdPara);
-    void PackingCommand(CommandParam& cmdPara, std::string data = "", const int& dataLen = 0);
+    void PackingCommand(CommandParam& cmdPara, LPVOID data = NULL, const int& dataLen = 0);
 };

+ 6 - 2
TCLCommand/TCLCommand/TCLCommand.cpp

@@ -112,13 +112,17 @@ bool CTCLCommand::GetCommandParams(std::string name, CommandParam& cmdPara)
     return g_TCLCommand.GetCommandParams(name, cmdPara);
 }
 
-void CTCLCommand::PackingCommand(CommandParam& cmdPara, std::string data, const int& dataLen)
+void CTCLCommand::PackingCommand(CommandParam& cmdPara, LPVOID data /* = NULL */, const int& dataLen /* = 0 */)
 {
     g_TCLCommand.PackingCommand(cmdPara, data, dataLen);
 }
 
-bool CTCLCommand::SendCommand(CommandParam& cmdPara)
+bool CTCLCommand::SendCommand(std::string name, CommandParam& cmdPara, LPVOID data /* = NULL */, int dataLen /* = 0 */)
 {
+    OPEN_CHECK;
+    if ( !g_TCLCommand.GetCommandParams(name, cmdPara) )
+        return false;
+    g_TCLCommand.PackingCommand(cmdPara, data, dataLen);
     return g_TCLCommand.SendCommand(cmdPara);
 }
 

+ 2 - 2
TCLCommand/TCLCommand/TCLCommand.h

@@ -25,8 +25,8 @@ public:
     bool IsOpen();
     void SetExternalCMDParams(LPCTSTR lpFileName);
     bool GetCommandParams(std::string name, CommandParam& cmdPara);
-    void PackingCommand(CommandParam& cmdPara, std::string data, const int& dataLen);
-    bool SendCommand(CommandParam& cmdPara);
+    void PackingCommand(CommandParam& cmdPara, LPVOID data = NULL, const int& dataLen = 0);
+    bool SendCommand(std::string name, CommandParam& cmdPara, LPVOID data = NULL, int dataLen = 0);
 };
 
 extern TCLCOMMAND_API int nTCLCommand;

+ 2 - 2
TCLCommand/TCLCommand/TCLCommand.vcproj

@@ -314,8 +314,8 @@
 		</Configuration>
 		<Configuration
 			Name="ExportClass|Win32"
-			OutputDirectory="$(ConfigurationName)"
-			IntermediateDirectory="$(ConfigurationName)"
+			OutputDirectory="..\..\..\..\bin\$(SolutionName)"
+			IntermediateDirectory="$(OutDir)\$(ProjectName)\$(ConfigurationName)"
 			ConfigurationType="2"
 			UseOfMFC="2"
 			CharacterSet="2"