Objeto estar unido y estar clavado


2022-09-01 008.384





1. Preface

SW-Tools objeto estar unido y estar clavado prohibe con un simple camino a integrar el contenido de otro Windows aplicaciones en el registro o pregunta definida en un SW-Tools TRIO aplicacion. El manual debe referirse a Objeto de estar unido y estar clavado con un nombre corto OLE.

Por ejemplo, tu puedes querer usar la palabra esta procesando una caracteristica de Microsoft Palabra cuando estas definiendo una letra del cliente, o ser unvideo del juego de la secuencia cuando estas preguntando la informacion del articulo etc.

El interface prohibe en TRIO es simple la habilidad de definir un campo, el cual es marcado como OLE. Estas trabajando con la distribucion de un registro o la forma de una pregunta tu puedes escoger relacion a un documento existente o crear un documento clavado.

Una relacion existente Microsoft Word documento es una unica referencia a el nombre de la fila. Si tu tienes un documento provisionado como c:/Microsoft/word/customer.doc tu puedes relacionar directamente a ello. Si el documento esta cambiado por otro usuario,no estas trabajando eb el TRIO entorno, el objeto debe de ser actualizado arriba en el proximo tiempo el registro/pregunta esta ejecutado.

Si estas usando OLE como un documento clavado, el contenido actual de el documento esta provisionado siempre con el TRIO aplicacion. Cambiar al documento objeto es por lo tanto hecho unico por TRIO esta usando la aplicacion del objeto, y no puede ser cambiado directamente de la aplicacion real.

Escogiendo entre estar relacionado y estar clavado depende en como tu quieres provisonar el contenido de los objetos.

Este manual debe de guiar por tu misma en ambos RAPGEN y IQ demostrar el simple uso de OLE objetos en TRIO.

1.1. Notas de relacion

Los siguientes tienen que ser aumentados hechos a el usuario interface en SW-Tools RAPGEN/IQ:

- Nuevo tipo de campo OLE en el dialogo libre del campo

Por favor remitir a las mismas hechas en este manual ver los cambios del interface.

2. OLE en RAPGEN

Este capitulodebe de hacerse paso por paso descrito como tu puedes definir simplemente una letra las cuales deben de leer y marcar la informacin de la fechabase que esta incluyendo en el texto escrito en Microsoft Word.

2.1. Pasop 1 - Estas definiendo una letra del distribuidor

Nosotros empezamos este mismo por estar definiendo una simple distribucion de la carta, basado en el TRIO demo sistema.


1. Definiendo la carta de distribucion

la fila 'le' tiene que ser seleccionado como una fila principal para la carta y el nombre cambiado a 'Distribuidor de la carta'.


2. Añadiendo campos marcados en la carta

Segundamente nosotros insertamos 3 campos de el distribuidor principal dentro de la fila de la distribucion.

2.2. Paso 2 - Añadiendo el contenido de un Microsoft Word documento como campo

Añadir el contenido de Microsoft Word a la carta debes de definir primero un tipo de campo OLE 2.0 Object. En esto el mismo nosotros tenemos seleccionados el campo libre de numeros 10 de la ventana de la fechabase.


3. Definiendo el OLE 2.0 Objeto del campo

Insertando dentro de la distribucion y tamaño acordando nosotros podemos seleccionar el tipo de OLE objeto por estar haciendo un click con el boton de la derecha del mouse en el campo y seleccion la funcion 'Texto...'.


4. Como seleccionar lo necesitado OLE tipo de objeto

El primer tiempo tu seleccionar el 'Texto...' funcion para un OLE objeto un dialogo debe de apareceer con toda la instalacion OLE 2.0 objetos. De esta lista nosotros seleccionamos el nombre


5. Seleccionando Microsoft Word como tipo de objeto

Segundamanete RAPGEN deberias de activar el objeto el servidor, en esta caja Microsoft Word, por la presente esta permitiendo la entrada del funcionamiento de estas aplicaciones entradas una palabra en el texto que esta procediendo el sistema.


6. Esta entrando el contenido de el objeto en Microsoft Word

Cuando el texto ha tenido que ser entrada la aplicacion puede ser cerrada y el objeto del contenido deberia de aparecer en la distribucion de la carta.


7. Distribucion de la carta que esta incluyendo el OLE objeto del contenido

Nosotros finalmente añadimos el balance del campo en top del OLE objeto de campo. La carta esta completa.

2.3. La carta final del cliente

Cuando la carta esta marcada tu deberias de coger lo siguiente:


8. La marca de fuera de la carta del cliente

2.4. Usando la relacion insertada y clavada

La misma muestra deberia de ser por estar en una relacion existente en el documento de la fila. Nosotros tenemos salvados el mismo contenido exacto dentro del nombre de la fila

c:/swtools/supplier.doc

y debes ahora relacionar a la instalacion que esta teniendo el objeto clavado en el registro.

Insertar el campo definido como OLE objeto dentro de la distribucion y seleccion el 'Texto...' funcion por estar haciendo un click con el boton derecho del mouse en el campo.

En la comprobacion del texto marcado la 'Relacion existente en la fila' y entras el nombre de la fila.


9. Esta relacionando a un fila que esta existente

La marca de afuera deberia de tener el mismo efecto como cuamdo esta clavando el objeto en la distribucion.

Por favor anotar, tu no puedes interrumpir de clavar la relacion directamente. Tu primero tienes que mover el campo de la distribucion y cuando insertas esto ahora. Cuando tu puedes relacionar a una fila existente instalada de estar clavada un objeto.

3. OLE en IQ/DATAMASTER

Este capitulo debe describir como tu puedes añadir OLE funcionalmente a algun tipo de IQ/DATAMASTER programas. Esta unica seccion ilusta el uso en IQ porque estos es lo mismo cuando estas trabajando con DATAMASTER.

Nosotros tenemos que escoger una muestra las cualer deben actualmente actuar como una distribucion de la pregunta, donde el usuario puede actualmente añadir algun tipo de OLE objeto como informacion extra en la distribucion. Esto coge una idea de que puede ser generada como aplicaciones en TRIO cuando estas usando OLE objetos.

3.1. Estas creando una simple pregunta

Esta muestra esta basada en una simple pregunta de la distribucion

le#1-6

las cuales tienen que ser salvadas como programa 1 en IQ.


10. Simple distribucionde la pregunta en IQ

3.2. Añadiendo el OLE objeto paso por paso

Define a campo libre #10 en la forma de la funcion con el nombre 'OLE Objeto en distribucion' marcar como '#O OLE 2.0 Objeto'.


11. Campo libre definido como OLE objeto

Insertar el campo libre #10 desear la posicion en la forma y tamaño de la caja acordadaa. En esta muestra nosotros tenemos ajustados la caja to fit la pregunta de la ventana.

Despues esto añades dos calculos a las lineas para estar leiendo el OLE objeto Despues leer de la fila de distribucion

#14="c:/swtools/",#1,".swo"
OleLoad(#10,#14)

3.3. Estas usando 3 botones en los campo para OLE funcionalmente

Añadir 3 campos libre definidos como '&Crear', '&Salvar' y '&Action'. Todos los campos tienen el formato 8. Cuando insertas en la distribucion, marca los campos como tipo de objeto 'Boton' hacer un click en el boton de la derecha del mouse en cada uno de los 3 campos.


12. Botones para controlar el OLE objeto

3.4. Como crear el objeto

Los calculos necesitan crear un objeto como clavar o relacionar puede simplemente se para los siguientes calculos:


13. Calculos para estar creando un OLE objeto

El campo libre #15 cobrar el uso del objeto seleccionado es definir como formato '9,'.

3.5. Como el objeto puede ser salvado

Permitir al usuario salvar el objeto creado, nosotros tenemos añadidos los siguientes calculos:


14. Calculos para estar salvando lo creado OLE objeto

El camino falta c:/swtools/ y el distribucion no mas la extension .swo genera el objeto completa del nombre de la fila. Por ejemplo, para distribucion no 205 el nombre de la fila deberia de ser

c:/swtools/205.swo

El formato de el campo libre 14 es 128 (deberia de serun campo alfa numerico y sostener el nombre de la fila que esta incluyendo el camino).

3.6. Esta perforando las acciones en el objeto

Porque un OLE objeto puede ser de tipos diferentes, la accion de un usuario puede realizar en el objeto puede ser unico determinado por la aplicacion del objeto. Por ejemplo, es un objeto de tipo Microsoft Word, un usuario puede normalmente editar el unico objeto, donde como para un Microsoft Video objeto, el usuario no puede editar el unico contenido del objeto pero tambien jugar. Los calculos añadidos son para empezar la muestra de como empezar al usuario la accion de realizar en algun tipo de objeto.


15. Calculos para estar realizando acciones en el OLE objeto

Tu puedes remitir a la descripcion de las funciones usadas. Los campos libres usados estan definidos como los siguientes:

  Campo no Nombre Formato
  16 OLEMenu 9,
  17 OLEMenuItem 9,
  18 Aplicacion Window 9,
  19 Empezar X 9,
  20 Empezar Y 9,
  21 Fin X 9,
  22 Fin Y 9,

3.7. Como trabajar la pregunta final

Cuando estas trabajando con la pregunta definida, es con el funcionamiento normal de IQ, pero extendido con los 3 calculos de los botones especiales.

Tenemis localizados el usuario de la distribucion no 205, por estar entrando el valor 205 en la pregunta de la llave del campo.

El usuario ahora quiere escribir una nota en esta distribucion usando Microsoft Word. La primera cosa que el usuario puede hacer, es un click en el boton Crear los cuales deben presentar el dialogo para estar creando un objeto. De este dilogo el usuario selecciona el 'Microsoft Word' como clavar un objeto.


16. El usuario esta creando un objeto para el distribuidor no 205

Cuando el objeto tiene que ser creado el usuario puede activar el objeto de aplicacion Microsoft Word by clicking on the button 'Action' and select the Ediart funcion.


17. El usuario esta entrando la nota en Microsoft Word

Cuando el usuario ha cerrado Microsoft Word el contenido del objeto esta presentando dentro el TRIO IQ pregunta.


18. IQ Pregunta con el usuario escribe nota en Microsoft Word

4. OLE funciones

La coleccion de OLE funciones estan instaladas como un Windows DLL (Dynamic Linked Library). Todas las funciones estan descritas y rellenadas como sub funciones en TRIO en el 10.xxx fila, donde xxx es el codigo de lenguaje, localizado en el TRIO instalado del directorio.

4.1. Vision de la en-linea documentacion

La en-linea descripcion de el OLE funcion puede ser vista directamente de la fechabase ventana. Seleccionar el nombre de la fila 'OLE funciones', las caules la fila es id 10.


19. En-linea documentacion de las funciones

4.2. Error en los codigos generales

La siguiente lista contiene todos los errores de los codigos generales:

00 No error
01 Esta perdiendo OLEx.DLL
02 Esta pediendo la funcion en DLL
03 Nopuede set del mensaje de la cola
04 Subllamada de la funcion suspendida
05 Llamar de OLE funcion suspendida
06 Illegal OLE version
07 Debe llamar ole_init primero
08 Funcion suspendida del registro de Windows
09 Esta perdiendo COMPOBJ.DLL
10 Esta perdiendo STORAGE.DLL
11 Objeto no soporta el desconocido interface
12 Esta perdiendo interface
13 No puede localizar si necesita memoria
14 No verbos encontrados para este objeto
15 Desconocido verbo o menu id
16 No objetos para OLE2.0
17 Desconocido objeto o menu id
18 No asignar almacenamiento para objeto
19 No tiene que ser hecho llamado a ole_init
20 Esta perdiendo OLE2DISP.DLL/OLEAUT32.DLL
21 Nopuede convertir la cuerda a OLE la cuerda o viceversa

4.3. OleAllocate - Asignar un nuevo objeto

numero OleAllocate()
Parametros:
None.
Descripcion:
Esta funcion localiza un nuevo OLE objeto. El valor vuelve a ser usado como primeros parametros para algunas todos otras OLE funciones.

Cuando el objeto no es demasiado largo necesita ello y deberia usar la memoria libre por estar llamando la funcion OleFree().

Por favor nota, un OLE campo insertado en la ditribucion de un registro o en una forma en una pregunta/fecha entrada en el programa es asignada automaticamente por empezar y deberia tener la memoria libre por terminacion.

Volver valor:
Unico id para el nuevo objeto. Si vuelve el id es zero no hay bastante memoria asignada un objeto.
Ver tambien:
OleLinkToFile,OleEmbedded,OleDialogCreate
Ejemplo:
#50=OleAllocate() /* Asignar nuevo objeto, desconocido inicialmente
OleLinkToFile(#50,"c:/swtools/notice.doc") /* Link to the Word document notice.doc (Campo #50 es insertado en la distribucion)
OleFree(#50) /* Memoria libre usada por objeto


4.4. OleFree - Libre el objeto

numero OleFree(ObjectID par1)
Parametros:
par1: Unico objeto id
Descripcion:
Esta funcion debe asignar la memoria libre por el OleAllocate() funcion.

Por favor nota, un OLE campo insertado en la distribucion de un registro o en una forma en una pregunta/fecha entrada en el programa es asignada automaticamente por empezar y deberia tener la memoria libre por terminacion.

Volver valor:
0=OK
x=Ver error documentacion
ver tambien:
OleAllocate
Ejemplo:
ver OleAllocate


4.5. OleLinkToFile - Conexion a un objeto de la fila de algun tipo

numero OleLinkToFile(ObjectID par1, Filanombre par2)
Parametros:
par1: Unico objeto id
par2: Filanombre de objeto (Nota a referir 1)
Descripcion:
Esta funcion puede hacer una conexion a una fila existente de algun tipo y por este medio carga el objeto. Por ejemplo, si el nombre de la fila coge en par2 es "notice.doc" la funcion debe de dejar OLE busa el registro para la extension ".doc" y encontrar que este es un documento de tipo 'Microsoft Word'.

Esta funcion deberia transportarn el actual contenido del objeto par1 primero estar haciendo la conexion.

Con la funcion OleDialogCreate() tu puedes simplemente la conexion de la creacion y clavar los objetos medios a empezar Windows dialogo.

Cuando estas usando el objeto en la cuerda en TRIO, unica la fila nombre deberia de ser salvada cuando usas en distribucion/forma. Esto tambien aplica para algunas filas salvadas con OleSave(). Si esto es necesario tener separado un objeto, propio por el actual TRIO aplicacion, uso un objeto clavado en lugar de eso.

Nota 1 Si par2 iguales "" (no filanombre) la funcion debe usar la actual seleccion del nombre de la fila. Por ejemplo, si a prior llamado a OleDialogCreate() tiene que ser hecho y el usuario tiene seleccionado el nombre de la fila "sheet.xls", esto es la seleccion actual del nombre de la fila.

Volver valor:
0=OK
x=Ver error documentacion
Ver tambien:
OleEmbedded,OleDialogCreate
Ejemplo:
Ver OleAllocate


4.6. OleEmbedded - Crear un objeto clavado

numero OleEmbedded(ObjectID par1, numero par2, text par3, numero par4, numero par5)
Parametros:
par1: Unico objeto id
par2: Modo
0=Programa id
1=Menu articulo
par3: Programa id si modo = 0
par4: Menu articulo si modo = 1
par5: Menu compensacion si modo = 1
Descripcion:
Esta funcion debe crear un objeto clavado, e.g. un objeto propio por el TRIO aplicacion. Antes clavr un objeto puede ser creado esto necesita pasar el objeto programa id. El programa id es conocido para el Windows registro (Referirse a la documentacion del objeto).

Por ejemplo, crear un Microsoft Word 6.0 documento, elprograma id es "Word.Document.6".

Los parametros par4 y par5 es usado el unico cuando un prior llamado tiene que ser hecho a OleDialogCreate() o OleFillObjectMenu()/OleMenuSelect(). Por favor referirse a la documentacion en estas funciones.

Volver valor:
0=OK
x=Ver error documentacion
Ver tambien:
OleAllocate,OleLinkToFile,OleDialogCreate,OleFillObjectMenu
Ejemplo:
#50=OleAllocate() /* Asignar nuevo objeto, desconocido inicialmente
OleEmbedded(#50,0,"Word.Document.6",0,0)


4.7. OleFillObjectMenu - Llenar un menu con todos los objetos registrados

numero OleFillObjectMenu(numero par1, numero par2, numero par3, texto par4)
Parametros:
par1: Unico menu id
par2: Menu compensacion
par3: Maximo numero de articulos en un sub menu
par4: Sub menu nombre
Descripcion:
Esta funcion puede ser usada cuando estas creando un rastreo del menu para el usuario a un objeto seleccionado. Esta funcion deberia añadir articulos a un menu creado por OleMenuCreate().

Cada articulo añadido a el menu deberia de tener un unico id, para 0 a x. Porque este conflicto puede con otros articulos del menu añadido a prior a esta funcion llamada, tu puedes usar par2 como un menu de compensacion, e.g. if par2 es 1000 el id's de los articulos añadidos son numerados 1000 a x.

El numero de articulos añadidos depende en como algunas aplicaciones tienen que ser instaladas en el sistema, los cuales pueden tener muchos objetos. Debido a display limitaciones de un rastreo del menu, un numero maximo de articulos que pueden ser cogidos como parametros par3, e.g. si par3 iguales 10 un sub menu es creado para cada 10 articulos. El sub menu debe de ser nombrado xxxxx 1-10, xxxxx 11-20 etc., donde el xxxxx podria ser cogido en par4.

Volver valor:
0=OK
x=Ver error documentacion
Vert tambien:
Ejemplo:
#50=OleAllocate() /* Asignar nuevo objeto, desconocido inicialmente
#51=OleMenuCreate() /* Crear un nuevo menu
OleFillObjectMenu(#51,1000,10,"Object") /* Llenar menu con todos los objetos registrados
#52=OleMenuSelect(#51) /* Coger el objeto seleccionado
if #52 >= 1000 OleEmbedded(#50,1,"",#52,1000) /* Crear el objeto clavado
OleMenuDestroy(#51) /* Destruir el menu creado
OleFree(#50) /* Memoria libre usada por objeto


4.8. OleFillVerbMenu - Llenar un menu con el objeto de los verbos

numero OleFillVerbMenu(ObjectID par1, numero par2, numero par3)
Parametros:
par1: Unico objeto id
par2: Unico menu id
par3: Compensacion menu
Descripcion:
Esta funcion puede ser usada para llenar un menu con todos los verbos de un objeto. Un verb es la accion que puede ser realizada en el objeto. Por ejemplo, un verbo puede ser Editada, Abierta, Play, etc., depende en el tipo de objeto. Normalmente, todos los objetos tienen los verbos Editados y Abiertos, donde algunos objetos tienen verbos adicionalmente (Sonido/Video).

El verbo es definido unicamnte por un numero, conocer a el unico objeto. Por estar usando esta funcion esto es posible de añadir los articulos a un menu, donde el usuario puede seleccionar la accion a realizar en el objeto.

Cada articulo añadido a el menu deberia de tener un unico id, de 0 a x. Porque este conflicto puede con otros articulos del menu añadidos a prior a esta funcion llamada, tu puedes usar par3 como un menu de compensacion, e.g. if par3 es 1000 el id's de los articulos añadidos son numerados 1000 a x.

Volver valor:
0=OK
x=ver error documentacion
Ver tambien:
Ejemplo:
/* #50 es insertado en IQ forma
OleLinkToFile(#50,"c:/swtools/sound.wav") /* Conexion a un sonido de la fila
#51=OleMenuCreate() /* Crear un menu
OleFillVerbMenu(#50,#51,2000) /* Añadir todos los verbos conocidos del menu
#52=OleMenuSelect(#51) /* Dejar seleccionar el verbo al usuario
#53=GETINFO(1) /* Get IQ Aplicacion Window
#54=GETINFO(6,"#50") /* Coger objeto empezar x posicion
#55=GETINFO(7,"#50") /* Coger objeto empezar y posicion
#56=GETINFO(8,"#50") /* Coger objeto fin x posicion
#57=GETINFO(9,"#50") /* Coger objeto fin y posicion
OleDoVerb(#50,0,#52,2000,#53,#54,#55,#56,#57)


4.9. OleDoVerb - Realizar un objeto en el verbo

numero OleDoVerb(ObjectID par1, numero par2, numero par3, numero par4, numero par5, numero par6, numero par7, numero par8, numero par9)
Parametros:
par1: Unico objeto id
par2: Modo
0=Usar menu articulo
1=usar verbo id
par3: Menu articulo / Verbo id dependiente en par2
par4: Menu compensacion si par2 = 0
par5: Window palanca
par6: Objeto empezar x posicion
par7: Objeto empezar y posicion
par8: Objeto fin x posicion
par9: Objeto fin y posicion
Descripcion:
Esta funcion selecciona un verbo para un objeto. Un verbo es la accion que puede ser realizada en el objeto. Por ejemplo, un verbo puede ser Editado, Abierto, Play, etc., dependiendo en el tipo de objeto. Normalmente, todos los objetos tienen los verbos Editados y Abiertos, donde algunos objetos adicionalmente tienen verbos like Play (Sonido/Video).

Si el verbo del objeto id es conocido ello puede ser pasado directamente en par3 con par2 set a 1. Si no, el ejemplo de OleFillVerbMenu() puede ser usado (el usuario puede seleccionar la accion realizada en el objeto de un menu).

Los parametros par5-par9 son necesarios y pueden ser obtenidos por el comienzo TRIO sub funcion GETINFO(). Los parametros pueden ser definidos como un formato del campo "8." (16/32 bit compatible). Si injustamente definida la aplicacion puede resultar en errors o resultados inesperados.

Volver valor:
0=OK
x=Ver error documentacion
ver tambien:
OleFillVerbMenu
Ejemplo:
Ver OleFillVerbMenu


4.10. OleSave - Salvar objeto como clavar dentro de la fila

numero OleSave(ObjectID par1, Filanombre par2)
Parametros:
par1: Unico objeto id
par2: Fila nombre
Descripcion:
Estas funciones pueden salvar un objeto dentro de una fila. El objeto salvado puede ser conectado o clavado. Si esto es una conexion, el unico nombre de la fila es salvado, como para un objeto clavado la entrada del objeto es salvada.

El objeto salvado pued ser ahora cargado usando el OleLoad() funcion.

volver valor:
0=OK
x=Ver error documentacion
Ver tambien:
OleLoad
Ejemplo:
/* En un DATAMASTER aplicacion el usuario puede crear un objeto clavado en cada distribucionen en el TRIO demo sistema.
/* El demo sistema trabaja con SSV-Texto filas, los cuales no soportan otros tipos de campos que textos y numeros.
/* Como siempre, por generar el nombre de una fila de el numero de distribucion nosostros debemos salvar el objeto en una fila separada.
[Actualizacion de la fila de distribucion]
#51="c:/swtools/demo",#1,".swo" /* Generar unico nombre de la fila para la distribucion del objeto
OleSave(#50,#51) /* Salvar el objeto
[Despues leer de la distribucion de la fila]
#51="c:/swtools/demo",#1,".swo" /* Generar unico nombre de la fila para la distribucion del objeto
OleLoad(#50,#51) /* Cargar el objeto


4.11. OleLoad - Cargar y clavar el objeto de la fila

numero OleLoad(ObjectID par1, Nombre fila par2)
Parametros:
par1: Unico objeto id
par2: Nombre fila
Descripcion:
Esta funcion puede cargar un objeto salvado a prior con OleSave().

Volver valor:
0=OK
x=Ver error documentacion
Ver tambien:
OleSave
Ejemplo:
Ver OleSave


4.12. OleGetInfo - Volver informacion sobre objeto

numero OleGetInfo(ObjectID par1, numero par2, texto par3)
Parametros:
par1: Unico objeto id
par2: Modo
0=No usar par3
1=Volver nombre fila en par3
par3: Memoria
Descripcion:
La funcion vuelve la informacion sobre el objeto. La informacion vuelve dependiendo en el modo (par2), los cuales pueden ser una de las siguientes:

Con modo 0 par3 no es usado. Con modo 1 ello deberia copiar el nombre de la fila del objeto dentro par3

Volver valor:
-1=Illegal modo especifico en par2
Modo 0: Volver el objeto flags
Modo 1: Volver la longitud del nombre de la fila
Ver tambien:
OleSetInfo
Ejemplo:
if OleGetInfo(#50,1,#53) > 0 cuando empiezas /* Coges el nombre de la fila del objeto
#51=GETINFO(1) /* Coger IQ aplicacion window
#52=OleDialogFile(#51,"*","Todas las filas,*.*",0,#53,"") /* dejar usar el cambio el nombre de la fila
si #52=0 OleLinkToFile(#50,#53) /* Conexion a el nuevo nombre de la fila
fin


4.13. OleSetInfo - Set objeto Informacion

numero OleSetInformation(ObjectID par1, Bitflag par2, numero par3)
Parametros:
par1: Unico objeto id
par2: Modo
0=No flags
1=Dimensiones reales
2=Escala vertical
4=Escala horizontal
par3: Memoria
Descripcion:
La funcion deberia de set informacion sobre el objeto. La informacion a set depende en par2, los cuales pueden ser de uno de los siguientes:

Conmodo 0 el objeto flags deben de ser analizados en par3. El valor puede ser uno o mas de los valores siguientes añadidos siempre:

0 - No flags. El objeto es escalado de acuerdo a las dimensiones de la caja acordada. 1 - Elobjeto usado son las dimensiones reales. Si el tamaño de la caja del campo es mas pequeña que el objeto ello es clipped. 2 - La dimension vertical es escalda de acuerdo a la dimension horizontal de la caja del campo. 4 - La dimension horizontal es escalada de acuerdo a la dimension vertical de la caja del campo.

Algun objeto usado creado flag 2 como fallo.

Volver valor:
-1=Illegal modo
Modo 0: Volver el nuevo objeto flags.
ver tambien:
Ejemplo:
OleSetInfo(#50,0,0) /* Escala el objeto acordado a la caja del campo


4.14. OleMenuCreate - Crear un menu

numero OleMenuCreate()
Parametros:
None.
Descripcion:
La funcion puede ser usada para crear un Windows menu. Cuando un menu tiene que ser creado los articulos pueden ser añadidos usando el OleMenuAdd funcion.

Cuando el menu no es demasiado largo necesita destruir usando el OleMenuDestroy funcion. Si esto no es, memoria no es realizado!

Volver valor:
0=No puede crear menu
x=Unico menu id
Ver tambien:
OleMenuDestroy,OleMenuAdd,OleMenuSelect
Ejemplo:
#51=OleMenuCreate() /* Crear un menu
OleMenuAdd(#51,0,3000,"Display mismo Excel hoja") /* Añadir articulo con id 3000
OleMenuAdd(#51,0,3001,"Display mismo Word documento") /* Añadir articulo con id 3001
#52=OleMenuSelect(#51) /* Dejar usar seleccion de uno o de dos articulos
OleMenuDestroy(#51) /* Destruir el menu cuando no es necesario demasiado largo
if #52=3000 OleLinkToFile(#50,"c:/swtools/sheet.xls")
if #52=3001 OleLinkToFile(#50,"c:/swtools/document.doc")


4.15. OleMenuDestroy - Destruir un menu

numero OleMenuDestroy(numero par1)
Parametros:
par1: Unico menu id
Descripcion:
Esta funcion debe de tener toda la memoria usada libre por un menu creado con el OleMenuCreate() funcion. Si algun sub menu tiene que ser añadido a el menu analiza en par1 ello deberia de ser destruido tambien.

volver valor:
0=OK
-1=Illegal menu id
Ver tambien:
OleMenuCreate
Ejemplo:
ver OleMenuAdd


4.16. OleMenuAdd - Añadir articulo a un menu

numero OleMenuAdd(numero par1, numero par2, numero par3, texto par4)
Parametros:
par1: Unico menu id
par2: Modo,0=Añadir texto articulo, -1=Añadir separador, x=Añadir unico menu id (submenu)
par3: Menu articulo id
par4: Menu articulo texto
Descripcion:
Esta funcion puede ser usada para añadir los articulos a un menu creado con OleMenuCreate(). El par2 controla el tipo de articulo que va a ser añadido al menu:

Si par2 es 0 un articulo del texto es añadido a el menu.

Si par2 es -1 un separador (dividiendo linea) es añadido a el menu. Con este modo par3 y par4 no es usado.

Si par2 es mas grato que 0 ello deberia de ser otro unico menu id volver de del OleMenuCreate() funcion.

El parametro par3 debe de ser un unico articulo del menu id, los cuales debe de ser vueltos cuando el usuario selecciona un articulos del menu, y par4 simplemente contiene los articulos del texto.

Volver valor:
0=OK
-1=Illegal menu id
Ver tambien:
OleMenuCreate,OleMenuDestroy,OleMenuSelect
Ejemplo:
#51=OleMenuCreate() /* Crear menu principal
#52=OleMenuCreate() /* Crear menu para clavar objetos
#53=OleMenuCreate() /* Crear menu para objeto dimensiones
OleMenuAdd(#51,#52,4000,"Clavar objetos") /* Añadir menu clavado al menu principal
OleFillObjectMenu(#52,4001,10,"Object") /* Añadir todos los objetos registrados a objetos clavados en el menu
OleMenuAdd(#51,#53,5000,"Escala objeto que estas usando") /* Añadir objeto flag menu al menu principal
OleMenuAdd(#53,0,5001,"Dimensiones de la caja del campo") /* Añadir articulos a las dimensiones del objeto del menu
OleMenuAdd(#54,0,5002,"Dimensiones del objeto")
OleMenuSelect(#51) /* Dejar seleccionar el menu al usuario
OleMenuDestroy(#51) /* Esto debe de crear todos los menus libres en #51-53


4.17. OleMenuSelect - Seleccionar el menu al actual cursor localizado

numero OleMenuSelect(numero par1)
Parametros:
par1: Unico menu id
Descripcion:
La funcion activa un menu que esta flotando a el actual cursor localizado en pantalla. El menu deberia de quedar activo en la pantalla hasta que el usuario seleccione uno de los articulos o clicks fuera del menu.

Volver valor:
0=No articulos seleccionados
x=Menu articulo id seleccionado
-1=Illegal menu id
Ver tambien:
OleMenuCreate,OleMenuDestroy,OleMenuAdd
Ejemplo:
ver OleMenuAdd


4.18. OleDialogCreate - El dialogo empieza para estar creando una conexion de los objetos clavados

numero OleDialogCreate(ObjectID par1, texto par2)
Parametros:
par1: Unico objetot id
par2: Lenguaje id
DAN=Danish
ENG=English
GER=German
Descripcion:
Esta funcion puede ser usada simplemente para la creacion de un objeto.

El par2 es el lenguaje id, los cuales controlan el dialogo del texto usado.

Volver valor:
<=0 : No puede crear o display dialogo
1 : El usuario tiene que seleccionar la conexion a una fila. El nombre de la fila puede ser cobrado usando OleGetInfo().
>=2 : El usuario tiene que seleccionar una de los objetos clavados. Este valor (menos 1) puede ser analizado a OleEmbedded().
Ver tambien:
Ejemplo:
#50=OleCreate() /* Crear nuevo objeto, inicialmente desconocido
#51=OleDialogCreate(#50,"ENG") /* Permite seleccionar al usuario la conexion/clavada objetos de un dialogo
si #51=1 OleLinkToFile(#50,"") /* Conexion al actual nombre de la fila seleccionado
si #51>1 OleEmbedded(#50,1,"",#51-1,0) /* Creado el clavado y usando la vuelta del articulo del menu id


4.19. OleDialogFile - Eldialogo empieza para estar seleccionando el nombre de la fila

numero OleDialogFile(numero par1, texto par2, texto par3, numero par4, texto par5, texto par6)
Parametros:
par1: Window mango
par2: Extension
par3: Definicion filtro
par4: Modo
0=Abrir
1=Salvar
par5: nombre fila
par6: Camino inicial
Descripcion:
Esta funcion deberia de dejar seleccionar al usuario el nombre de la fila que esta usando la entrada Windows dialogo de la fila.

El mango window en par1 puede ser obtenido usando la subfuncion GETINFO().

El dialogo necesita dos parametros para controlar los filtros del nombre de la fila. El parametro par2 es usado para la extension del nombre de una fila, e.g. "ole" como extension deberia de unicamente nombrar la lista de todos los campos "xxxxxxxx.ole". El parametro par3 es la definicion de los filtros que estan incluyendo una descripcion del filtro. Por ejemplo, un filtro puede ser definido como

"Todas las filas,*.*"

las cuales definen un filtro para el usuario seleccionado con la descripcion "Todas las filas" y la extension "*.*". Esto es importante que la descripcion y extension esta separada por una coma, de otra manera el dialogo puede faltar a ser displayed!

Si el modo (par4) es 1 el dialogo de la fila deberia dejar al usuario entrar una nueva fila nombre o seleccionar un nombre de la fila existente para salvar. Si el nombre de una fila existente es seleccionado el usuario deberia contestar si en orden a la fila escrita encima.

Si el nombre de una fila es analizado en par5 y no valor analizado en par6 ("" texto vacio) el dialogo deberia de usar el camino del nombre de la fila en par5. Por ejemplo, si par5 es "c:/swtools/sheet.xls" el camino inicial deberia de ser "c:/swtools".

Volver valor:
0=OK
x=El usuario tiene que cancelar el dialogo de la fila o el fallo del dialogo es creado
Ver tambien:
OleGetInfo
Ejemplo:
Ver OleGetInfo()


5. Especificaciones tecnicas

5.1. Requisitos

El OLE interface necesita SW-Tools TRIO version 007.001 o mas grande. Ello debe de ser soportado en 16 y 32-bit versiones.

5.2. Filas instaladas

     
  10.eng Subfuntion descripciones y interface para SW-Tools TRIO calculos
  ole-spa.hlp Window en-linea manual
  swo999xx.dll OLE Dinamica conexion libreria, donde 999 es el mayor version numero y xx es 16/32 bit