diff --git a/connectionsdmunit.pas b/connectionsdmunit.pas index 91e669a..2fd62fb 100644 --- a/connectionsdmunit.pas +++ b/connectionsdmunit.pas @@ -341,7 +341,7 @@ begin begin Answer := cmd.currentStage; if assigned(cmd.Results) then - cmd.Results.AssignTo(Code,RetValue,Answer,rValues,iValues,ByteData); + cmd.Results.AssignTo(Code,RetValue,Answer,rValues); code := cmd.Status; if (code=StatusComplete) and assigned(cmd.Results.Data) then RetValue:=cmd.Results.Data.Size diff --git a/exttypes.pas b/exttypes.pas index 981021f..b0f3662 100644 --- a/exttypes.pas +++ b/exttypes.pas @@ -72,7 +72,8 @@ type constructor Create(ACode:DWORD;AParam:QWord; AName: string; AKeys: TStrings; AValues: TParamArray; AData: TStream); overload; constructor Create(ACode:DWORD;AParam:QWord; AName: string;const AKeys: Array of string; AValues: TParamArray; AData: TStream); overload; destructor Destroy; override; - procedure AssignTo(out ACode:DWORD;out AParam:QWord; out AName: string; out AKeys: TStrings; out AValues: TParamArray; out AData: TStream); + procedure AssignTo(out ACode:DWORD;out AParam:QWord; out AName: string; out AKeys: TStrings; out AValues: TParamArray; out AData: TStream); overload; + procedure AssignTo(out ACode:DWORD;out AParam:QWord; out AName: string; out AKeys: TStrings); overload; end; procedure CopyBytes(var Dest: PByte; const Data: byte); overload; procedure CopyBytes(var Dest: PByte; const Data: word); overload; @@ -463,5 +464,21 @@ begin CopyParamArray(iValues,AValues); end; +procedure TCommandData.AssignTo(out ACode: DWORD; out AParam: QWord; out + AName: string; out AKeys: TStrings); +begin + ACode := Code; + AParam := Param; + AName := Name; + if assigned(Keys) then + begin + AKeys := TStringList.Create; + AKeys.Assign(Keys); + end + else + AKeys := nil; + +end; + end.