Uso di FileMaker Pro ActiveX Automation (Windows)
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.
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.
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.
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.
Dim FMProApp As FMPro70Lib.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.
Dim FMProApp as FMPro70Lib.Application
Set FMProApp = CreateObject("FMPRO.Application")
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.
Per eseguire uno script di FileMaker Pro mediante ActiveX Automation, richiamare la funzione DoFMScript con il nome dello script come variabile.
Dim FMProApp as FMPro70Lib.Application
CreateObject("FMPRO.application")
Dim FMProDocs, FMProDocs.Open("c:\MyFile.fmp12","","")
Dim FMProDoc
FMProDoc.DoFMScript ("MyScript")
Set FMProDoc = nothing
Quando FileMaker Pro viene avviato da Automation, per impostazione predefinita viene eseguito nascosto. È possibile utilizzare la proprietà visibile per nascondere o mostrare FileMaker Pro.
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:
Dim FMDocs as FMPro70Lib.Documents
Set FMDocs = FMApp.Documents
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:
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.
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.
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.