diff --git a/U:/Apache/Apache24/cgi-bin/lms_cgi b/U:/Apache/Apache24/cgi-bin/lms_cgi index 991d33f..30fb8f6 100755 Binary files a/U:/Apache/Apache24/cgi-bin/lms_cgi and b/U:/Apache/Apache24/cgi-bin/lms_cgi differ diff --git a/lms_cgi_server b/lms_cgi_server index c2289af..5ce72b2 100755 Binary files a/lms_cgi_server and b/lms_cgi_server differ diff --git a/lms_cgi_server.lpi b/lms_cgi_server.lpi index ebb01a9..a58bc5f 100644 --- a/lms_cgi_server.lpi +++ b/lms_cgi_server.lpi @@ -6,14 +6,22 @@ + + <UseAppBundle Value="False"/> <ResourceType Value="res"/> </General> + <MacroValues Count="1"> + <Macro1 Name="LCLWidgetType" Value="nogui"/> + </MacroValues> <BuildModes> <Item Name="Default" Default="True"/> + <SharedMatrixOptions Count="1"> + <Item1 ID="700255898348" Modes="Default" Type="IDEMacro" MacroName="LCLWidgetType" Value="nogui"/> + </SharedMatrixOptions> </BuildModes> <PublishOptions> <Version Value="2"/> diff --git a/lmsreport b/lmsreport index b4d78af..d3623eb 100755 Binary files a/lmsreport and b/lmsreport differ diff --git a/tcpclient.pas b/tcpclient.pas index c82222a..2ce7231 100644 --- a/tcpclient.pas +++ b/tcpclient.pas @@ -17,6 +17,15 @@ type fFields: TStrings; fCommand: string; fOnComplete: TRequestComplete; + fResult :TCommandData; + fmode: byte; + fCode:DWORD; + fValue:QWORD; + fAnswer: string; + fValues: TStrings; + fResData: TStream; + fResArray: TParamArray; + procedure SynchAnswer; public property Host: string read fHost; property Command: string read fCommand write fCommand; @@ -36,6 +45,12 @@ type end; implementation + +procedure TClientMainThread.SynchAnswer; +begin + fOnComplete(self,fmode,fResult.code,fResult.Param,fResult.Name,fResult.Keys,fResult.iValues,fResult.Data); +end; + constructor TClientMainThread.Create(ACommand: string; AFields: TStrings; ALogger: TLogger; AHost: string; APort: integer; OnReceive: TRequestComplete); begin @@ -83,7 +98,13 @@ procedure TClientMainThread.ProcessAnswer(const mode: byte; const Code: DWORD; begin try if assigned(fOnComplete) then - fOnComplete(self,mode,code,qValue,Answer,Values,iValues,Data); + begin + fResult := TCommandData.Create(code,qValue,answer,Values,iValues,Data); + fMode := mode; + Synchronize(@SynchAnswer); + + + end; except on e:Exception do begin