Plex 2E

 View Only
  • 1.  Plex 6.1 - Triggering Panel Events from External Programs

    Posted Feb 11, 2014 06:53 AM

    Dear all,

    I'm trying to create a .NET program that triggers event in a Plex windows client.
    The tests that I made are based upon the document "Plex Help: User Guide - Chapter 9 Integrating CA Plex Application with Other Systems".

    Unfortunately I'm not able to invoke the CoolPlexPanelAPI.dll: the problem seems to be related to the registration of the CoolPlexPanelAPI.dll

    The Windows configurations that I've tested are:

    1. Windows 7 64bit
    2. Windows 7 32bit
    3. Windows XP 32bit

    The error that I get is "Retrieving the COM class factory for component with CLSID {FFC4C83B-2E32-4997-B1A1-ECACF8CB90D9} failed due to the following error: 80040154" (DLL registration error)
    The DLL has been registered using regsvr32 without errors (in the 64bit configuration using the wow64 version of regsvr32 as administrator does not solve the issue)
    I've tried using ProcessMonitor from SysInternals (
    http://technet.microsoft.com/en-us/sysinternals/bb896645.aspx) to understand where is the problem: registry keys for the dll are missing!

    Do you have any suggestion? 

    Thanks in advance!

    UPDATE: after installing Visual Basic 6 on a new virtual machine running Windows XP SP2, I'm still blocked. Is the integration with external programs possible? 
    The code used in my VB6 project is the same of the help documentation.

    MichelaZ

     



  • 2.  RE: Plex 6.1 - Triggering Panel Events from External Programs

    Posted Feb 11, 2014 12:52 PM
      |   view attached

    Hi MichelaZ

    This maynot help for your issue since you are testing on 32bit env as well.

    But for your .NET application to run on 64 bit env with 32 bit com, make sure you have compiled your EXE for 32bit mode. (Not for ANYCPU or x64).

    In your project, property --> Build tab

    Kiyoshi

     



  • 3.  RE: Plex 6.1 - Triggering Panel Events from External Programs

    Posted Feb 12, 2014 03:14 AM

    Hy,

    unfortunately this doesn't solve the issue.

    Thanks for the answer anyway!

    Michela



  • 4.  RE: Plex 6.1 - Triggering Panel Events from External Programs
    Best Answer

    Posted Feb 12, 2014 05:09 AM

    Hi Michela,

    Firstly can you leave feedback on your previous issue, Please.

    "Is the integration with external programs possible?" Yes and you have downloaded StellaTools group model so look at Source code: StellaTL/StellaTools.Abstract.OBJECTS.Msc.TriggerExternalAppEvent.API.WinC.PEATriggerLogicalEvent  and  Function: StellaTL/StellaTools.Tools.Abstract._ObjectBrowser.ObjectBrowser.Shunt

    I would advise using if possible the DLL method as opposed to having to register COM object as used by StellaTools so that you dont need to register the COM object on the deployment PC

    "I'm trying to create a .NET program that triggers event in a Plex windows client." IS this Plex generated .NET? Where is this .NET running on a server or on deployment PC? I would guess only Cilent running .NET has a chance of working! Knowing from you previous post you are doing a conversion, how does the exisitng system work, WINC triggers WINC?



  • 5.  RE: Plex 6.1 - Triggering Panel Events from External Programs

    Posted Feb 13, 2014 09:23 AM

    Hi George,

    first of all, thanks for your answer and forgive me about the previous post! After spending a lot of time on the issue I've asked to my colleagues to investigate in the cursor problem. I'll get back to that post ASAP.

    Back to the Triggering issue:
    for  a side project of ours, we need to interact with an existing DLL written by our .NET team in C#, hosted on a Windows Application deployed on the client. The purpose of this integration is to invoke particular tasks on the Plex generater application (C++ output). Each application is installed on every client.

    The basic interop can be surrarize as:

    .NET(DLL) ----TRIGGERS- ----->>> Plex WinClient (C++)

    Do you have any suggestion?

    Thanks!

    Michela



  • 6.  RE: Plex 6.1 - Triggering Panel Events from External Programs

    Posted Feb 13, 2014 11:04 AM

    my suggestion is to give your .NET team C#,    the CA supplied  PlexExt.dll and PlexExternalAPI.h header file

    And say if I was coding C++ I would do it this way can you please invoke PlexExt.dll in C#

     

    Example

    The following code is taken from an MFC application used to test the firing of CA Plex logical events using the DLL.

    The MFC application links to the library PlexExt.lib.

    #include <PlexExternalAPI.h>
    void CTestBedDlg::OnOK()
    {
        UpdateData(TRUE);

        int nSel = m_Panels.GetCurSel();
        if(nSel == LB_ERR)
        {

    return;
    }

    CString strPanel;
    m_Panels.GetText(nSel, strPanel);

    bool Ret = PEATriggerLogicalEvent( (LPCSTR) strPanel, (LPCSTR) m_LogicalEvent);
    if(Ret)

    {
    m_Result = "Success";
    }
    else
    {
    m_Result = "Error";
    }

    UpdateData(FALSE);
    }

    The .net team may find this trivial or mught need http://www.codeproject.com/Articles/14180/Using-Unmanaged-C-Libraries-DLLs-in-NET-Applicatio

    Warning all instances of your Plex WinClient (C++) will get triggered if multiple instances running on your desktop 



  • 7.  RE: Plex 6.1 - Triggering Panel Events from External Programs

    Posted Feb 13, 2014 11:10 AM

    Thanks George!

    I'll give it a try and I'll get back to you.

    Best Regards,

    Michela



  • 8.  RE: Plex 6.1 - Triggering Panel Events from External Programs

    Posted Feb 16, 2024 01:18 PM

    Where you able to work your way out of this problem? as I am strugling with the same problem ! please help!




  • 9.  RE: Plex 6.1 - Triggering Panel Events from External Programs

    Posted Mar 08, 2024 08:54 AM

    managed to get rid of the error because of the missing registry, I needed to make this

    . Locate HKEY_CURRENT_USER\SOFTWARE\Classes\Wow6432Node\CLSID, add the following key/value pairs.
    Key: {FFC4C83B-2E32-4997-B1A1-ECACF8CB90D9}
    String Value: Default REG_SZ PanelAPI Class
    Sub Keys:
    InprocServer32 String Value: Default REG_SZ <Full\Path\to\CoolPlexPanelAPI.dll>
    ProgId String Value: Default REG_SZ COOLPLEXPANELAPI.PanelAPI
    I however now have the error that my external application cannot find the panel 
    Who can help? Thank you in advance!
    greetings,
    Ineke