Ask a questionAsk a question
 

AnswerOld Sheridan controls to .NET

  • Wednesday, March 26, 2008 1:23 AMErikValeur Users MedalsUsers MedalsUsers MedalsUsers MedalsUsers Medals
     

    I have a group of applications which use the old Sheridan Control add-ins that came with VB3. (My apps were originally written in VB3!) I have been able to migrate these controls, specifically SSPanel, all the way up to Visual Studio 2005. The ocx file is named Treed32.ocx. The problem comes when I attempt to migrate the development system from Win/2K to Win/Vista! (Surprise...)

     

    In Visual Studio 2005 on the Win/2K machine: On the Project\References screen, the Sheridan Reference shows "Sheridan 3D Controls" as the name & COM as the type. Everything works here, and the app runs fine on Win/2K & Win/XP. (But not in Vista)

    In Visual Studio 2005 on the Win/Vista machine: The name shows as "Axinterop.Threed" & the type is .NET. Visual Studio insist that there is an unregistered class!

    Anyone know why this works properly on the 2K machine but not on Vista? Why does the type change from COM to .NET?


    I copied the entire project directory tree from the 2K machine to the Vista machine. There are a lot of these controls in this group of applications, I don't really want to re-write them all...

     

Answers

  • Monday, March 31, 2008 8:49 AMMartin Xie - MSFTMSFT, ModeratorUsers MedalsUsers MedalsUsers MedalsUsers MedalsUsers Medals
     Answer



     ErikValeur wrote:

    I have a group of applications which use the old Sheridan Control add-ins that came with VB3. (My apps were originally written in VB3!) I have been able to migrate these controls, specifically SSPanel, all the way up to Visual Studio 2005. The ocx file is named Treed32.ocx. The problem comes when I attempt to migrate the development system from Win/2K to Win/Vista! (Surprise...)

    In Visual Studio 2005 on the Win/2K machine: On the Project\References screen, the Sheridan Reference shows "Sheridan 3D Controls" as the name & COM as the type. Everything works here, and the app runs fine on Win/2K & Win/XP. (But not in Vista)

    In Visual Studio 2005 on the Win/Vista machine: The name shows as "Axinterop.Threed" & the type is .NET. Visual Studio insist that there is an unregistered class!

    Anyone know why this works properly on the 2K machine but not on Vista? Why does the type change from COM to .NET?

     

    Hi ErikValeur,

     

    Welcome to MSDN forums!

     

    Please register the ActiveX control on Vista from command line:

    Regsvr32 Treed32.ocx

     

    You can use the Regsvr32 tool (Regsvr32.exe) to register and unregister OLE controls such as DLL or ActiveX Controls (OCX) files that are self-registerable.

     

    Document: Explanation of Regsvr32 usage and error messages

    http://support.microsoft.com/kb/249873

     

     

    Reference: http://forums.microsoft.com/MSDN/ShowPost.aspx?PostID=672584&SiteID=1

    Generating Interop and AxInterop Dlls

     

     

    Regards,

    Martin

All Replies

  • Monday, March 31, 2008 8:49 AMMartin Xie - MSFTMSFT, ModeratorUsers MedalsUsers MedalsUsers MedalsUsers MedalsUsers Medals
     Answer



     ErikValeur wrote:

    I have a group of applications which use the old Sheridan Control add-ins that came with VB3. (My apps were originally written in VB3!) I have been able to migrate these controls, specifically SSPanel, all the way up to Visual Studio 2005. The ocx file is named Treed32.ocx. The problem comes when I attempt to migrate the development system from Win/2K to Win/Vista! (Surprise...)

    In Visual Studio 2005 on the Win/2K machine: On the Project\References screen, the Sheridan Reference shows "Sheridan 3D Controls" as the name & COM as the type. Everything works here, and the app runs fine on Win/2K & Win/XP. (But not in Vista)

    In Visual Studio 2005 on the Win/Vista machine: The name shows as "Axinterop.Threed" & the type is .NET. Visual Studio insist that there is an unregistered class!

    Anyone know why this works properly on the 2K machine but not on Vista? Why does the type change from COM to .NET?

     

    Hi ErikValeur,

     

    Welcome to MSDN forums!

     

    Please register the ActiveX control on Vista from command line:

    Regsvr32 Treed32.ocx

     

    You can use the Regsvr32 tool (Regsvr32.exe) to register and unregister OLE controls such as DLL or ActiveX Controls (OCX) files that are self-registerable.

     

    Document: Explanation of Regsvr32 usage and error messages

    http://support.microsoft.com/kb/249873

     

     

    Reference: http://forums.microsoft.com/MSDN/ShowPost.aspx?PostID=672584&SiteID=1

    Generating Interop and AxInterop Dlls

     

     

    Regards,

    Martin

  • Monday, March 31, 2008 7:10 PMErikValeur Users MedalsUsers MedalsUsers MedalsUsers MedalsUsers Medals
     

    Martin,

     

    Registering with Regsvr32 took care of the problem.

     

    Thanks,

    Erik Valeur

     

  • Monday, April 07, 2008 5:20 PMErikValeur Users MedalsUsers MedalsUsers MedalsUsers MedalsUsers Medals
     

    Well, it turns out Microsoft is right when they say "unexpected behavior" may happen when using the old Sheridan controls in .NET
    I got the Sheridan controls to work just fine, but they somehow trap or disable the capturing of the arrow keys! Doesn't matter if I'm using Keydown, Keypress or Keyup. If there is a an old Sheridan item in the form, the code ignores the arrow-keys.
    I'm giving up on the Sheridan controls, now I'm redesigning all the forms. Shoulda done it a long time ago...
    Erik

  • Thursday, October 29, 2009 5:01 PMMarkJuras Users MedalsUsers MedalsUsers MedalsUsers MedalsUsers Medals
     
    Hi Erik,

    How did the redesign go?  What was your replacement strategy for each sheridan control?  Did you encounter any particularly difficult redesign problems?