Reflection
CreateApplication(String) Method
Example 


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.
Creates an application that represents the instance of MyReflection running at the specified IPC channel.
Syntax
'Declaration
 
<SuppressMessageAttribute(Category="Microsoft.Design", 
   CheckId="CA1057:StringUriOverloadsCallSystemUriOverloads", 
   Scope="", 
   Target="", 
   MessageId="", 
   Justification="")>
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(Category="Microsoft.Design", 
   CheckId="CA1057:StringUriOverloadsCallSystemUriOverloads", 
   Scope="", 
   Target="", 
   MessageId="", 
   Justification="")]
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