RemoteCommand.Execute Broken

The procedure below worked for years.Now, after updating the server to code first and importing the rodl file to the client, the client will not compile with an error that says: “[dcc32 Error] fPoDataModule.pas(2480): E2250 There is no overloaded version of ‘Execute’ that can be called with these arguments”.

procedure TPoDataModule.UpdatePoReceiptTotals(aGuid: TGuid);
var
mParams: DataParameterArray;
Index: Integer;
begin
mParams := DataParameterArray.Create;
try
Index := mParams.Add(DataParameter.Create());
mParams[Index].Name := ‘Return_Value’;
mParams[Index].Value := 0;
Index := mParams.Add(DataParameter.Create());
mParams[Index].Name := ‘PoHdrKey’;
mParams[Index].Value := GuidToString(aGuid);
RemoteCommand.Execute(‘UpdatePoReceiptTotals’, mParams);
finally
FreeAndNil(mParams);
end;
end;

I am sure this is simple to solve, but I am not seeing the solution currently.

Ok, I have it compiling now. Putting “DataAbstract4_Intf.” in front of all things “DataParameter” seems to have done the trick.

Example :change
mParams := DataParameterArray.Create;
to
mParams := DataAbstract4_Intf.DataParameterArray.Create;

can you check, that you have only one declaration of DataParameterArray in your project and only inside DataAbstract4_Intf.pas?

Evgeny, the class is declared in the interface file generated on the client from the server.

Bump. Is this correct? the server interface is used on the client as is DataAbstract4_Intf.pas. I think you are saying no, but I am not sure how to correct the problem if there is one.

hmm, I can’t reproduce the problem when after conversion of existing RODL server into CodeFirst one, types from DataAbstract4_Intf were copied into generated _intf file.

Probably something was done incorrectly

This issue continues to haunt me. After installing the latest release of DA, My project now compiles like this (which I believe is correct. I do not have to put “DataAbstract4_Intf.” in front of DataParameter to compile):

procedure TPoDataModule.UpdatePoReceiptTotals(aGuid: TGuid);
var
  mParams: DataParameterArray;
  Index: Integer;
begin
  mParams := DataParameterArray.Create;
  try
Index := mParams.Add(DataParameter.Create());
mParams[Index].Name := 'PoHdrKey';
mParams[Index].Value := GuidToString(aGuid);
RemoteCommand.Execute('PoUpdateReceiptTotals', mParams);
  finally
FreeAndNil(mParams);
  end;
end;

The command now executes the stored procedure on the server, but returns the following error on the client:

Can you please provide some guidance?

can you create a simple testcase that reproduces this problem, pls?
you can send it directly to support@