Tema: FAQ's de VB6
Ver Mensaje Individual
  #90 (permalink)  
Antiguo 24/08/2005, 21:10
Avatar de aldo1982
aldo1982
 
Fecha de Ingreso: noviembre-2004
Ubicación: Santa Fe (Argentina) Colon F.C
Mensajes: 1.362
Antigüedad: 19 años, 4 meses
Puntos: 6
Utilizacion De Ole

COMO USAR OLE??

ACA UN BREVE INTRODUCCIÓN PARA LUEGO EXPLICAR:

Introduccion

Compartir información sobre distintas aplicaciones es una de las características más potentes que posee Windows. Al compartir información, lo que realmente se está haciendo es compartir objetos que son creados por dos o más aplicaciones Windows distintas. Aquí es donde entra en juego OLE, sentando las bases para crear y compartir objetos entre distintas aplicaciones.
Visual Basic actúa como nexo entre las aplicaciones Windows al permitir el uso de objetos OLE en sus aplicaciones. Se pueden tener en un mismo formulario de Visual Basic una hoja de cálculo de Excel y un documento de Word.
Visual Basic puede utilizar los objetos de otras aplicaciones de la misma forma que cualquier otro objeto de Visual Basic. Puede establecer o leer propiedades, utilizar sus métodos, etc... Esto se denomina Automatización OLE.


El contenedor OLE

Mediante el uso del control contenedor OLE, puedes crear formularios de Visual Basic en los que se incluya información proveniente de distintas aplicaciones Windows.






Estos formularios son conocidos como documentos compuestos, en los que la funcionalidad que se necesita no la proporciona la aplicación creada por Visual Basic, sino que se aprovecha de las aplicaciones que crean los objetos insertados.
Así, el equipo donde se ejecute la aplicación Windows como hoja de cálculo Excel o procesador de textos como Word no necesitarán programar para conseguir que la aplicación presente la funcionalidad de dichas aplicaciones, sino que puedes utilizarlas desde tu aplicación.
Al pulsar el control OLE en la caja de herramientas de Visual Basic nos aparecerá el siguiente cuadro de diálogo:





En este cuadro nos aparecen los distintos tipos de objetos que podemos insertar en el formulario. Estos objetos provienen de las aplicaciones compatibles con OLE que tengas instaladas en tu equipo.
Cuando una aplicación se instala en un ordenador queda registrada en el Registro de Windows. Este registro es como una base de datos don Windows guarda información referente a las aplicaciones que tiene instaladas. Entre otras cosas se guardan los objetos insertables que ofrecen dichas aplicaciones y que después nos aparecerán en el cuadro de diálogo insertar objeto.
Se puede insertar en un formulario un objeto utilizando la opción Cerrar Nuevo o utilizar uno ya existente mediante la opción cerrar desde archivo. En este último caso tienes que especificar el archivo que posee el objeto a insertar.
Si quieres que el objeto insertado aparezca en el formulario como un icono, puedes activar la casilla mostrar como icono del cuadro de diálogo insertar objeto.
Puedes indicar que el objeto sea incrustado o vinculado. Al incrustar un objeto se crea una copia y se guarda en la aplicación Visual Basic, por lo que sólo se podrá usar en esta.
Al vincular un objeto, éste sigue estando almacenado en el archivo original, guardándose en la aplicación una referencia al mismo y no el objeto en sí.


Edicion del objeto

Cuando insertas un objeto a través del control contenedor OLE, estás en disposición de editar el objeto con la aplicación creadora del mismo. Para ello lo único que tienes que hacer es doble click sobre el objeto.
Al activar el objeto haciendo doble click, la aplicación servidora es iniciada y el usuario puede interactuar con ella utilizando toda la funcionalidad que presente.
En este sentido es importante indicar aplicaciones que permitan que la edición sea en el propia control contenedor (Edición Visual), y otras en la que la edición se produce en una ventana independiente.
Para que la edición del objeto sea en el propio contenedor OLE, es necesario haber incrustado el objeto, ya que toda vinculación producirá que la aplicación servidora se muestre en una ventana independiente. Por otra parte, si el objeto se representa como un icono en el formulario, también se presentará en una ventana independiente la aplicación servidora.
Cuando la aplicación servidora se muestra en una ventana independiente, no existen problemas para presentar los menús y barras de herramientas de la misma.
Pero si el formulario donde has insertado un objeto posee menús o barras de herramientas y la edición del objeto se produce en el propio contenedor, tienes que negociar dichos elementos, es decir, tienes que indicar como se han de mostrar.
Si quieres que los menús de la aplicación servidora se muestren al editar el objeto, es necesario que el formulario donde está insertado el objeto posea un elemento de menú, aunque esté no visible. Además en el editor de menús puedes especificar en qué posición deben de mostrarse cuando se edite el objeto en el contenedor OLE.
La propiedad NegociatePosition que aparece en el editor de menús, establece la posición de los elementos del menú de nuestro formulario.
Puede tener los siguientes valores:
- 0: Indica que dicho elemento del menú se verá cuando se edite el objeto, mostrándose únicamente el menú de la aplicación servidora.
- 1, 2 y 3: Establece donde se mostrará, pudiendo ser a la izquierda, centro o derecha.

Independientemente de la propiedad NegocitaPosition del menú, es necesario establecer la propiedad NegociateMenu del formulario a True. En otro caso, la negociación de menús no se llevará a cabo.
Toda vinculación o uso de la opción Mostrar como Icono implicarán que el objeto se edite en una ventana independiente.


Objetos insertables

Algunas aplicaciones proporcionan objetos que pueden utilzarse como controles personalizados en Visual Basic.
De esta forma se pueden agregar a la caja de herramientas de Visual Basic sin tener que utilizar el control contenerdor OLE.
Para esto utilizaremos el el menú contextual de la caja de herramientas o elegir Controles personalizados en el menú de herramientas.






Activa las casillas de los objetos que utilzas normalmente en tus aplicaciones y ya no será necesario utilizar el control contenedor OLE, insertando el objeto específico de una forma directa a través de los botones de la caja de herramientas que aparecen para ello.
Además es posible que una aplicación aporte más de un tipo de objeto insertable. Por ejemplo, Excel permite la inserción de objetos hoja de cálculo y gráficos.
Tienes que tener en cuenta que al utilizar un objeto insertable como control personalizado en la caja de herramientas, sólo puedes incrustar un objeto nuevo ya que no tienes la opción de utilizar un archivo existente, pero si puedes editarlo en tiempo de ejecución, aplicando las mismas reglas que en el caso del control contenedor OLE.


Automatizacion OLE

Una de las características más potentes de la utilización del estádar OLE es la Automatización OLE.
Nos permite mediante programación, integrar varias aplicaciones Windows en una aplicación creada con Visual Basic.
El estándar OLE permite que las aplicaciones actúen como servidores OLE o como clientes OLE. Un servidor OLE proporciona objetos que pueden ser utilizados en otras aplicaciones. Un cliente OLE es una aplicación que utiliza objetos creados en una aplicación distinta.
Al utilizar la automatización OLE, puedes utilizar los objetos de otras aplicaciones como si fueran objetos de Visual Basic, estableciendo propiedades y utilizando sus métodos.
El uso del examidor de objetos permite conocer y pedir ayuda sobre los componentes de dichos objetos, facilitando la utilización de sus métodos y propiedades de la forma correcta:

Dim x As Object
Set x = CreateObject ("Word.Basic")
x.ArchivoNuevo
x.TamañoFuente 24
x.Insertar "Uso de la Automatización OLE"

En el ejemplo anterior se puede observar un fragmento de código donde se crea un objeto Word, se utiliza un método para crear un nuevo archivo, se establece la propiedad tamaño de fuente a 24 puntos y se inserta texto en el punto de inserción.
__________________
LA MUERTE ESTÁ TAN SEGURA DE VENCER QUE NOS DA TODA UNA VIDA DE VENTAJA