[Gambas-user] gb.scripter draft interface

Benoît Minisini g4mba5 at gmail.com
Mon Jun 28 20:44:31 CEST 2021


Le 28/06/2021 à 03:14, Brian G a écrit :
> hi,
> 
> I have been working on a gb.scripter component.
> 
> I am attaching a very rough draft document of what the interface to this 
> may look like.
> I would love to get some feedback and comment if possible.
> 
> "Failure is the key to success;
>   each mistake teaches us something"  .. Morihei Ueshiba
> Brian G
> 
> 
> ----[ http://gambaswiki.org/wiki/doc/netiquette ]----
> 

Hi, Brian.

I have juste quickly read your document, so here are my comments about 
the interface for running scripts only:

Sorry, but I really dislike your interface. You designed it like a C 
library, but Gambas has objects and events.

A script is, for the user, a Process-like object that encapsulates an 
actual Process object with a lot of magic around it.

So we can imagine a 'Script' class that you instanciate for running a 
script.

That class would define properties that match the arguments of your 
'ScriptRun' function, added to the interface of the Process class.

The 'ScriptRun' callback is replaced by events. You can add events for 
each script preprocessing or compilation step, when there is a 
compilation error, and delegates the events of the Process class.

The 'Script' class could have a static method (or use the static '_call' 
special methid) for running a script in a quick way like 'ScriptRun' 
would do. Not being able to raise event, the static method could raise 
errors instead when there is a compilation problem.

And why do you want to return script compilation errors as structured 
strings? You should better create objects with properties and return an 
array of them.

Regards,

-- 
Benoît Minisini


More information about the User mailing list