You can create a session from a Reflection macro. This example shows how to create a macro in a Reflection project. Macros in the Common project can be run from any session or from the workspace.
If you prefer to run macros in pre-configured sessions instead of creating your own sessions, you can download the VBA Sample Sessions and open the dynamically-create-a-session.rd3x (IBM) and dynamically-create-a-session.rdox (Open Systems) files. For the Open Systems sample, be sure to change the placeholder on the line of code that specifies the HostAddress to your host name or IP address. The download package contains everything you need to run the macros in these files. See Download the VBA Sample Sessions.
To create a session from another application, you'll need to use the Reflection ApplicationObject, Frame, View, and terminal objects.
For more about these objects, see Using the Reflection Object Model.
This sample uses the CreateControl2 method to create the terminal control for the session. This method returns the appropriate terminal control for the GUID value that you pass to it. Each type of terminal supported by Reflection has a unique GUID, as shown below:
Terminal Control | GUID |
Ibm 3270 | {09E5A1B4-0BA6-4546-A27D-FE4762B7ACE1} |
Ibm 5250 | {AF03A446-F278-4624-B9EF-C896DF2CA1CA} |
VT (Open Systems) | {BE835A80-CAB2-40d2-AFC0-6848E486BF58} |
Web | {F1F058B1-0472-4095-A782-3D7333813AD0} |
ALC | {0327C7A7-820D-4F9F-8BD6-11E0398605F1} |
UTS | {C8ADCD4F-3DF8-4BCA-821B-995FEF8DAFEF} |
T27 | {2AB85541-5BE6-4BCB-8AF5-DA2848DBA28C} |
We use the terminal control to set the host address. For IBM sessions, you can also use it to set the port.
terminal.HostAddress = "demo:ibm3270.sim" terminal.Port = "623"
For Open Systems sessions, you will need to set the type of connection you want to use first. Reflection supports a number of connection types, including Telnet and Secure Shell (SSH).
'Create a Telnet connection and set the host name to connect to terminal.ConnectionSettingsTelnet.HostAddress = "yourHostName"
You can also create this macro in a Common project module and then call it to create this session. Macros in the Common project can be called by any session or by workspace actions. For more about this, see Sharing and Referencing Macros and Controlling Macro Execution.