Een oplossing maken > Werken met plug-ins > Voorbeeld van update van plug-in
 
Voorbeeld van update van plug-in
In het volgende voorbeeld wordt de versie van een geïnstalleerde plug-in vergeleken met de versie die zich in een containerveld in het FileMaker Pro-bestand bevindt en wordt de plug-in zo nodig bijgewerkt.
1. Maak in het oplossingsbestand een tabel Update plug-in om er informatie over de plug-in in op te slaan.
2. Definieer de volgende velden:
 
Veldnaam
Veldtype
Naam van plug-in
tekst
Vereiste versie van plug-in
getal
Geïnstalleerde plug-inversie
berekening (niet-opgeslagen). Bijvoorbeeld code; raadpleeg Berekening van versie van clientplug-in hieronder.
Toestand van geïnstalleerde plug-in
berekening (niet-opgeslagen). Bijvoorbeeld code; raadpleeg Berekening van ingeschakelde status van clientplug-in hieronder.
Plug-inbestand
container
3. Maak een lay-out met de naam Plug-ininformatie bijwerken en voeg er de velden aan toe die u in stap 2 hebt gedefinieerd.
4. Maak het volgende script en noem het Plug-in installeren:
Foutafvanging instellen [Aan]
Plug-inbestand installeren [Update plug-in::Plug-inbestand]
#
#Omgaan met fouten
If [Get (LaatsteFout) 0]
If [Get (LaatsteFout) = 3]
Aangepast dialoogvenster tonen [Update plug-in::Plug-inbestand & " kan niet worden geïnstalleerd. Controleer of de optie 'Oplossingen toestaan om bestanden te installeren' in de FileMaker Pro-voorkeuren voor plug-ins is ingeschakeld."]
Else If [Get (LaatsteFout) = 1550]
Aangepast dialoogvenster tonen [Update plug-in::Plug-inbestand & " is geïnstalleerd, maar kan niet worden geïnitialiseerd."]
Else If [Get (LaatsteFout) = 1551]
Aangepast dialoogvenster tonen [Update plug-in::Plug-inbestand & " kan niet worden geïnstalleerd."]
Else
Aangepast dialoogvenster tonen ["Er is een algemene fout " & Get (LaatsteFout ) & " opgetreden bij de installatie van " & Update plug-in::Plug-inbestand]
End If
End If
5. Maak het volgende script en noem het Plug-inversies controleren:
Ga naar lay-out [“Plug-ininformatie bijwerken”]
Ga naar record/verzoek/pagina [Eerste]
Loop
If [Update plug-in::Geïnstalleerde plug-inVersie < Update plug-in::Vereiste plug-inversie]
#Plug-in moet worden geïnstalleerd of bijgewerkt.
Script uitvoeren [“Plug-in installeren”]
End If
Ga naar record/verzoek/pagina [Volgende; Afsluiten na laatste: Aan]
End Loop
6. Maak het volgende script en noem het Inschakeling controleren:
Foutafvanging instellen [Aan]
Zoekopdracht uitvoeren [Herstellen]
#"Ingeschakeld" zoeken in het veld Toestand van geïnstalleerde plug-in
If [Get (GevondenTelling) 0]
Aangepast dialoogvenster tonen ["Sommige vereiste plug-ins zijn niet ingeschakeld. Controleer of de optie 'Oplossingen toestaan om bestanden te installeren' in de FileMaker Pro-voorkeuren voor plug-ins is ingeschakeld."]
End If
7. Maak een opstartscript met de naam Script voor bijwerken van plug-in, waarin wordt verwezen naar de hiervoor vermelde scripts, in de scriptvolgorde, wanneer de database wordt geopend:
Script uitvoeren ["Plug-inversies controleren"]
Script uitvoeren [“Inschakeling controleren”]
Ga naar lay-out [originele lay-out]
Berekening van versie van clientplug-in
Let (
[
PluginNamePosition = Position (Get (InstalledFMPlugins); Plugin Name ; 1 ; 1);
PluginVersionStart = PluginNamePosition + Length( Plugin Name ) + 1;
PluginVersionEnd = Position (Get (InstalledFMPlugins); ";" ; PluginNamePosition ; 2);
PluginVersionLength = PluginVersionEnd - PluginVersionStart
];
If (PatternCount (Get (InstalledFMPlugins) ; Plugin Name) = 0 ; “” ; Middle (Get (InstalledFMPlugins) ; PluginVersionStart ; PluginVersionLength) )
)
Berekening van ingeschakelde status van clientplug-in
Let (
[
PluginNamePosition = Position (Get (InstalledFMPlugins); Plugin Name ; 1 ; 1);
PluginStateStart = Position (Get (InstalledFMPlugins); ";" ; PluginNamePosition ; 2) + 1;
PluginStateEnd = If ( Position (Get (InstalledFMPlugins); "¶" ; PluginNamePosition ; 1 ) > 0; Position (Get (InstalledFMPlugins); "¶" ; PluginNamePosition ; 1 ); Length (Get (InstalledFMPlugins) ) + 1 );
PluginStateLength = PluginStateEnd - PluginStateStart
];
If ( PatternCount (Get (InstalledFMPlugins) ; Plugin Name ) = 0 ;
"" ; Middle (Get (InstalledFMPlugins) ; PluginStateStart ; PluginStateLength) )
)
Verwante onderwerpen 
Eigen plug-ins maken
Get ( GeïnstalleerdeFMPlugins )
Plug-inbestand installeren