Background

Starting with Version 4.7, A-Shell for Windows has been an ActiveX or automation server. This is a technology based around COM (Component Object Model) which allows different applications or components to be developed separately and in different languages, and which are then able to communicate and interact with each other via a number of published interfaces.

What this means is that the functionality of A-Shell can be controlled from external applications such as Visual Basic, and the functionality of A-Shell AlphaBASIC applications can be integrated to a degree with that of these other applications. In particular this ActiveX support allows XCALL subroutines to be written in any language which supports COM objects – most importantly this includes Visual Basic.

Visual Basic is an ideal language for the development of A-Shell COM components, for a number of reasons, not least of which is that the syntax of the language is similar to that of AlphaBASIC itself, though of course much more powerful. For this reason, all code samples given in this document are in Visual Basic, and the functionality is described from a Visual Basic perspective. However the concepts equally apply to other COM-capable languages, such as Visual C++, and the Visual Studio.NET suite including Visual Basic.NET, and Visual C#.