ActiveX-automatisering gebruiken in FileMaker Pro (Windows)
De FileMaker Pro Type Library
In de typenbibliotheek zijn de objecten, eigenschappen en methoden beschreven die door FileMaker Pro beschikbaar worden gesteld om andere ActiveX-clients toegang te geven tot FileMaker Pro.
De FileMaker Pro Type Library maakt deel uit van het uitvoerbare bestand van FileMaker Pro. Het is geen afzonderlijk bestand. De FileMaker Pro Type Library wordt tijdens de installatie van FileMaker Pro op uw computer geregistreerd.
In Visual Basic voegt u "FileMaker Pro Type Library" toe aan de lijst met beschikbare verwijzingen in uw project.
Belangrijk  De FileMaker Pro Type Library moet worden toegevoegd aan de lijst met beschikbare typenbibliotheken in de toepassing die u gebruikt voor de implementatie van het ActiveX-automatiseringsdocument. Als u de typenbibliotheek niet toevoegt, krijgt u geen toegang tot FileMaker Pro via ActiveX-automatisering.
Op welke manier deze bibliotheek wordt toegevoegd, hangt af van het gebruikte schrijfprogramma voor ActiveX-automatisering. Raadpleeg de handleiding die bij uw ActiveX Automation-schrijfprogramma is meegeleverd als u niet zeker weet hoe dit moet. In de volgende procedure wordt uitgelegd hoe u dit in Microsoft Visual Basic kunt doen.
Zo voegt u de FileMaker Pro Type Library toe aan Microsoft Visual Basic:
1.
In Microsoft Visual Basic kiest u op de menubalk Project > References > Add Type Library.
2.
Schakel het selectievakje links van FileMaker Pro Type Library in.
3.
Als de FileMaker Pro Type Library is opgenomen in de projectverwijzingen, staat FMPro70Lib in de Object Browser van Visual Basic. Alle objecten, methoden en eigenschappen die FileMaker Pro beschikbaar stelt voor automatiseringsbesturing, zijn dan beschikbaar.
FileMaker Pro declareren als toepassingsobject
Declareer FileMaker Pro als toepassingsobject telkens wanneer u een ActiveX-automatiseringsscript of een toepassing voor de besturing van FileMaker Pro maakt. Hiertoe volstaat één regel code, die samen met uw andere definities bovenaan in uw automatiseringsdocument komt te staan.
Voorbeeld:
Dim FMProApp As FMPro70Lib.Application
Een toepassingsobject oproepen
Om automatiseringsoproepen naar FileMaker te kunnen verzenden, moet u eerst toegang hebben tot het FileMaker-toepassingsobject. Dit kan op twee manieren: door de instructie CreateObject of de instructie GetObject op te geven.
Om een van beide aanroepen te kunnen doen, declareert u eerst het toepassingsobject:
Dim FMProApp As FMPro70Lib.Application
Alleen voor CreateObject:
Set FMProApp = CreateObject( "FMPRO.Application" )
De instructie CreateObject zorgt ervoor dat FileMaker wordt gestart als de toepassing nog niet actief is.
De functie GetObject haalt een toepassingsobject op, maar alleen als FileMaker al actief is.
Alleen voor GetObject:
Set FMProApp = GetObject( , "FMPRO.Application" )
De komma geeft aan dat het eerste argument voor GetObject — een pad naar een bestand op de schijf — is weggelaten. De komma is vereist omdat GetObject in bepaalde omstandigheden als eerste argument een bestandsnaam gebruikt. Om een exemplaar van FileMaker op te halen, moet het bestandsnaamargument echter achterwege blijven, anders treedt er een fout op.
Een FileMaker Pro-script oproepen
Om een FileMaker Pro-script uit te voeren via ActiveX-automatisering, roept u de functie DoFMScript op met de naam van het script als argument.
Voorbeeld:
Dim FMProApp As FMPro70Lib.Application
CreateObject( "FMPRO.application" )
Dim FMProDocs, FMProDocs.Open( "c:\MijnBestand.fmp12","","" )
Dim FMProDoc
FMProDoc.DoFMScript ( "MijnScript" )
Set FMProDoc = Nothing
De weergave van de FileMaker Pro-toepassing in- of uitschakelen
Wanneer FileMaker Pro wordt gestart door de automatiseringsfunctie, wordt de toepassing standaard niet weergegeven. U kunt de eigenschap Zichtbaar gebruiken om FileMaker Pro weer te geven of te verbergen.
Zo verbergt u bijvoorbeeld de toepassing:
FMProApp.Visible = False
Zo geeft u de toepassing weer:
FMProApp.Visible = True
Verwijzingstellers en objecten vrijgeven
Bij elke verwijzing naar een automatiseringsobject wordt een verwijzingsteller met één verhoogd, zodat FileMaker weet dat een proces gebruikmaakt van dat object. In Visual Basic wordt de verwijzingsteller voor objecten verhoogd telkens wanneer u voor een gedeclareerde variabele een FileMaker-object opgeeft, bijvoorbeeld:
' alleen een declaratie - nog geen verwijzingen
Dim FMDocs as FMPro70Lib.Documents
' met deze regel geeft u een verwijzing op voor het FileMaker-object "Documents"
Set FMDocs = FMApp.Documents
' met deze regel geeft u een tweede verwijzing op voor hetzelfde FileMaker-object "Documents"
Set FMDocs2 = FMApp.Documents
Mogelijk wordt FileMaker pas afgesloten nadat alle verwijzingstellers zijn vrijgegeven. In Visual Basic kunt u de verwijzingstelling vrijgeven door de objectvariabele op "Nothing" in te stellen, bijvoorbeeld:
' hiermee geeft u de verwijzing naar het FileMaker-object "Documents" vrij
Set FMDocs = Nothing
' hiermee geeft u de tweede verwijzing naar het FileMaker-object "Documents" vrij
Set FMDocs2 = Nothing
' hiermee geeft u de verwijzing naar het FileMaker-toepassingsobject vrij
Set FMApp = Nothing
U doet er goed aan objectvariabelen altijd op "Nothing" in te stellen als u ze niet meer nodig hebt.
Toegangsprivileges
In FileMaker Pro wordt gebruikgemaakt van de methode Documents.Open( bestandsnaam As String, accountnaam As String, wachtwoord As String ). Als de argumenten accountnaam en wachtwoord leeg zijn, wordt het bestand geopend met de privileges van een client-gebruiker.
Scripts
FileMaker Pro-scripts die rechtstreeks door de automatiseringsfunctie worden aangeroepen, kunnen elkaar onderbreken.
FileMaker Pro-scripts die vanuit andere FileMaker Pro-scripts worden aangeroepen, worden na elkaar op de correcte wijze uitgevoerd.
Op afstand gehoste bestanden
Het is niet mogelijk om een gehost bestand te openen met uitsluitend ActiveX-automatisering. Om een op een host geïmplementeerd bestand te openen via ActiveX-automatisering, kunt u het bestand rechtstreeks openen in het dialoogvenster Openen van het menu Bestand in FileMaker Pro en vervolgens het reeds geopende bestand aanspreken via de automatiseringsfunctie. U kunt ook een FileMaker Pro-script schrijven dat het op de host geïmplementeerde bestand opent en dit script aanroepen via ActiveX-automatisering.
Verwante onderwerpen 
ActiveX-automatisering gebruiken in FileMaker Pro (Windows)
Voorbeeld van ActiveX-automatisering (Windows)