You do not need to create ActiveX library in Delphi. You can also create an automation object without editing TLB.
The secret is that $ methodinfo is a Compilation instruction without document descriptions.
First, we define a tscriptableobject that inherits from tobjectdispatch (objcomauto. Pas)
{$ Methodinfo on}
Tscriptableobject = Class (tobjectdispatch)
Public
Constructor create;
End;
{$ Methodinfo off}
....
{Tscriptableobject}
Constructor tscriptableobject. Create;
Begin
Inherited create (self, false );
End;
Therefore, tscriptableobject is a class with special capabilities. This class is a class with the idispatch interface, the Public & published method inherited from any subclass of tscriptableobject can be retrieved from getidsofnames and invoke is supported.
In this way, the tscriptableobject subclass is the Automation Object we need. This object can be used as the idispatch object required by getexternal of the idochostuihandler interface of webbrowser.