¡Caminando hacia el éxito!

Aprende en Comunidad

Avalados por :

Cómo resolver el problema de SAPbouiCOM ActiveX AcXTree en Windows 7 x64

  • Creado 01/03/2024
  • Modificado 01/03/2024
  • 31 Vistas
0
Cargando...

Hola expertos,

SAPbouiCOM.ActiveX AcXTree = null; Item oItem = form.Items.Add("Tree", BoFormItemTypes.it_ACTIVE_X); oItem.Left = 15;  oItem.Top = 10;  oItem.Width = 500;  oItem.Height = 250;  AcXTree = oItem.Specific as ActiveX; AcXTree.ClassID = "MSComctlLib.TreeCtrl.2";  tview = AcXTree.Object as TreeView;  // aquí se lanzará un error

mscomctl.ocx está instalado. ¿Alguien tiene alguna idea de cómo resolver el problema? En todos los demás ordenadores funciona, pero en este con Windows 7 x64 no. En realidad, también tengo Windows 7 x64, y funciona en mi ordenador. SAP 8.82 PL 11.

Saludos cordiales,

Alexander

Pedro Pascal
Se unió el 07/03/2018
Pinterest
Telegram
Linkedin
Whatsapp

4 Respuestas

0
Cargando...

Hola Edy,

He construido mi aplicación como 32 bits. El ocx se instaló después de instalar el sistema operativo.

Saludos,

Alexander

Respondido el 15/04/2024
LUCIANO RIOJA GHIOTTO
Se unió el 13/07/2019
0
Cargando...

Hola Thomas,

¿Has construido tus aplicaciones como 64 o 32 bits?

mScomctl es un control de solo 32 bits.

No funcionará si lo construyes como 64 bits.

Si lo construyes como 32 bits, asegúrate de que no falte el mscomctl.

Hubo una actualización de Windows 7 que eliminó este ocx.

Intenta acceder a este treeview desde el VBA de Microsoft Excel creando una macro.

Si sospechas que falta el ocx, busca en MSDN. Hay una nota al respecto.

Saludos

Edy

Respondido el 15/04/2024
LUCIANO RIOJA GHIOTTO
Se unió el 13/07/2019
0
Cargando...

mi sistema es

SO: win 7 de 64 bits

SAP: B1 9.0 de 32 bits

Código de muestra aquí

using System;using System.Collections.Generic;using System.Linq;using System.Text;//using System.Windows.Forms;   // 轉型失敗 tran type failusing mscomctl;namespace SAP{    class ActiveXTree    {        //**********************************************************        // Este parámetro nos permitirá manipular        // la aplicación de SAP Business One        // y la empresa en la que estamos trabajando        //**********************************************************        private SAPbouiCOM.Application SBO_Application;        private SAPbobsCOM.Company oCompany;        //private MSComctlLib.TreeView oTreeView;        private mscomctl.TreeView oTreeView;        private SAPbouiCOM.EditText oEdit;        private void SetApplication()        {            // *******************************************************************            // Utilice un objeto SboGuiApi para establecer la conexión            // con la aplicación de SAP Business One y devolver un            // objeto de aplicación inicializado            // *******************************************************************            SAPbouiCOM.SboGuiApi SboGuiApi = null;            string sConnectionString = null;            SboGuiApi = new SAPbouiCOM.SboGuiApi();            // Al seguir los pasos especificados arriba            // la siguiente declaración debería ser suficiente para            // desarrollo o modo de ejecución            sConnectionString = System.Convert.ToString(Environment.GetCommandLineArgs().GetValue(1));            //// Conectar a una aplicación SBO en ejecución            //SboGuiApi.Connect(sConnectionString);            //// Obtener un objeto de aplicación inicializado            //SBO_Application = SboGuiApi.GetApplication(-1);            try            {                // Conectar a una aplicación SBO en ejecución                SboGuiApi.Connect(sConnectionString);                // Obtener un objeto de aplicación inicializado                SBO_Application = SboGuiApi.GetApplication(-1);            }            catch            {                // Falló la conexión                System.Windows.Forms.MessageBox.Show("No se pudo conectar a SAP Business One", "Error de conexión", System.Windows.Forms.MessageBoxButtons.OK, System.Windows.Forms.MessageBoxIcon.Exclamation);                // Finalizar la aplicación                System.Environment.Exit(0);            }        }        private int SetConnectionContext()        {            int setConnectionContextReturn = 0;            string sCookie = null;            string sConnectionContext = null;            int lRetCode
        
Respondido el 15/04/2024
LUCIANO RIOJA GHIOTTO
Se unió el 13/07/2019
0
Cargando...

Hola Thomas,

Utilizo "mscomctl" en lugar de "MSComctlLib", ¡y funciona!

Si no lo tienes, solo busca la palabra clave "Microsoft Windows Common Controls 6.0 (SP6)"

¡Buena suerte!

SAP_001.jpg
Respondido el 15/04/2024
LUCIANO RIOJA GHIOTTO
Se unió el 13/07/2019

contacto@primeinstitute.com

(+51) 1641 9379
(+57) 1489 6964

© 2024 Copyright. Todos los derechos reservados.

Desarrollado por Prime Institute

¡Hola! Soy Diana, asesora académica de Prime Institute, indícame en que curso estas interesado, saludos!
Hola ¿Puedo ayudarte?