Michael Van Canneyt wrote:

On Thu, 25 Jan 2007, Alexandre Leclerc wrote:

2007/1/25, Felipe Monteiro de Carvalho <[EMAIL PROTECTED]>:
On 1/25/07, Alexandre Leclerc <[EMAIL PROTECTED]> wrote:
Yes, I understand that, but I *need* a scripting engine which is based
on Pascal. And ROPS is the only one I found that answered my
requirements. Also, it's integrated and it's "free", and very fast.

If there was another way, I would use it. But since, I must rely on a
stable FPC internal to make it work.
Does this script support other calling conventions?

You could try using stdcall instead of register. It´s much simpler,
and as stable as it can get.

I remember writing a simple script engine myself, and then I choose to
support mostly stdcall.
ROPS (RemObjects Pascal Script remobjects.com) is 100% pascal code

Not 100%, there is 1 routine which is assembler, it's the routine that sets up the stack when making a call to an imported function.

that you simply use in your own code. The engine compiles in your
application. It then work with the application stack, etc. to execute
native pascal functions and script functions. Quite a nice script
engine.

I use it since ages, even when it was not owned by remobjects.

You are right about that. There is a routine that does that, but all it does is copy the prepared data onto the stack (And copy back the result). Now, there are a few problems with PS related to FPC:

* FPC has changed default calling convention once (or twice?)
* The way "register" works on FPC is slightly different from delphi, in delphi special types like interfaces, strings and variant results are passed as var parameters, it seems the easiest fix would be for me to change PascalScript to process results differently for FreePascal.

How does FPC pass a string/variant/interface result actually? Returned in AEX?


Once I know this, I should be able to add an FPCFIX define for this. (So it can be easily undone when FPC supports the same "Register" mode as Delphi does)


--
Carlo Kok
RemObjects Software
_______________________________________________
fpc-pascal maillist  -  fpc-pascal@lists.freepascal.org
http://lists.freepascal.org/mailman/listinfo/fpc-pascal

Reply via email to