Uso di FileMaker Pro ActiveX Automation (Windows)
La libreria dei tipi FileMaker Pro
La libreria dei tipi descrive gli oggetti, le proprietà e i metodi esposti da FileMaker Pro, in modo tale che altri client ActiveX possano accedere a FileMaker Pro.
La libreria dei tipi di FileMaker Pro è inclusa nel file eseguibile di FileMaker Pro. Non è un file a parte. La libreria dei tipi di FileMaker Pro è stata registrata sul computer dell'utente al momento dell'installazione di FileMaker Pro.
In Visual Basic, aggiungere "Libreria dei tipi di FileMaker Pro" all'elenco dei Riferimenti disponibili nel progetto.
Importante  Per implementare il documento ActiveX Automation è necessario aggiungere la libreria dei tipi di FileMaker Pro all'elenco delle librerie disponibili nell'applicazione utilizzata. Se non si aggiunge il tipo di libreria non sarà possibile gestire FileMaker Pro mediante ActiveX Automation.
Il metodo per aggiungere questa libreria varia a seconda degli strumenti di authoring ActiveX Automation utilizzati. "Per informazioni in merito, consultare il manuale fornito con lo strumento di authoring ActiveX Automation." La procedura seguente spiega come eseguire l'operazione in Microsoft Visual Basic.
Per aggiungere la libreria dei tipi FileMaker Pro a Microsoft Visual Basic:
1.
In Microsoft Visual Basic, scegliere il menu Progetto > Riferimenti > Aggiungi libreria tipi.
2.
3.
FMPro70Lib viene visualizzato nel Visualizzatore oggetti di Visual Basic non appena i riferimenti del progetto includono la libreria dei tipi di FileMaker Pro. A questo punto sono disponibili tutti gli oggetti, i metodi e le proprietà che FileMaker Pro espone per il controllo Automation.
Dichiarazione di FileMaker Pro come oggetto Application
Dichiarare FileMaker Pro come oggetto Application ogni volta che si crea uno script o un'applicazione di ActiveX Automation per controllare FileMaker Pro. Questa operazione può essere effettuata con un'unica riga di codice in cima al documento Automation, in cui appare con le altre definizioni.
Ad esempio:
Dim FMProApp As FMPro70Lib.Application
Ottenimento di un oggetto Application
Per effettuare qualsiasi chiamata Automation a FileMaker, è necessario prima accedere all'oggetto Application di FileMaker. Questa operazione può essere effettuata in due modi: richiamando CreateObject, oppure richiamando GetObject.
Per utilizzare una qualsiasi delle due chiamate, dichiarare prima l'oggetto Application:
Dim FMProApp as FMPro70Lib.Application
Solo per CreateObject:
Set FMProApp = CreateObject("FMPRO.Application")
"CreateObject avvierà FileMaker, se non è già in esecuzione."
La funzione GetObject recupera un oggetto Application solo se FileMaker è già in esecuzione.
Solo per GetObject:
Set FMProApp = GetObject(, "FMPRO.Application")
Notare la virgola, che indica che il primo argomento a GetObject (un percorso a un file su disco) è stato omesso. La virgola è necessaria perché in alcuni casi GetObject prende un nome di file come primo argomento. Per recuperare un'istanza di FileMaker, tuttavia, è necessario omettere l'argomento del file, altrimenti si verificherà un errore.
Richiamare uno script di FileMaker Pro
Per eseguire uno script di FileMaker Pro mediante ActiveX Automation, richiamare la funzione DoFMScript con il nome dello script come variabile.
Ad esempio:
Dim FMProApp as FMPro70Lib.Application
CreateObject("FMPRO.application")
Dim FMProDocs, FMProDocs.Open("c:\MyFile.fmp12","","")
Dim FMProDoc
FMProDoc.DoFMScript ("MyScript")
Set FMProDoc = nothing
Alternanza della visibilità dell'applicazione FileMaker Pro
Quando FileMaker Pro viene avviato da Automation, per impostazione predefinita viene eseguito nascosto. È possibile utilizzare la proprietà visibile per nascondere o mostrare FileMaker Pro.
Ad esempio, per nascondere l'applicazione:
FMProApp.Visible = False
Per visualizzare l'applicazione:
FMProApp.Visible = True
Conteggi di riferimenti e rilascio di un oggetto
Quando è presente un riferimento a un oggetto di automazione, viene incrementato un conteggio dei riferimenti per comunicare a FileMaker che un processo sta utilizzando quell'oggetto. In Visual Basic, un oggetto viene contato per riferimento ogni volta che si imposta la variabile dichiarata su un oggetto di FileMaker, ad esempio:
' una semplice dichiarazione - ancora senza riferimenti
Dim FMDocs as FMPro70Lib.Documents
' questa riga genera un riferimento dell'oggetto ""Documents"" di FileMaker
Set FMDocs = FMApp.Documents
' genera un secondo riferimento dello stesso oggetto ""Documents"" di FileMaker
Set FMDocs2 = FMApp.Documents
FileMaker non può uscire fino a quando tutti i conteggi dei riferimenti non vengono rilasciati. In Visual Basic, è possibile rilasciare il conteggio dei riferimenti impostando la variabile dell'oggetto su "Nothing", ad esempio:
' rilascia il riferimento all'oggetto Documents di FileMaker
Set FMDocs = Nothing
' rilascia un 2° riferimento all'oggetto Documents di FileMaker
Set FMDocs2 = Nothing
' rilascia il riferimento all'oggetto Application di FileMaker
Set FMApp = Nothing
Quando si è finito di utilizzare le variabili, è buona norma impostare sempre le variabili degli oggetti su "Nothing".
Privilegi di accesso
FileMaker  Pro usa il metodo Documents.Open(filename As String, accountName As String, password As String). Se gli argomenti NomeAccount e password sono stringhe vuote, il file viene aperto come utente client.
Script
Gli script di FileMaker Pro chiamati direttamente da Automation possono interrompersi reciprocamente.
Gli script di FileMaker Pro chiamati dall'interno di altri script di FileMaker Pro verranno eseguiti nell'ordine, come previsto.
File su host remoti
Non è possibile aprire un file che si trova su un host remoto utilizzando solo ActiveX Automation. Per aprire un file che si trova su un host mediante Automation, è possibile aprire il file che si trova sull'host direttamente nella finestra di dialogo Apri di FileMaker e quindi accedere al file già aperto mediante Automation, oppure scrivere uno script FileMaker Pro che apre il file sull'host, e richiamarlo tramite Automation.
Argomenti correlati 
Uso di FileMaker Pro ActiveX Automation (Windows)
Esempio di ActiveX Automation (Windows)