Hallo Uwe,
das war der richtige Hinweis.
Das ClientDataSet1 kennt die Felder erst wenn es offen ist.
Es reicht also nicht das Dataset zuzuweisen, man muss es öffnen um an die Felder zu kommen.
Diese Variante ist mir lieber.
Dankeschön an alle.
Code:
procedure TfrClient.Button1Click(Sender: TObject);
var con: TServerMethods1Client;
dataSet:TDataSet;
begin
if not DataSnapServer.Connected then DataSnapServer.Connected := true;
con := TServerMethods1Client.Create(DataSnapServer.DBXConnection);
try
dataSet := con.getAdrMatchcodes(leMatchcode.Text);
if (dataSet<>nil) then
begin
DataSetProvider1.DataSet := dataSet;
if ClientDataSet1.Active
then ClientDataSet1.Refresh
else ClientDataSet1.Open;
ClientDataSet1.FieldByName('ADRESSNR').Visible := false;
end;{if}
finally
con.Free;
end;
end;