2.0.1 Supported Languages
An RD-VBA environment host may configure language-level restrictions or extensions, depending on the capabilities of the host application.
A language is identified by a language code. The following list is prioritized:
| Language code | Definition |
|---|---|
VBA |
The Visual Basic for Applications language as per the MS-VBAL language specification. |
VB6 |
Largely the same language definition as VBA, without the restrictions around attribute semantics, and with a limited set of additional semantics. |
VBX |
Extended RD-VBA. An environment host that signals support for this language code may support semantics that would be illegal in VB6 or VBA. |
VBS |
A diminished language specification that removes Option Explicit and declared types, forcing the use of duck-typing using implicit Variant declarations. |
BASIC |
A diminished language specification that removes procedure scopes (see BASIC below). |
VBA is deemed a subset of the VB6 language (see RD-VBAL §3.1.1 Attributes).
The list is not intended to be exhaustive: additional dialects may be supported by different RD-VBA hosts.
BASIC
The BASIC language code removes procedure scopes, and restricts the language as follows:
| Construct | BASIC restriction |
|---|---|
| Comments | REM is the only comment form. This makes annotations unavailable. |
| Control flow | Line numbers and GoSub/Return are required for control flow. |
| Loops | Do...Loop and Do...While constructs are undefined, forcing the use of While...Wend constructs. |
This list of restrictions is not complete.
Scope of the SDK
🎯 The scope of the RDCore SDK minimally covers
VBA, thenVB6, thenVBX, and so on.
👉 The LSP paradigm shift, where an RD-VBA project physically exists in the file system (see RD-VBAL §2.0 RD-VBA Computational Environment), alone brings RD-VBA much closer to how VB6 already works.
⏮️ RD-VBAL §2.0 RD-VBA Computational Environment | ⏭️ RD-VBAL §2.0.2 Client/Server Capabilities