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 Temas de Hoy

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 10: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.040
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.040
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 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
  #10  
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.040
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
  #11  
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



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 19:47:57
crear activeX o dll para usar en otros sistemas roberto_alg Providers 2 03-06-2013 16:20:47
crear guis y dudas para empezar CarmaZone Lazarus, FreePascal, Kylix, etc. 7 05-02-2007 02:51:19
Usar ActiveX importados en otras maquinas crijos Varios 1 21-01-2006 20:06:33
Insertar ActiveX en C++Builder salva2 C++ Builder 1 01-07-2004 16:04:46


La franja horaria es GMT +2. Ahora son las 07:29:19.


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