TMS Scripter – creating scripted content in Delphi.

TMS Scripter – creating scripted content in Delphi.

Originally shared by tmssoftware

Very interesting video we came across about TMS Scripter (http://www.tmssoftware.com/site/scriptstudiopro.asp) and Delphi to create complex scripted forms:

https://www.youtube.com/watch?v=ZrvlDv8xvlw&feature=youtu.be

23 thoughts on “TMS Scripter – creating scripted content in Delphi.


  1. I paste here the question made to TMS about his Scripter utility:


    Very nice demo. But can you make a demo in which shows how simple or complex is give to the end user access to internal objects, properties and methods in the running application?


    I’v discovered that with PascalScript of RemObjects and FastScript of FastReports, is very complex. Almost imposible.


  2. Juan C. Cilleruelo Registering classes is just a call to DefineClassByRTTI. A class instance is registered with AddObject. So to get access to all public/published methods and properties of any object is done in two lines of code. There is also AddComponent for components. You can get the description in the complete manual found here: http://www.tmssoftware.biz/business/scripter/doc/scripter_manual.pdf


    tmssoftware.biz – http://www.tmssoftware.biz/business/scripter/doc/scripter_manual.pdf


  3. John Kouraklis the scripter runtime (execution) works on FMX, including the possibility of creating forms from code. The IDE (form designer, object inspector, etc.), however, is only available for VCL.


  4. Uwe Raabe


    Sorry, but I don’t want register classes!!!


    I want access at run time to instantiated objects, without complexity.


    In FastScript and PascalScript, from FastReports and RemObjects, this is a very complex task, because if you need to access by example to the properties of a FMX Object, you need to register almost all the hierarchy of objects. This is not viable.


    As you say, if I need to register the classes before use it, the problem is exactly the same, but with a great difference: FastScript is very cheap and PascalScript is free.


    My application make an intensive use of scripts.


    Any way, if I want an explanation, I read the manual. What I need is a real example, showing this capacity. And of course showing the difference with free products.


    Thanks, in any case!


  5. Juan C. Cilleruelo You don’t want to register classes? Honestly, we are talking about one code line per class (not per method or property) here. This is a huge step ahead of what you describe for the other engines. BTW, TMS Scripter is not that expensive either.


  6. Uwe Raabe


    If TMS cost 1 and the other are free: The difference is 1/0 = infinity.


    I can pay for a good tool for scripting, but the complexity of implement a new tool shall be reasonable if I solve the need of give access to the final user to my internal objects without add a lot of complexity to my own code.


    I have no time to investigate if a tool do this or not in a reasonable manner. But profiting the oportunity I beg for a good demo of this functionality.


    That’s all!


    I’m the posible customer. I need to see first to believe after.


  7. Juan C. Cilleruelo I think you are caught up a lot in the idea of abstraction…Not everything can be abstracted and simplified to death. There are processes you can not break down to a blind of an eye. After all, Uwe Raabe is talking about one line per class. How simpler can this be done 🙂


  8. Page 28 of the manual:


    “But note that several VCL components don’t have Firemonkey equivalents yet, especially the visual ones, so the scripter IDE (form designer, syntax memo, object inspector, etc.) are not available for Firemonkey applications.”


    This is a really great problem. Sorry.


  9. Page 88 of the same manual:


    4.4.10.1 Registering a class in scripture


    Read this section and after, say me again that it’s a simple call to a Register method. Please.


    TMyClass is not a standard class of the FMX hierarchy.


    4.4.10.3 What is not supported


    See this and you are going to understand that the classes that you are thinking to share in the scripts shall be created with this finality in mind.


    THIS PRODUCT HAS EXACTLY THE SAME FUNCTIONALITY THAT REMOBJECTS (free) AND FASTSCRIPT.


  10. AFAIU class registration is necessary only for creating new instances. All RTTI-enabled properties, fields and methods of existing objects should be accecible without single line of code. At least HCL Scripter works this way.


  11. Juan C. Cilleruelo Page 88 right at the bottom: “With new features, just call TatCustomScripter.DefineClassByRTTI method to register the


    class in scripter, and automatically all their methods and properties”. The example before shows the code needed for Delphi versions below D2009, where RTTI was not available.


    I have prepared a GIST where you can find some real code registering nine different classes to be created from the script. You can also see how three instances are made available to the script. 9 classes + 3 instances = 12 lines of code: https://gist.github.com/UweRaabe/69a8bc074fc3b69721f745a2642f33cb.js


  12. Uwe Raabe Uwe, it’s 2016 and The Golden Age of Open Source. People just don’t expect to pay anything to script a form. Try convincing a PHP, Perl, Python, Ruby, Lua or Javascript user that it’s “not that expensive”. 175 Euros seems fairly expensive to me.


  13. While there are several scripting solutions (not only pascal) I don’t know any that has a kinda working form designer like TMS has (and even that is far from perfect)


  14. Lars Fosdal maybe i havent seen it, but where is the “web content”? All I saw was a Delphi application.


    The TMS Scripter Studio is a great piece of software, but still has some flaws. Nobody is perfect 😉

Leave a Reply