InfoConnect for Unisys
Attachmate.Reflection.Framework Namespace / MyReflection Class / CreateApplication Method / CreateApplication(String) Method
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.
Example


In This Topic
    CreateApplication(String) Method
    In This Topic
    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 InfoConnect 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\InfoConnect\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