Hello,
I add a Service to my XData Server that should give me back a List of an objekt. If I start the Service from my Application, I get this Error: Erste Gelegenheit f?r Exception bei $77534172. Exception Klasse EXDataRequestoperationError, Status Code 500, Error Code AccessViolation
Here my Server Code:
function TxDataServiceExample.RaumgruppenDesObjektes(aPRUEFUNGSNR,aOBJEKTNR,aPRART: integer;aPRUEFMONAT:string): TList<TTBL_RAUMDATEN>;
var
lConnection : TFDConnection;
lMobileAbfrage : TFDQuery;
lRaumdaten : TTBL_RAUMDATEN;
lRaumdatenList : TList<TTBL_RAUMDATEN>;
begin
lMobileAbfrage := TFDQuery.Create(nil);
with lMobileAbfrage do
begin
Connection := dmMain.FDConnectionEntw;
SQL.Clear;
SQL.Text := 'select distinct * from TBL_RAUMDATEN WHERE PRUEFUNGSNR = :PRUEFUNGSNR and OBJEKTNR = :OBJEKTNR and PRART = :PRART and PRUEFMONAT =:PRUEFMONAT ORDER BY RAUMGRUPPE';
ParamByName('PRUEFUNGSNR').AsInteger := aPRUEFUNGSNR;
ParamByName('OBJEKTNR').AsInteger := aOBJEKTNR;
ParamByName('PRART').AsInteger := aPRART;
ParamByName('PRUEFMONAT').AsString := aPRUEFMONAT;
Open;
lRaumdatenList := TList<TTBL_RAUMDATEN>.Create;
while lMobileAbfrage.Eof do
begin
lRaumdaten := TTBL_RAUMDATEN.Create;
try
lRaumdaten.ID_RAUMDATEN := lMobileAbfrage.FieldByName('ID_RAUMDATEN').AsInteger;
lRaumdaten.PRUEFUNGSNR := lMobileAbfrage.FieldByName('PRUEFUNGSNR').AsInteger;
lRaumdaten.PRUEFMONAT := lMobileAbfrage.FieldByName('PRUEFMONAT').AsString;
lRaumdaten.RAUMNR := lMobileAbfrage.FieldByName('RAUMNR').AsString;
lRaumdaten.GEBAEUDE := lMobileAbfrage.FieldByName('GEBAEUDE').AsString;
lRaumdaten.RAUMGRUPPE := lMobileAbfrage.FieldByName('RAUMGRUPPE').AsString;
lRaumdaten.FLAECHEGESCHAETZT := lMobileAbfrage.FieldByName('FLAECHEGESCHAETZT').AsFloat;
lRaumdaten.BEZEICHNUNG := lMobileAbfrage.FieldByName('BEZEICHNUNG').AsString;
lRaumdaten.ETAGE := lMobileAbfrage.FieldByName('ETAGE').AsString;
lRaumdaten.NUTZUNGSART := lMobileAbfrage.FieldByName('NUTZUNGSART').AsString;
lRaumdaten.BODENBELAG := lMobileAbfrage.FieldByName('BODENBELAG').AsString;
lRaumdaten.GEPRUEFT := lMobileAbfrage.FieldByName('GEPRUEFT').AsInteger;
lRaumdaten.OBJEKTNR := lMobileAbfrage.FieldByName('OBJEKTNR').AsInteger;
lRaumdaten.PRART := lMobileAbfrage.FieldByName('PRART').AsInteger;
lRaumDatenList.Add(lRaumdaten);
finally
end;
lMobileAbfrage.Next;
end;
Close;
end;
lconnection.close;
lMobileAbfrage.Free;
lConnection.Free;
result := lRaumdatenList;
end;
My Application Code where I want to get the Result of the Service:
lRGObjektList := TList<TTBL_RAUMDATEN>.Create;
iMyService := LXDataClient.Service<ITIUSServerService>;
lRGObjektList := iMyService.RaumgruppenDesObjektes(Pruefungsnr,FObjektNummer,1,Pruefungsmonat);
iMyService := LXDataClient.Service<ITIUSServerService>;
lRGObjektList := iMyService.RaumgruppenDesObjektes(Pruefungsnr,FObjektNummer,1,Pruefungsmonat);