Admin Production rocket
Current Publication

CreateApplication(String) Method

Reflection Desktop .NET API Guide V17.1
Rocket® Reflection Desktop (formerly a product of Micro Focus or formerly a product of Open Text) documentation that was created prior to Rocket Software's acquisition of certain products from OpenText may contain outdated references to "Micro Focus” or “OpenText”, which are trademarks of OpenText. Rocket Software is not affiliated with Micro Focus or OpenText and has rebranded these products as Rocket® products.
IPC channel name. The channel name must have the same format as a valid Internet hostname. Names can contain only the ASCII letters 'a' through 'z' (in a case-insensitive manner), the digits '0' through '9', and the hyphen ('-'). No other symbols, punctuation characters, or white space are permitted.
CreateApplication(String) Method
In This Topic
Creates an application that represents the instance of MyReflection running at the specified IPC channel.
Syntax

                     
                     
'Declaration
 

                     
                     
<SuppressMessageAttribute("Microsoft.Design", "CA1057:StringUriOverloadsCallSystemUriOverloads")>
Public Overloads Shared Function CreateApplication( _
   ByVal channelName As String _
) As Application

                  

                     
                     
'Usage
 

                     
                     
Dim channelName As String
Dim value As Application
 
value = MyReflection.CreateApplication(channelName)

                  

                     
                     
[SuppressMessage("Microsoft.Design", "CA1057:StringUriOverloadsCallSystemUriOverloads")]
public static Application CreateApplication( 
   string channelName
)

                  

Parameters

channelName
IPC channel name. The channel name must have the same format as a valid Internet hostname. Names can contain only the ASCII letters 'a' through 'z' (in a case-insensitive manner), the digits '0' through '9', and the hyphen ('-'). No other symbols, punctuation characters, or white space are permitted.

Return Value

An Application object.
Example
This sample starts two Reflection instances and assigns channel names to each instance. Then it gets handles to the instances with those channel names.
using System;
using System.Collections.Generic;
using System.Text;
using Attachmate.Reflection;
using Attachmate.Reflection.Emulation.IbmHosts;
using Attachmate.Reflection.Framework;
using Attachmate.Reflection.UserInterface;
using Attachmate.Reflection.Emulation.OpenSystems;
namespace MultipleWorkSpaces
{
    class Program
    {
        static void Main(string[] args)
        {
            //Start an visible instance of a workspace and get a handle to the instance running at the given channel name ("Workspace1") 
            MyReflection.Start("Workspace1");
            Application app1 = MyReflection.CreateApplication("WorkSpace1");

            //Create a new IBM Session
            IIbmTerminal terminal1 = (IIbmTerminal)app1.CreateControl(new Guid("{09E5A1B4-0BA6-4546-A27D-FE4762B7ACE1}"));
            terminal1.HostAddress = "demo:ibm3270.sim";

            //Create a View and then get a handle to the screen
            IFrame frame1 = (IFrame)app1.GetObject("Frame");
            frame1.CreateView(terminal1);
            IIbmScreen screen1 = terminal1.Screen;

            //Start a second visible instance of a workspace and get a handle to the instance running at the given channel name ("Workspace2")  
            MyReflection.Start("Workspace2");
            Application app2 = MyReflection.CreateApplication("WorkSpace2");

            //Open a session in the second workspace
            string sessionPath = Environment.GetEnvironmentVariable("USERPROFILE") + @"\Documents\Micro Focus\Reflection\demoSession.rdox";
            ITerminal terminal2 = (ITerminal)app2.CreateControl(sessionPath);

            //Create a View for the session in the second workspace, and then get a handle to the screen
            IFrame frame2 = (IFrame)app2.GetObject("Frame");
            frame2.CreateView(terminal2);
            IScreen screen2 = (IScreen)terminal2.Screen;

            //Get some text from each of the terminal screens in the two workspaces
            Console.WriteLine("IBM terminal text is" + screen1.GetText(1, 1, 20) + "and UNIX text is" + screen2.GetText(1, 1, screen2.DisplayRows, screen2.DisplayColumns));

            //Close the workspaces
            app1.Close(ApplicationCloseOption.CloseNoSave);
            app2.Close(ApplicationCloseOption.CloseNoSave);
        }
    }
}



See Also