Hallo Udo,
danke für die Infos.
Ich teste gerade mit der aktuellen Testversion. Ich kenne den "alten" Modeler nicht.
Vermutlich ist hier das Problem. Sobald ich mein eigenes
SQL eingebe, werde ich auch
gefragt ob ich die Felder anlegen möchte. Die Felder werden angelegt jedoch ohne das Attribut
PK, required u.s.w. Werde mal den Support bemühen. Als Anfänger geht man immer davon aus
dass man ein Bedienerfehler macht.
Das mit dem veröffentlichen, ich dachte es werden noch irgendwelche DLLs benötigt oder so.
Es wird also allen in der EXE includiert. Das ist mir am liebsten.
Udo, ich habe dich jetzt wirklich ordentlich strapaziert, sorry dafür. Nur, ich dachte ich
habe das verstanden wie ich im RODA-Server eine Dataset bereitstellen kann um im Client
die "Remote"-Methode aufrufen zu können like GetAdress(const adressnr: Integer): Binary;
Ich habe im Service Manager ein neuen Service angelegt und die Methode GetAdress als Item
mit den Parameter und ein Result vom Typ Binary angelegt. Danach die Implementierung der Methode vorgenommen.
Delphi-Quellcode:
function TMobileService.GetAdress(const adressnr: Integer): Binary;
procedure ProcessDataset(aDataset: IDADataset);
begin
aDataset.ParamByName('adressnr').AsInteger := adressnr;
aDataset.Open;
DataStreamer.WriteDataset(aDataset, [woRows], -1);
end;
begin
result := Binary.Create;
DataStreamer.Initialize(result, aiWrite);
try
//Die Schema.Table = Adresse serialisieren
ProcessDataset(DASchema.NewDataset(Connection, 'Adresse'));
finally
DataStreamer.Finalize;
end;
end;
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.
Result := (ISEPricingService as IISEPricing).GenerateCatalogPricesHotel(APeriode.ID, AHotelID, DaysOfWeek, ARoomRateID, DaysOfStay, ServiceIDs);
Wenn ich den cast richtig verstanden habe, greift du damit auf die Methode zu. Doch wie bekomme ich die in den Client? Vermutlich irgendwie über den RemoteDataAdapter, doch meine Methode wird nicht angezeigt. Den Server habe ich natürlich gestartet. RemoteDataAdapter zeigt mir nur die Tabellen vom Scheme Modeler. Übrigens, im Scheme Modeler habe ich auch eine StoredProc auf die ich per Commands zugreife. Die StoredProc liefert eine Select. Die Commands werden jedoch nicht angezeigt im RemoteDataAdapter.
Wenn es deine Zeit erlaubt, würde ich dich bitten mich aus diesem Wirrwarr zu leiten.
Gruß Kostas.