COM Activex [examples]


The code below will embed Internet Explorer into a Form. You can embed COM/ActiveX controls in any of the containers in the Lianja App Framework e.g. Form, Container, Control, or Page (Tab Page).

myform = createobject("form")
myform.resize(800, 600)
myform.addobject("ax", "{8856F961-340A-11D0-A96B-00C04FD705A2}")
ax.anchor = 15

Creating the COM/ActiveX component

You can specify the ActiveX control in several different formats.

The most efficient way is by using the registered component’s UUID, e.g.


The second fastest way is to use the registered control’s class name (with or without version number), e.g.


The slowest, but easiest way to use is to use the control’s full name, e.g.

createObject("Calendar Control 9.0")

It is also possible to initialize the object from a file, e.g.


If the component’s UUID is used the following patterns can be used to initialize the control on a remote machine, to initialize a licensed control or to connect to a running object:

To initialize the control on a different machine use the following pattern:


To initialize a licensed control use the following pattern:


To connect to an already running object use the following pattern:


The first two patterns can be combined, e.g. to initialize a licensed control on a remote machine:


Binding to events

Binding to events that are emitted from a COM/ActiveX component is simple. See below.

define class myeventhandler
    // handle the events you are interested in
    proc DownloadBegin()

    proc DownloadComplete()

    proc ProgressChange(currentvalue, maxvalue)

    // The "Special" HandleEvent method can be used to trace events but be sure to remove it in production systems 
    // as it incurs unnecessary performance overhead
    proc HandleEvent(name, arglist)

ie = createObject("{8856F961-340A-11D0-A96B-00C04FD705A2}")
myhandler = createObject("myeventhandler")
eventHandler(ie, myhandler)


Leave a Reply

Fill in your details below or click an icon to log in: Logo

You are commenting using your account. Log Out /  Change )

Google photo

You are commenting using your Google account. Log Out /  Change )

Twitter picture

You are commenting using your Twitter account. Log Out /  Change )

Facebook photo

You are commenting using your Facebook account. Log Out /  Change )

Connecting to %s

This site uses Akismet to reduce spam. Learn how your comment data is processed.