Använda FileMaker Pro ActiveX Automation (Windows)
Typbiblioteket i FileMaker Pro
Typbiblioteket beskriver de objekt, egenskaper och metoder som görs tillgängliga av FileMaker Pro, så att andra ActiveX-klienter kan använda FileMaker Pro.
Typbiblioteket i FileMaker Pro ingår i programmet FileMaker Pro. Det är inte någon separat fil. Typbiblioteket i FileMaker Pro registrerades på din dator när du installerade FileMaker Pro.
I Visual Basic lägger du till "FileMaker Pro Type Library" i listan över tillgängliga referenser i ditt projekt.
Viktigt!  Du måste lägga till typbiblioteket för FileMaker Pro i listan över tillgängliga typbibliotek i det program du kommer att använda för att implementera ditt ActiveX Automation-dokument. Om du inte lägger till typbiblioteket, kommer du inte att kunna adressera FileMaker Pro via ActiveX Automation.
Metoden för att lägga till biblioteket varierar mellan de olika utvecklingsverktygen för ActiveX Automation. Läs i handboken för utvecklingsverktyget för ActiveX Automation om du är osäker på hur du ska göra. Följande anvisningar förklarar hur du gör det här i Microsoft Visual Basic.
Så här lägger du till typbiblioteket i FileMaker Pro till Microsoft Visual Basic:
1.
Välj Project > References > Add Type Library i Microsoft Visual Basic.
2.
Markera kryssrutan till vänster om FileMaker Pro Type Library.
3.
FMPro70Lib visas i Visual Basic Objektgranskning när projektreferenserna omfattar typbiblioteket i FileMaker Pro. Alla objekt, metoder och egenskaper som FileMaker Pro gör tillgängliga för automatiseringsklienter är nu tillgängliga.
Ange FileMaker Pro som programobjekt
Ange FileMaker Pro som programobjekt varje gång du skapar ett ActiveX Automation-manus eller ActiveX Automation-program för att styra FileMaker Pro. Det enda som behövs är en rad kod längst upp i Automation-dokumentet, tillsammans med de andra definitionerna.
Till exempel:
Dim FMProApp som FMPro70Lib.Application
Hämta ett programobjekt
Om du vill skapa Automation-anrop till FileMaker, måste du först få tillgång till FileMaker-programobjektet. Det finns två sätt att få det: genom att anropa CreateObject, eller GetObject.
Om du vill använda något av anropen, måste du först deklarera programobjektet:
Dim FMProApp as FMPro70Lib.Application
Endast för CreateObject:
Set FMProApp = CreateObject("FMPRO.Application")
CreateObject startar FileMaker om programmet inte redan körs.
Funktionen GetObject hämtar endast ett programobjekt om FileMaker redan körs.
Endast för GetObject:
Set FMProApp = GetObject(, "FMPRO.Application")
Lägg märke till kommatecknet, som anger att det första argumentet till GetObject (en sökväg till en fil på hårddisken) har uteslutits. Kommatecknet krävs eftersom GetObject tar ett filnamn som första argument i vissa fall. Om du vill hämta en instans av FileMaker, måste du dock utesluta filnamnsargumentet om inte ett fel ska uppstå.
Anropa ett FileMaker Pro-manus
Om du vill köra ett FileMaker Pro-manus via ActiveX Automation anropar du funktionen DoFMScript med namnet på manuset som variabel.
Till exempel:
Dim FMProApp as FMPro70Lib.Application
CreateObject("FMPRO.application")
Dim FMProDocs, FMProDocs.Open("c:\MyFile.fmp12","","")
Dim FMProDoc
FMProDoc.DoFMScript ("MittManus")
Set FMProDoc = nothing
Växla mellan vyer i FileMaker Pro
När FileMaker Pro startas via ActiveX Automation, är programmet dolt som standard. Du kan använda egenskapen för visning om du vill dölja eller visa FileMaker Pro.
Så här döljer du t.ex. programmet:
FMProApp.Visible = Falskt
Så här visar du programmet:
FMProApp.Visible = Sant
Referensräknare och frigöra ett objekt
När ett automatiseringsobjekt refereras, ökar värdet för en referensräknare så att FileMaker ska veta att en process använder objektet. I Visual Basic referensräknas ett objekt varje gång som du anger den deklarerade variabeln för ett FileMaker-objekt, till exempel:
' bara en deklaration - inga referenser ännu
Dim FMDocs som FMPro70Lib.Documents
' denna rad skapar en referens för FileMaker-objektet "Documents"
Set FMDocs = FMApp.Documents
' detta skapar en andra referens för samma FileMaker-objekt "Documents"
Set FMDocs2 = FMApp.Documents
FileMaker kanske inte avslutas innan alla referensräknare frigörs. I Visual Basic kan du frigöra referensräknaren genom att ange objektvariabeln till "Nothing". Exempel:
' frigör referensen till FileMaker-objektet "Documents"
Set FMDocs = Nothing
' frigör den andra referensen till FileMaker-objektet "Documents"
Ställ in FMDocs2 = Nothing
' frigör referensen till FileMaker-objektet "Application"
Set FMApp = Nothing
Det är bra att ta för vana att alltid ange objektvariablerna till ”Nothing” när du är klar med att använda variablerna.
Behörighet
FileMaker Pro använder metoden Documents.Open(filnamn som sträng, kontonamn som sträng, lösenord som sträng). Om argumenten kontonamn och lösenord är tomma strängar öppnas filen som en klientanvändare.
Manus
FileMaker Pro-manus som anropas direkt via ActiveX Automation kan avbryta varandra.
FileMaker Pro-manus som anropas från andra FileMaker Pro-manus körs i tur och ordning som de ska.
Fjärrfiler
Det går inte att öppna en fjärrfil med bara ActiveX Automation. Om du vill öppna en fjärrfil med ActiveX Automation, kan du antingen öppna filen direkt i dialogrutan Öppna i FileMaker och sedan använda filen med ActiveX Automation, eller också kan du skriva ett FileMaker Pro-manus som öppnar fjärrfilen och därefter anropa manuset via Automation.
Relaterade avsnitt 
Använda FileMaker Pro ActiveX Automation (Windows)
Exempel på ActiveX Automation (Windows)