FileMaker Pro ActiveX Automation (Windows)
Biblioteca de tipos de FileMaker Pro
La biblioteca de tipos describe los objetos, propiedades y métodos expuestos por FileMaker Pro, para que otros clientes ActiveX puedan acceder a FileMaker Pro.
FileMaker Pro Type Library se incluye en el ejecutable de FileMaker Pro. No es un archivo independiente. FileMaker Pro Type Library se registra en el equipo cuando se instala FileMaker Pro.
En Visual Basic, añada "FileMaker Pro Type Library" a la lista de Referencias disponibles en el proyecto.
Importante  Debe añadir FileMaker Pro Type Library a la lista de bibliotecas de tipos disponibles en la aplicación que esté utilizando para implementar la documentación de ActiveX Automation. Si no añade la biblioteca de tipos, no podrá trabajar con FileMaker Pro mediante ActiveX Automation.
El método para añadir esta biblioteca varía en las distintas herramientas de creación de ActiveX Automation. Consulte el manual que se incluye en la herramienta de creación ActiveX Automation si no está seguro de cómo hacerlo. El procedimiento siguiente explica cómo realizarlo en Microsoft Visual Basic.
Para añadir la biblioteca de tipos FileMaker Pro a Microsoft Visual Basic:
1.
En Microsoft Visual Basic, seleccione el menú Project > References > Add Type Library.
2.
3.
FMPro70Lib aparece en el navegador de Visual Basic Object cuando las referencias del proyecto incluyan FileMaker Pro Type Library. Ahora están disponibles todos los objetos, métodos y propiedades que FileMaker Pro expone al control de Automation.
Declarar FileMaker Pro como el objeto Application
Declare FileMaker Pro como el objeto Application cada vez que cree un guión o aplicación ActiveX Automation para controlar FileMaker Pro. La declaración se hace con una línea de código en la parte superior del documento Automation, donde aparece junto a las otras definiciones.
Por ejemplo:
Dim FMProApp As FMPro70Lib.Application
Obtener un objeto Application
Para que Automation llame a FileMaker, primero debe acceder al objeto Application de FileMaker. Hay dos formas de hacerlo: llamando a CreateObject, o llamando a GetObject.
Para usar cualquier llamada, declare primero el objeto Application:
Dim FMProApp as FMPro70Lib.Application
Para CreateObject sólo:
Set FMProApp = CreateObject("FMPRO.Application")
CreateObject iniciará FileMaker si no se está ejecutando.
La función GetObject devuelve un objeto Application sólo si FileMaker ya se está ejecutando.
Para GetObject sólo:
Set FMProApp = GetObject(, "FMPRO.Application")
Tenga en cuenta la coma, que indica que el primer argumento de GetObject (una ruta a un archivo de disco) se ha omitido. La coma es necesaria porque en algunas circunstancias GetObject toma un nombre de archivo como primer argumento. Sin embargo, para devolver un ejemplo de FileMaker, debe omitir el argumento del nombre de archivo, o se producirá un error.
Llamar a un guión de FileMaker Pro
Para ejecutar un guión de FileMaker Pro mediante ActiveX Automation, llame a la función DoFMScript con el nombre del guión como variable.
Por ejemplo:
Dim FMProApp as FMPro70Lib.Application
CreateObject("FMPRO.application")
Dim FMProDocs, FMProDocs.Open("c:\MyFile.fmp12","","")
Dim FMProDoc
FMProDoc.DoFMScript ("MyScript")
Set FMProDoc = nothing
Alternar la visibilidad de la aplicación FileMaker Pro
Cuando FileMaker Pro ha iniciado Automation, se ejecutará como oculto de forma predeterminada. Puede emplear la propiedad visible para ocultar o mostrar FileMaker Pro.
Por ejemplo, para ocultar la aplicación:
FMProApp.Visible = False
Para mostrar la aplicación:
FMProApp.Visible = True
Contadores de referencia y liberación de objetos
Cuando se hace referencia a un objeto de Automation, se incrementa el contador de referencias para que FileMaker sepa que un proceso está utilizando ese objeto. En Visual Basic, se incrementa este contador cada vez que se configura la variable declarada a un objeto FileMaker, por ejemplo:
' sólo una declaración - todavía sin referencias
Dim FMDocs as FMPro70Lib.Documents
' esta línea crea una referencia al objeto "Documents" de FileMaker
Set FMDocs = FMApp.Documents
' ésta crea una segunda referencia al mismo objeto "Documents" de FileMaker
Set FMDocs2 = FMApp.Documents
FileMaker no puede salir hasta que se hayan liberado todos los contadores de referencias. En Visual Basic, puede liberar el contador de referencias estableciendo la variable de objeto en "Nothing", por ejemplo:
' libera la referencia al objeto "Documents" de FileMaker
Set FMDocs = Nothing
' libera la segunda referencia al objeto "Documents" de FileMaker
Set FMDocs2 = Nothing
' libera la referencia al objeto Application de FileMaker
Set FMApp = Nothing
Se aconseja definir siempre las variables de objeto a "Nothing" cuando haya acabado de utilizar las variables.
Privilegios de acceso
FileMaker Pro emplea el método Documents.Open(filename As String, accountName As String, password As String). Si los argumentos accountName y password son cadenas vacías, el archivo se abrirá como usuario cliente.
Guiones
Los guiones de FileMaker Pro llamados directamente por Automation se pueden interrumpir entre sí.
Los guiones de FileMaker Pro llamados desde dentro de otros guiones de FileMaker Pro se ejecutarán en el orden previsto.
Archivos alojados de forma remota
No es posible abrir un archivo alojado utilizando sólo ActiveX Automation. Para abrir un archivo alojado con Automation, o bien abra el archivo alojado directamente usando el cuadro de diálogo Abrir de FileMaker y luego acceda al archivo mediante Automation, o bien escriba un guión de FileMaker Pro que abra el archivo alojado, y luego llame a ese guión por medio de Automation.
Temas relacionados 
FileMaker Pro ActiveX Automation (Windows)
Ejemplo de ActiveX Automation (Windows)