Einzelnen Beitrag anzeigen

kretabiker

Registriert seit: 10. Mär 2005
Ort: Bargteheide
183 Beiträge
 
Delphi 12 Athens
 
#12

AW: RemObjects Data Abstract, Schema Modeler erzeugt alles auf dem Client

  Alt 3. Dez 2012, 18:17
Hallo Kostas,

mal das zweite zuerst:

Was ich noch nicht verstanden habe, wie kann ich jetzt die Methode GetAdress im Client
Einbinden und aufrufen und das result als dataset ausgeben?
Was ich gemacht habe ist, mein Service MobileService_Impl vom Server im Client in Uses
einzubinden. Die Methode GetAdress wurde in MobileService_Impl automatisch als protected angelegt.
Grundsätzlich: Die Methode bzw. das Interface ist in der _Intf-Datei der Service Library deklariert. Das sieht dann z.B. so aus:

Delphi-Quellcode:
{ IISEPricing }
  IISEPricing = interface(IDataAbstractService)
    ['{906729C2-F241-4435-8A63-0281F6B1C2F1}']
    function GenerateCatalogPricesHotel(const APeriodID: Integer; const AHotelID: Integer; const AWeekdays: StringArray; const ARoomRateID: Integer;
                                        const ADaysOfStay: TROIntegerArray; const AServices: TROIntegerArray): Boolean;
  end;
Das wird so vom Service Builder gebaut. Du musst daher nicht die _Impl-Datei in deinen Client aufnehmen, sondern die _Intf-Datei der Service Lib (nicht zu verwechseln mit der/den _Intf-Datei/en des/der Schemas...).

Für den ersten Teil deiner Frage muss ich dich vertrösten, da muss ich mal in Source gucken, den ich nicht hier habe. Diese Art der Datenübertragung habe ich nur selten angewandt, vor allem für FetchAll über mehrere Tabellen. Was mir spontan auffällt: Muss der Rückgabewert deiner Methode GetAdress nicht vom Typ TROBinaryMemoryStream sein? Der Aufruf erfolgt in solchem Fall auch nicht wie in meinem Beispiel, sondern mit einem Aufruf von GetDataCall des RemoteDataAdapters, glaube ich mich zu erinnern. Schau am besten mal in das mitgelieferte FetchAll-Beispiel.
Udo Treichel
  Mit Zitat antworten Zitat