客户端:
with clientdataset do
begin
Close; Filter := ''; Params.Clear;
RemoteServer := clientdm.SCon_ZD;
ProviderName := 'dsp_OpenProc';
clientdm.socketconnect.AppServer.OpenProc(sProcedureName, vParams);//此处调用服务器端函数
Open;
// result:=recordcount; FetchParams; //此处出现incalid argument错误信息,错误的类型为EVariantInvalidArgError
Result := Params[0].AsInteger;
end;服务器端:
function tserver.OpenProc(const ProcedureName: WideString;
vInputParams: OleVariant): Integer;
var
Params : TParams;
I : Integer;
begin
with sp_OpenProc do
begin
Close;
ProcedureName := ProcedureName;
Parameters.Refresh;
Params := TParams.Create; UnPackParams(vInputParams, Params);
for I := 1 to Parameters.Count - 1 do
if (Parameters[i].Direction in [pdInput, pdInputOutput]) then
begin
if Parameters[i].DataType = ftBCD then
begin
Parameters[i].DataType := ftFloat;
Parameters[i].Value := Params.ParamByName(Parameters[i].Name).AsFloat;
end
else
Parameters[i].Value := Params.ParamByName(Parameters[i].Name).Value;
end;
end;
Params.Free;
Result := 0;
end;
with clientdataset do
begin
Close; Filter := ''; Params.Clear;
RemoteServer := clientdm.SCon_ZD;
ProviderName := 'dsp_OpenProc';
clientdm.socketconnect.AppServer.OpenProc(sProcedureName, vParams);//此处调用服务器端函数
Open;
// result:=recordcount; FetchParams; //此处出现incalid argument错误信息,错误的类型为EVariantInvalidArgError
Result := Params[0].AsInteger;
end;服务器端:
function tserver.OpenProc(const ProcedureName: WideString;
vInputParams: OleVariant): Integer;
var
Params : TParams;
I : Integer;
begin
with sp_OpenProc do
begin
Close;
ProcedureName := ProcedureName;
Parameters.Refresh;
Params := TParams.Create; UnPackParams(vInputParams, Params);
for I := 1 to Parameters.Count - 1 do
if (Parameters[i].Direction in [pdInput, pdInputOutput]) then
begin
if Parameters[i].DataType = ftBCD then
begin
Parameters[i].DataType := ftFloat;
Parameters[i].Value := Params.ParamByName(Parameters[i].Name).AsFloat;
end
else
Parameters[i].Value := Params.ParamByName(Parameters[i].Name).Value;
end;
end;
Params.Free;
Result := 0;
end;
我发的是delphi\数据库相关区,怎么错了呢
我要解决问题阿,倒什么分??????