RobotStudio event

UIShow Generates a Fault

Hi Everyone,

 

I can't seem to get UIShow to launch my screen.

 

The names of the application extentions in my home directory are:

TpsViewFSWControlScreen.dll
TpsViewFSWControlScreen.gtpu.dll

In Rapid I have this:

**************************************************
  CONST string Name:="TpsViewFSWControlScreen.gtpu.dll";
  CONST string Type:="ABB.Robotics.SDK.Views.TpsViewFSWControlScreen";
  CONST string Cmd1:="Init data string passed to the view";
  PERS uishownum myinstance:=0;
  VAR num mystatus:=0;


  UIShow Name,TypeInitCmd:=Cmd1InstanceID:=myinstanceStatus:=mystatus;

**************************************************
Why does executing UIShow generate the following error?


41664 The typename is invalid for this assembly 2009-04-01 14:02:01  
Task: T_ROB1 The inparameter TypeName is invalid.
The typename does not match the assembly.Status -5.
Program Ref /SWV50_Gantry/StirL/UIShow/483. 
{args: "T_ROB1", "TypeName", "-5", "/
SWV50_Gantry/StirL/UIShow/483", "ERR_UISHOW_FATAL"}

Comments

  • Try the following:

    UIShow "TpsViewFSWControlScreen.gtpu.dll", "ABB.Robotics.SDK.Views.TpsViewFSWControlScreen";

     

    Also make sure of the following in bold matches in your assembly attribute:


    <Assembly: ABB.Robotics.Tps.Taf.TpsView(
    "UIShow Test", "tpu-Operator32.gif", "tpu-Operator16.gif", "TpsViewFSWControlScreen.dll", _
    "TpsViewFSWControlScreen.TpsViewFSWControlScreen", StartPanelLocation.Left, TpsViewType.Static, TpsViewStartupTypes.Manual)>
    And that the name of your view class is TpsViewFSWControlScreen.RussD2009-04-02 21:06:51
    Russell Drown
  • Russell,
     

    Would you please clarify your suggestion:

     

    "And that the name of your view class is TpsViewFSWControlScreen."

     

    Explain "view class", please.

     

    Thank You

    Kenny
  • When you create a FlexPendant type project, their will be a class file added to the project called view.vb or view.cs. This is what I was referring to as the view class.
     

    By default, the class name declaration that represents the FlexPendant application type, e.g. inherits from TpsForm or TpsControl, will be the same as the project name that you select when you run the project wizard. This information will automaically be updated in the Assembly attribute that is defined just above the class declaration when your application is created.

     

    If, however, you change then name of the class, then you must change this in the assembly attribute manually.

     

    Here is an example of valid info from a VB project:

     


    <Assembly: ABB.Robotics.Tps.Taf.TpsView(
    "UIShow Test", "tpu-Operator32.gif", "tpu-Operator16.gif", "TpsViewUIShow.dll", _
    "TpsViewUIShow.TpsViewUIShow", StartPanelLocation.Left, TpsViewType.Static, TpsViewStartupTypes.Manual)>
    Public
    Class TpsViewUIShow
    Inherits TpsControl
    Implements ITpsViewSetup, ITpsViewActivation

    Note that if you can open your application correctly from the start menu that this stuff should be OK.

     

     
    Russell Drown