Club Delphi  
    FTP   CCD     Buscar   Trucos   Trabajo   Foros

Retroceder   Foros Club Delphi > Otros entornos y lenguajes > C++ Builder
Registrarse FAQ Miembros Calendario Guía de estilo Buscar Temas de Hoy Marcar Foros Como Leídos

Respuesta
 
Herramientas Buscar en Tema Desplegado
  #1  
Antiguo 07-09-2016
TOLO68 TOLO68 is offline
Miembro
 
Registrado: sep 2016
Posts: 14
Poder: 0
TOLO68 Va por buen camino
Dudas para usar y crear OCX-ActiveX en C++ Builder 5.0

Hola a Todos

Desde hace años programo en Visual Basic 5-6
con el cual programé algunos OCX con VB5 CCE

Ahora quiero programar estos mismos y algunos nuevos
con C++ Builder 5.0, pero tengo algunas dudas

1- Puedo usar los OCX compilados con VB5 en Builder, o no son compatibles ??
ya que voy a Component - Import Activex Control, y no aparece
en la barra de Controles, y en VB5 o 6 si que funcionan

2- Al crear ActiveForms en Builder, en que archivo o como
se hace para asignar un icono a este OCX, para que aparezca
en la barra de controles de VB, Builder o Delphi.
y que extension y medidas debe ser el icono.

Gracias a todos de Antemano
Responder Con Cita
  #2  
Antiguo 08-09-2016
bitbow bitbow is offline
Miembro
 
Registrado: jul 2006
Posts: 366
Poder: 18
bitbow Va camino a la fama
Los OCX son compatibles con delphi (y varios lenguajes mas), no deberias tener problemas al intentar usar tus compilados de VB en Delphi o C Builder, de igual forma lo que desarrolles en C Builder los puedes usar en VB u otro lenguaje que te agrade.

Saludos.
__________________
¡Ni como ayudarte Niño!!
bitbow
Responder Con Cita
  #3  
Antiguo 14-09-2016
Snaked Snaked is offline
Baneado
NULL
 
Registrado: sep 2016
Posts: 102
Poder: 0
Snaked Va por buen camino
Si, importar archivos OCX es muy facil en C++ Builder

aqui tienes un video que explica por pasos como lo tienes que instalar en la pestaña ACTIVEX de la VCL



PD.- ojala todas las dudas fuesen asi de faciles de responder jejejej

Última edición por Casimiro Notevi fecha: 14-09-2016 a las 11:04:17.
Responder Con Cita
  #4  
Antiguo 14-09-2016
Avatar de Casimiro Notevi
Casimiro Notevi Casimiro Notevi is offline
Moderador
 
Registrado: sep 2004
Ubicación: En algún lugar.
Posts: 32.021
Poder: 10
Casimiro Notevi Tiene un aura espectacularCasimiro Notevi Tiene un aura espectacular
Cita:
Empezado por Snaked Ver Mensaje
...
Los enlaces a videos de youtube puedes ponerlo tú mismo así:
Ejemplo, tienes el enlace: https://www.youtube.com/watch?v=B6n0op0sLPA
Escribes lo que está después del = entre las etiquetas youtube:
[youtube]B6n0op0sLPA[/youtube]
Responder Con Cita
  #5  
Antiguo 14-09-2016
Snaked Snaked is offline
Baneado
NULL
 
Registrado: sep 2016
Posts: 102
Poder: 0
Snaked Va por buen camino
ok, gracias Moderador..... creia que al no tener los 10 mensajes no podia ponerlo aun
Responder Con Cita
  #6  
Antiguo 14-09-2016
TOLO68 TOLO68 is offline
Miembro
 
Registrado: sep 2016
Posts: 14
Poder: 0
TOLO68 Va por buen camino
Hola Snaked, gracias por tu rapida respuesta, pero no veo el link del video, jejeje, y el de mas abajo es de una bicibleta
Saludos a Todos
Responder Con Cita
  #7  
Antiguo 14-09-2016
Avatar de Casimiro Notevi
Casimiro Notevi Casimiro Notevi is offline
Moderador
 
Registrado: sep 2004
Ubicación: En algún lugar.
Posts: 32.021
Poder: 10
Casimiro Notevi Tiene un aura espectacularCasimiro Notevi Tiene un aura espectacular
Cita:
Empezado por TOLO68 Ver Mensaje
Hola Snaked, gracias por tu rapida respuesta, pero no veo el link del video, jejeje, y el de mas abajo es de una bicibleta
Saludos a Todos
Tendrás que revisar tu ordenador, en el enlace de arriba se muestra el video en esta misma pantalla.
El de abajo es un ejemplo que he escrito al azar, menos mal que es una bicicleta y no otra cosa
Responder Con Cita
  #8  
Antiguo 14-09-2016
TOLO68 TOLO68 is offline
Miembro
 
Registrado: sep 2016
Posts: 14
Poder: 0
TOLO68 Va por buen camino
jajajajaja!!!!, otra cosa que querias decir, un video que lleva XXX ????
Si menosmal que no ha sido unos de estos porque nos banean a todos.

Asi mismo voy a poner los pasos que hago, porque algunos OCX de prueba
que he hecho con C++ Builder, si puedo importarlos en el mismo C++ Builder y en VB

Ojo !!!, el control esta desarrollado y compilado en "Visual Basic 5 Control Creation Edition"
No se si sera este el problema

Hago los siguientes pasos

Menu Component-Import ActiveX Control

Se abre la Ventana "Import Activex"

En la lista selecciono el OCX

Me dice que ya existe el NombreControl.cpp y le doy a sobreescribir

Y se abre una ventana de codigo con el NombreControl.cpp

A partir de aqui no se que hacer, porque el control no aparece
en la barra de herramientas donde estan los demas con lo cual
no puedo ponerlo en el form donde lo necesito, no se si es que tengo
que compilar este archivo, registrarlo, etc....

En todo caso lo que haria es enviaros un OCX de prueba para que lo podais
descargar, y probar vosotros mismos a ver si lo podeis importar a Builder

Gracias de antemano
Responder Con Cita
  #9  
Antiguo 14-09-2016
exmachina exmachina is offline
Miembro
NULL
 
Registrado: sep 2016
Ubicación: 127.0.0.1
Posts: 30
Poder: 0
exmachina Va por buen camino
Cita:
Empezado por TOLO68 Ver Mensaje
jajajajaja!!!!, otra cosa que querias decir, un video que lleva XXX ????
Si menosmal que no ha sido unos de estos porque nos banean a todos.

Asi mismo voy a poner los pasos que hago, porque algunos OCX de prueba
que he hecho con C++ Builder, si puedo importarlos en el mismo C++ Builder y en VB
..
Sobre lo de usar un control ACtiveX en C++ Builder no puedo ayudarte ya que soy novato, pero lo que si puedo asegurar es que el control necesita que la libreria de tiempo de ejecucion de visual basic 5 este instalada en el equipo donde se ejecutara . En los sistemas operativos mas recientes de MS esta instalada la libreria de tiempo de ejecucion de visual basic 6, pero no la de visual basic 5
Responder Con Cita
  #10  
Antiguo 15-09-2016
TOLO68 TOLO68 is offline
Miembro
 
Registrado: sep 2016
Posts: 14
Poder: 0
TOLO68 Va por buen camino
exmachine gracias, me imagino que te refieres a la libreria msvbvm50.dll
esta la tengo instalada porque tengo el visual basic 5 instalado,
creo que el problema me viene de no haber compilado el package de los
archivos que me crea al importar el ocx o algo de esto
porque no se en que ventana me salian los iconos de los controles que funcionan
en color, y los que no funcionan en gris, creo que era la de clases

Vaya pesadillaaaaa!!!!, con lo facil que es importarlos en Visual Basic

Bueno tendre paciencia hasta que un dia lo logre o alguien lo haya
solucionado, ya que por internet veo que hay mas gente que le pasa lo mismo


gracias
Responder Con Cita
  #11  
Antiguo 15-09-2016
exmachina exmachina is offline
Miembro
NULL
 
Registrado: sep 2016
Ubicación: 127.0.0.1
Posts: 30
Poder: 0
exmachina Va por buen camino
Pues si, me referia a la libreria msvbvm50.dll.

Hoy he probado a importar un control ActiveX (creado con VC++) en C++ Builder 2010 y tengo los mismos problemas que tu. Este fin de semana seguire probando, a ver si encontramos una solucion.

Un saludo
Responder Con Cita
  #12  
Antiguo 18-09-2016
TOLO68 TOLO68 is offline
Miembro
 
Registrado: sep 2016
Posts: 14
Poder: 0
TOLO68 Va por buen camino
Hola a todos, ya esta por aqui vuestra pesadilla!!!!!, jejejejejjej

Tengo una consulta

Estoy creando un ActiveX ActiveForm en C++ Builder

Ya he hecho pruebas con graficos y demas
incluso lo he compilado para poder cargar la OCX en VB y va perfecto

pero....mi duda es

como hago para agregar propiedades y metodos a este control porque
me salen un monton de opciones al crearlas y luego me da un error de codigo

la verdad es que el C++ Builder me va gustando
aunque claro algo mas dificil que el VB,

tambien si alguien sabe de un tutorial o manual para crear controles

gracias de antemano
Responder Con Cita
  #13  
Antiguo 18-09-2016
Avatar de Casimiro Notevi
Casimiro Notevi Casimiro Notevi is offline
Moderador
 
Registrado: sep 2004
Ubicación: En algún lugar.
Posts: 32.021
Poder: 10
Casimiro Notevi Tiene un aura espectacularCasimiro Notevi Tiene un aura espectacular
¿Esta pregunta tiene algo que ver con la que iniciaste el hilo?
Recuerda nuestra guía de estilo, gracias.
Responder Con Cita
  #14  
Antiguo 20-09-2016
exmachina exmachina is offline
Miembro
NULL
 
Registrado: sep 2016
Ubicación: 127.0.0.1
Posts: 30
Poder: 0
exmachina Va por buen camino
Haz clic el menu View->Type Library. Ahi podras añadir propiedades y metodos.
Realmente es muy difrerente a VB6, pero esto es mas "real" que vb6 ya que vb6 "esconde" muchas cosas de COM/ActiveX para simplificar su uso, pero a su vez tambien lo limita. SI puedes hecha a un vistazo a algun tutorial de como crear controles y librerias COM con ATL ya que encontraras bastantes similitudes, especialmente acerca de los tipo de datos (SafeArrray, BSTR, LONG, etc) la forma de usarlos y sobre todo sobre las propiedades.

Un saludo.
Responder Con Cita
  #15  
Antiguo 20-09-2016
TOLO68 TOLO68 is offline
Miembro
 
Registrado: sep 2016
Posts: 14
Poder: 0
TOLO68 Va por buen camino
Gracias exmachine, alli veo todas las propiedades y que me salian en el ocx creado
con c++ builder cuando lo cargaba en VB, parece ser esto
porque habia propiedades que no necesitaba en el ocx, e igual se pueden quitar desde aqui
voy a probar!!!!!!!, ojala me vaya bien, porque los controles los hago con un ActiveForm

Muchas gracias
Responder Con Cita
  #16  
Antiguo 20-09-2016
TOLO68 TOLO68 is offline
Miembro
 
Registrado: sep 2016
Posts: 14
Poder: 0
TOLO68 Va por buen camino
wenas, exmachina he probado esto y ya aparecen las propiedades en el OCX tanto en VB como en C++ Builder,
pero tengo un pequeño problema, seguro que es una tonteria, no puedo cambiar el valor de esta propiedad,
tanto desde C++ builder como de VB, y las demas si
es decir, he hecho una con nombre "MiPropiedad" tipo long, aparece en la caja de propiedades que esta en "0"
si intento cambiarla a "112" por ejemplo, se pone en "0" otra vez, ojala puedas ayudarme.

Gracias

Saludos
Responder Con Cita
  #17  
Antiguo 24-09-2016
TOLO68 TOLO68 is offline
Miembro
 
Registrado: sep 2016
Posts: 14
Poder: 0
TOLO68 Va por buen camino
Smile Agregar Propiedad a ActiveForm (OCX) creado con C++ Builder 5.0

Hola a todos

Estoy creando un control OCX en C++ Builder 5.0, ya he hecho un par de pruebas con graficos y demas, pero tengo un problema con las propiedades

Abro el Visual Basic 5 o 6, cargo el control, y la propiedad "Property1" se ve
en la caja de propiedades con valor de "0" pero......intento cambiar el valor a otro y me lo vuelve a poner a "0", he probado con propiedad tipo long, integer, etc y siempre pasa lo mismo, o sea no puedo cambiar el valor.Cosa que si puedo cambiar las otras propiedades que crea el control por defecto, como la "Visible", "Color", etc....

Este mismo Ocx creado tiene el mismo problema cargandolo en el mismo C++ Builder

Tengo la Version 5.0 (Build 12.34) Update Pack 1

----------------------------------------

lo que hago es lo siguiente:

Os pongo todos los pasos detallados desde el inicio

File->Close all

File->New->Pestaña ActiveX->ActiveForm->Boton OK
(aveces me dice que antes cree un ActiveLibrary)

Sale la pantalla "Active Form Wizard" con el nombre del control "ActiveFormX"
Dejo este nombre por defecto y le doy al Boton OK

Aparece el Form "ActiveFormX" y la ventana de codigo con 3 pestañas y el ClassExplorer a su izquierda

Entonces me voy al menu principal de C++ Builder a View->TypeLibrary,

a la izquierda donde estan los nodos, click con boton derecho en LActiveFormX y en el submenu o menu flotante, New->Property, dejo el nombre "Property1"
que sale por defecto, y en la parte derecha de esta ventana en la pestaña "Text" sale lo siguiente:

[
propput,
id(0x00000010)
]
HRESULT _stdcall Property1([in] long Value );

[
propget,
id(0x00000010)
]
HRESULT _stdcall Property1([out, retval] long * Value );

que debe ser la escritura y lectura de la propiedad

en la barra de botones de arriba le doy a "Refresh Implementation" y luego a "Register Type Library", sale la ventana Compiling y luego un mensaje diciendo que se ha registrado el componente.ocx


Me estoy dejando algo por hacer ??????????, o no es la manera correcta ???
O igual debo guardar estos valores en alguna variable

Gracias de antemano

Saludos
Responder Con Cita
  #18  
Antiguo 24-09-2016
Avatar de Casimiro Notevi
Casimiro Notevi Casimiro Notevi is offline
Moderador
 
Registrado: sep 2004
Ubicación: En algún lugar.
Posts: 32.021
Poder: 10
Casimiro Notevi Tiene un aura espectacularCasimiro Notevi Tiene un aura espectacular
Recuerda poner los tags al código fuente, ejemplo:



Gracias
Responder Con Cita
  #19  
Antiguo 25-09-2016
exmachina exmachina is offline
Miembro
NULL
 
Registrado: sep 2016
Ubicación: 127.0.0.1
Posts: 30
Poder: 0
exmachina Va por buen camino
Cita:
Empezado por TOLO68 Ver Mensaje
...
O igual debo guardar estos valores en alguna variable

Gracias de antemano

Saludos
Pues si, debes crear una variable. La variable debes declararla en el archivo "TuActiveform.h" (como variable privada) Por ejemplo:

Código PHP:
...
  
STDMETHOD(get_Property1(longValue));
  
STDMETHOD(set_Property1(long Value));
private:
     
int m_Property1value;
}; 
La variable debe ser inicializada en el constructor o en FinalConstruct. Esto ultimo es de ATL (Visual Studio) y no se si esta implementado en C++ Builder, pero si no le asignas un valor en el constructor, o donde sea, tendras problemas.

Y en el archivo .cpp seria asi:
Código PHP:
STDMETHODIMP ThhhhImpl::get_Property1(longValue)
{
  *
Value m_Property1value;
  return 
S_OK;
};

STDMETHODIMP ThhhhImpl::set_Property1(long Value)
{
  
m_Property1value =  m_Value;
  return 
S_OK;
}; 
Para que persista (lo de propertybag en vb) se debe implementar esto (lo he encontrado buscando en google "c++ builder activex property persistence"):
http://bcbjournal.org/articles/vol4/...persistent.htm

Nota: Yo solo conozco un poco de como crear librerias COM sencillas con Visual Studio, pero no tengo ni idea sobre como crear controles.
Responder Con Cita
Respuesta


Herramientas Buscar en Tema
Buscar en Tema:

Búsqueda Avanzada
Desplegado

Normas de Publicación
no Puedes crear nuevos temas
no Puedes responder a temas
no Puedes adjuntar archivos
no Puedes editar tus mensajes

El código vB está habilitado
Las caritas están habilitado
Código [IMG] está habilitado
Código HTML está deshabilitado
Saltar a Foro

Temas Similares
Tema Autor Foro Respuestas Último mensaje
No puedo usar AddFlow5.4 ActiveX en C++builder 6 aguml C++ Builder 0 23-12-2014 20:47:57
crear activeX o dll para usar en otros sistemas roberto_alg Providers 2 03-06-2013 17:20:47
crear guis y dudas para empezar CarmaZone Lazarus, FreePascal, Kylix, etc. 7 05-02-2007 03:51:19
Usar ActiveX importados en otras maquinas crijos Varios 1 21-01-2006 21:06:33
Insertar ActiveX en C++Builder salva2 C++ Builder 1 01-07-2004 17:04:46


La franja horaria es GMT +2. Ahora son las 02:25:39.


Powered by vBulletin® Version 3.6.8
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
Traducción al castellano por el equipo de moderadores del Club Delphi
Copyright 1996-2007 Club Delphi