Delphi XE7 Support

Hello RemObjects team,

I would like to know if there is a specific release date for XE7 support?

Thank you very much and best regards

We’ll have a beta today, and an official update Soon™.

Hi Marc,

wow! Thank you very much

How to talk to RemObject SDK Servers from Delphi Mobile (FireMonkey iOS and Android) ??

I’m afraid you can’t, unless you use SOAP. We don’t currently (and have no plans to) support RemObjects SDK on Delphi/Mobile. Another option is to use platform native tools such as Xcode/Java or Oxygene for your mobile app, and use RemObjects SDK for Cocoa and/or Java.

I have been able to talk to RemObject SDK from Delphi Mobile using XML-RPC.
Here is what I did…
I have a proxy written in python running on my Windows box.
I write test code in python on windows to discover xml-rpc calls.
The python proxy shows me the xml that is flowing back and forth.

I then go to Delphi Mobile and use Indy TIdHTTP component.
I use the http component to post xml to RemObject server.
I then parse the results from the TidHTTP component.

I have discovered some Delphi Mobile components that will talk XML-RPC.
RealThinClient components from http://www.realthinclient.com is one option.
RealThinClient recommended I use http://www.streamsec.com for SSL support.

I believe a sample app will be very appreciated.

Our remobject server requires a login first.
I will not post that code here.
After I log in, I can use the method Sum as follows…

procedure TTabbedForm.Button2Click(Sender: TObject);
var
  xmlToSend: string;
  HTTP: TIdHTTP;
  Query: String;
  Buffer: TMemoryStream;
  loadData: TStringList;
  responseData: String;
begin
  xmlToSend :=             '<?xml version=''1.0''?>';
  xmlToSend := xmlToSend + '<methodCall>';
  xmlToSend := xmlToSend + '<methodName>CoreService.Sum</methodName>';
  xmlToSend := xmlToSend + '<params>';
  xmlToSend := xmlToSend + '<param>';
  xmlToSend := xmlToSend + '<value><string>{C6D4A7F0-18FF-11E4-A305-00249B0FC546}</string></value> ';
  xmlToSend := xmlToSend + '</param>';
  xmlToSend := xmlToSend + '<param>';
  xmlToSend := xmlToSend + '<value><int>6</int></value> ';
  xmlToSend := xmlToSend + '</param>';
  xmlToSend := xmlToSend + '<param>';
  xmlToSend := xmlToSend + '<value><int>7</int></value>';
  xmlToSend := xmlToSend + '</param>';
  xmlToSend := xmlToSend + '</params>';
  xmlToSend := xmlToSend + '</methodCall>';

  loadData := TStringlist.Create;
  try
    HTTP := TIdHTTP.Create(nil);
    HTTP.Request.ContentEncoding := 'utf-8';
    HTTP.Request.ContentType := 'text/xml';
    Application.ProcessMessages;
    Query := 'http://' + edtIP.Text + ':' + edtPort.Text + '/xmlrpc/CoreService';
    loadData.Text := xmlToSend;
    Buffer := TMemoryStream.Create;
    loadData.SaveToStream(Buffer);
    responseData := HTTP.Post(Query, Buffer);
    showmessage(responseData);
  except
    on E: EIdHTTPProtocolException do
      ShowMessage(E.Message);
  end;
end;

A proxy is very helpful to see what needs to be sent.
I use the Python proxy from http://www.itpub.net/thread-1713562-1-1.html

Thanks for the information.

I believe, as marc suggested, SOAP is a easier option.

You can just import on delphi using WDSL importer, with a sintaxis like this:

http://127.0.0.1:8099/SOAP?service=MyService

Delphi will generate all the calls as expected.

Best regards.

Have you used the generated calls on Android in XE7?
Is that possible?

I have very little expertise in this area.
Would anyone have blog posts or article links to share on using Soap in XE7 for Android?

No, sorry.
But Embarcadero advertises, that it should be prossible to use all Android SDK APIs and any Android 3rd party component with Firemonkey. If that’s true just google for “Android soap” any you’ll get hundrets of tutorials and 3rd party APIs under MIT license.

Actually, you don´t need any third party, or Android SDK APIs.

You can use as usual the “Import WDSL” tool to generate the calling library and works with FMX (because is based on Indy)

Just give it a try.

in fact if that is true, you’ll be able to use RemObjects SDK for Java, no need to go SOAP.

This is true and work perfect.

Cool. Same for Cocoa? What’s the process? do people need to “import” the library, generate headers, or something?

for cocoa they need a static lib and a pascal header translation.

Ok, a static lib we provide. I take it the header translation needs to be done manually, just like in good old 1995?

Yes. I followed a topic in the DelphiPraxis Forum in 2013. There some Firemonkey specialists tried to write a Pascal Header for a small ObjC open source Lib. They had success after around a week … :wink:
I assume there has nothing changed in the meantime and Delphi still doesn’t have a header generator like Elements FxGen. (Knocking on my wooden desk … Delphi is behind me.)

Perheaps can RODLgen help to generate the Delphi headers in future.

Maybe. At this stage, we have no interest in investing resources from our end in supporting Delphi/Mobile from our end. In fact we don’t even have access to it, and Embarcadero doesn’t want us to, either.

I would love to see a blog post tutorial on how to connect a XE Android app to RO using Java Library.
Just mock up a simple Sum() service in RO and connect it using Java Library in XE and post step-by-step.
That would be an awesome contribution to the community!
Any takers?
If so put a link here for us to follow.