Menu

CreateObject works on one PC, not on a second one

Help
Peter
2023-07-20
2023-07-20
  • Peter

    Peter - 2023-07-20

    I have an error condition I cannot figure out how to solve. On one PC I issue a .OLEObject~new call for one of the IBM PCOMM OLE classes and it works every time. On a second PC with the same version of PCOMM installed (V14 if it matters) the same .OLEObject~new call never works. Error messages are pasted below.

    I have used Rony's program listprogids.rex to list the PCOMM classes on both PC's and they are all there on each machine according to that program. Both PC's are Windows 10 with oorexx V5.0.0 build 12583 installed.

    A second wrinkle is that before the .OLEObject~new error listed below happens, a previous part of the code has also issued .OLEObject~new but for a different PCOMM class and it worked, but the method invoked after that object creation seems to work differently on the second PC. In particular, this is the PCOMM.autSystem class with method Inputnd() which puts up a "no display" input window for masked password entry. On PC #1 where everything works, the .OLEObject~new call works and the Inputnd() window has a legend that says "Enter characters (they will not be displayed)", while on PC #2 the .OLEObject~new call does not fail but there is no legend at all in the Inputnd() window, just blanks (but the window does pop up and characters can be entered).

    Any guidance on how to solve this would be much appreciated.

    Peter

    P.S. -- I also ran a "repair installation" of the PCOMM V14 on PC#2 and it did not change anything, the .OLEObject~new still fails. A VBS test script that is equivalent to the failing rexx code tries to do "CreateObject" for that same PCOMM class and also fails.

    Error messages from second PC:

    - Compiled method "INIT" with scope "OLEObject"
    - Compiled method "NEW" with scope "Object"
    51 - Method NEW with scope "OLEObject" in package "REXX" (no source available)
    366 - connList = .OLEObject~new("PCOMM.autECLConnList")
    93 - Call ConnectSess
    Error 92 running REXX line 51: OLE error
    Error 92.911: Could not create OLE instance

     

    Last edit: Peter 2023-07-20
    • Jeremy Nicoll

      Jeremy Nicoll - 2023-07-20

      On Thu, 20 Jul 2023, at 20:41, Peter wrote:

      On PC #1 where everything works, the CreateObject call works and the
      Inputnd() window has a legend that says "Enter characters (they will
      not be displayed)", while on PC #2 the CreateObject call does not fail
      but there is no legend at all in the Inputnd() window, just blanks (but
      the window does pop up and characters can be entered).

      Do the two instances of PCOMM have configuration files / user settings
      that might influence how they respond to method calls, or what a (real
      person) user using them would see?

      --
      Jeremy Nicoll - my opinions are my own.

       
      • Peter

        Peter - 2023-07-20

        Jeremy, not that I am aware of. There are various configuration files associated with PCOMM, but I did not think any of them had any impact on the OLE mechanism. I will poke around on both PC's and see if there is anything that looks suspiciously different.

        P.S. - Note that my original post was edited to change my original references to "CreateObject" (which is a VBS function) to the oorexx function .OLEObject~new. My apologies for using the wrong name. I've been working in parallel on a VBS version of this code and got a little confused.

        [Edit] I checked both PC's, there is one "API" area in the Settings menu, but both PC's have that set the same way - DDE/HLLAPI checked "on", PC code page 1252, SRPI not checked.

         

        Last edit: Peter 2023-07-20

Log in to post a comment.