ActiveX-automatisering gebruiken in FileMaker Pro (Windows)
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.
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.
Dim FMProApp As FMPro70Lib.Application
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.
Dim FMProApp As FMPro70Lib.Application
Set FMProApp = CreateObject( "FMPRO.Application" )
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.
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.
Dim FMProApp As FMPro70Lib.Application
CreateObject( "FMPRO.application" )
Dim FMProDocs, FMProDocs.Open( "c:\MijnBestand.fmp12","","" )
Dim FMProDoc
FMProDoc.DoFMScript ( "MijnScript" )
Set FMProDoc = Nothing
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.
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:
Dim FMDocs as FMPro70Lib.Documents
Set FMDocs = FMApp.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:
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.
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.
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.