Icon View Thread

The following is the text of the current message along with any replies.
Messages 1 to 4 of 4 total
Thread RemObjects hacker
Tue, Feb 11 2014 9:02 AMPermanent Link

Matthew Jones

I needed to convert a RemObjects Interface to EWB again, so I put together a fast
as possible hack application to take an interface and re-work it. If anyone would
like to try it, I'll upload it somewhere. The code is horrible but it is a low-use
utility only. Written in XE2, but nothing really specific.

It converts:
--------------------
IMyInterface = interface
['{C969F5B1-E11D-451B-A36F-9618FC9EDD82}']
function GetServerStatus(const szClientInfo: Utf8String; out tmDateTime: DateTime;
out szStatusMessage: Utf8String): Integer;
function GetOption(var szOptionName: Utf8String; var nChangeID: Integer; out
szOptionValue: Utf8String): Integer;
 end;
--------------------
into
--------------------
external TOnErrorCallback = procedure (msg: TMessage; ex: EError) of object;
external TOnGetServerStatusCallback = procedure(nResult : Integer;  tmDateTime:
DateTime;  szStatusMessage: String ) of object;
external TOnGetOptionCallback = procedure(nResult : Integer;  szOptionName: String;
nChangeID: Integer;  szOptionValue: String ) of object;


external TMyInterface  = class
public
constructor Create(chnl: THTTPClientChannel; msg: TJSONMessage; strServiceName:
string);
function GetServerStatus (szClientInfo: String; OnGetServerStatusComplete:
TOnGetServerStatusCallback; OnGetServerStatusError: TOnErrorCallback): Integer;
function GetOption (szOptionName: String; nChangeID: Integer; OnGetOptionComplete:
TOnGetOptionCallback; OnGetOptionError: TOnErrorCallback): Integer;
property fMessage: TMessage read;
end;

 
/Matthew Jones/
Tue, Feb 11 2014 2:38 PMPermanent Link

Robert Devine

Hi Matthew

If you stick it on binaries I'll try it out at some point - sounds
useful. I haven't done any EWB/RO for a year but am planning to start
again in a couple of months.

Cheers, Bob


On 11/02/2014 14:02, (Matthew Jones) wrote:
> I needed to convert a RemObjects Interface to EWB again, so I put together a fast
> as possible hack application to take an interface and re-work it. If anyone would
> like to try it, I'll upload it somewhere. The code is horrible but it is a low-use
> utility only. Written in XE2, but nothing really specific.
>
Wed, Feb 12 2014 4:52 AMPermanent Link

Matthew Jones

Given your interest, I'll post it on my web site, then it can be updated. I'll wait
a little while until my current interface is done in case I find any issues. (It
requires you to make the functions all on one line etc, but that's nothing compared
with the manual slog and mistakes.)

/Matthew Jones/
Tue, Mar 11 2014 12:28 PMPermanent Link

Matthew Jones

This is now available at

http://www.matthew-jones.com/download/EWB-RO-Convert.zip

I've been using this version for a while, and it works nicely for the purpose. The
UI is appalling, but generally you just copy the RemObjects Interface code to the
clipboard from Delphi, then hit the paste convert and copy button and paste into
WebBuilder (replacing previous version if you had one).

Source included. That's appalling too, with specific hacks for this purpose. But it
does the job of making the EWB code and that's what matters here. My actual real
shipping code is much nicer and more modular etc. Have fun.

/Matthew Jones/
Image