TMS Scripter

How to connect additional units in Scripter?
I have
a problem. I started the project Scripter Studio Pro IDE and I want it to create a form with the code, but do not connect a lot of files such as IdMessage and my own units with functions and procedures (on visual pascal), and such as Classes, Graphics, Controls, Forms, Dialogs , System, StdCtrls work without problems.

To create new units you must create your own libraries, importing classes, methods and properties. Have you checked the chapter in the manual, the refers to using Delphi objects, methods and properties? Do you have any specific question about that chapter?

In libraries for TMS Scripter is a text "This source code was generated automatically by Pas file import tool for Scripter Studio (Pro)", if I can in the same way to generate code library for TMS Scripter of finished library on Delphi?

Hello, I didn't understand your question? Can you elaborate?

When I register, my own class, in Skripter does not work  auto code completion. I followed the chapter 4.4.4 TMS Skripter Manual, but do not quite understand chapter 4.4.3, could you give an example of registration of a class created user.
I also considered an example ClassMethods, auto code completion does not work there as well.

Does your script work fine with the registered methods and you are having problems only with code completion? Or neither code completion and script execution work? Can you post a piece of the code you are using to register the class and the script you are using?

type TWOObject = class(TObject)
      FClassName      : string;
      FName               : string;
      property  ClassName: string read FClassName;
      property  Name: string read FName;
      constructor Create; //override;

procedure TForm1.GetClassNameProc(AMachine: TatVirtualMachine);
  With AMachine do

procedure TForm1.GetNameProc(AMachine: TatVirtualMachine);
  With AMachine do
procedure TForm1.PrepareScript;
  With IDEScripter1.AddDelphiClass(TWOObject) do //DefineClass
    DefineProp('ClassName',      tkString,GetClassNameProc,     Nil);
    DefineProp('GenericName',    tkString,GetNameProc,   Nil);
//and on FormCreate I call PrepareScript;
When I write
   WO : TWOObject;
   wo.  //no autocompletion of code

Actually, when I try to use this code in our IDEPro demo, it works fine. Did you try it? Are you using different settings? If you can't manage to make it work, can you send me the project (compilable, no 3rd party controls) so I can debug and check the differences?

I use this code in our IDEPro, it works fine, but autocompletion of code doesn't work.

Oow now it works. Another question, how can I use in scriper AdvGrid, AdvGlowButton and etc. and also JSON libraries?

You will have to register them manually just like any other class or properties. The only classes partially available in scripter package, I mean that are already registered, are the VCL classes. All others must follow the same registration process.

Why If I create new project in

IDEPro it will created two units (unit1 and unit2) and Form2? Why not create one unit and form to it.

form scripts can't be run. They are just forms. Something like a class declaration. So you have to use an external script to "use" it (create an instance)

Does the TMS Skripter create compiled  files, if yes then where?

No. The scripter can compile to a pseudo code that can be saved to a file or stream, and be re-executed for performance purposes. But not real, native compiled code.

In what ways I can register procedure for Skripter. And how to return the data from the form compiled on IDE Skripter (for example introduced in Edit or Memo or other controls)?

There is a chapter in manual named "Calling regular functions and procedures" that explain the process. I did not understand your second question?

How can I get information from the controls placed on the form compiled on IDE Scripter, for future use.
For example, on a form available Edit, Memo, DataSet, certain operations were performed, after which the contents of the controls you want to save and return to the main program.

The form created by Scripter is a normal form. You can get it from Delphi code either looking for Screen.Forms or by creating a variable in Delphi, for example, MyForm, and let scripter set that variable with the form instance, this way you can read it from Delphi.

In a chapter in manual named "Calling regular functions and procedures" there are exemples of registering functions QuotedStr and StringOfChar. When I want register in that way my procedure for scripter I have an error on ReturnOutputArg because procedure

does not return any values