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 bevindt in een containerveld in het FileMaker Pro-bestand en wordt de plug-in zo nodig bijgewerkt.
- Maak in het bestand van de app op maat een tabel met de naam
Update plug-in
om hier gegevens van de plug-in in op te slaan. - Definieer de volgende velden:
- Maak een lay-out met de naam Plug-ininformatie bijwerken en voeg er de velden aan toe die u in stap 2 hebt gedefinieerd.
- Maak het volgende script en noem het Plug-in installeren::Kopiëren
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 plugin::Plug-inbestand & " kan niet worden geïnstalleerd. Controleer of de optie 'Oplossingen toestaan om bestanden te installeren' is ingeschakeld in de FileMaker Pro-instellingen voor plug-ins."]
Else If [Get(LaatsteFout) = 1550]
Aangepast dialoogvenster tonen [Update plugin::Plug-inbestand & " is geïnstalleerd, maar kan niet worden geïnitialiseerd."]
Else If [Get(LaatsteFout) = 1551]
Aangepast dialoogvenster tonen [Update plugin::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 - Maak het volgende script en noem het Plug-inversies controleren:Kopiëren
Ga naar lay-out ["Plug-ininformatie bijwerken"]
Ga naar record/verzoek/pagina [Eerste]
Loop [ Wissen: Altijd ]
If [Update plug-in::Geïnstalleerde plug-inversie < Update plug-in::Vereiste plug-inversie]
#Plug-in moet worden geïnstalleerd of bijgewerkt.
Script uitvoeren [Opgegeven: Uit lijst; "Plug-inbestand installeren" ;
Parameter: ]
End If
Ga naar record/verzoek/pagina [Volgende; Afsluiten na laatste: Aan]
End Loop - Maak het volgende script en noem het Inschakeling controleren:Kopiëren
Foutafvanging instellen [Aan]
Zoekopdracht uitvoeren [Herstellen]
#"Ingeschakeld" zoeken in het veld Toestand van geïnstalleerde plug-in
If[Get(GevondenTelling) < Get (TellingTotaalaantalRecords)]
Aangepast dialoogvenster tonen ["Sommige vereiste plug-ins zijn niet ingeschakeld. Controleer of de optie 'Oplossingen toestaan om bestanden te installeren' is ingeschakeld in de FileMaker Pro-instellingen voor plug-ins."]
End If - 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:Kopiëren
Script uitvoeren [Opgegeven: Uit lijst ; "Plug-inversies controleren" ;
Parameter: ]
Script uitvoeren [Opgegeven: Uit lijst ; "Inschakeling controleren" ;
Parameter: ]
Ga naar lay-out [originele lay-out ; Animatie: Geen ]
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 |
Berekening van versie van clientplug-in
Kopiëren
Laat (
[
Plug-inNaamPositie = Positie (Get (GeïnstalleerdeFMPlug-ins); Plug-inNaam ; 1 ; 1 );
Plug-inVersieStart = Plug-inNaamPositie + Lengte( Plug-inNaam ) + 1;
Plug-inVersieEinde = Positie ( Get(GeïnstalleerdeFMPlug-ins); ";" ; Plug-inNaamPositie ; 2 );
Plug-inVersieLengte = Plug-inVersieEinde - Plug-inVersieStart
];
If ( PatroonAantal ( Get (GeïnstalleerdeFMPlug-ins) ; Plug-inNaam ) = 0 ; "" ; Midden ( Krijg(GeïnstalleerdeFMPlug-ins) ; Plug-inVersieStart ; Plug-inVersieLengte ) )
)
Berekening van ingeschakelde status van clientplug-in
Kopiëren
Laat (
[
Plug-inNaamPositie = Positie ( Get(GeïnstalleerdeFMPlug-ins); Plug-in Naam ; 1 ; 1 );
Plug-inStatusStart = Positie ( Get(GeïnstalleerdeFMPlug-ins); ";" ; Plug-inNaamPositie ; 2 ) + 1;
Plug-inStatusEinde = If ( Positie ( Get(GeïnstalleerdeFMPlug-ins); "¶" ; Plug-inNaamPositie ; 1 ) > 0; Positie ( Get(GeïnstalleerdeFMPlug-ins); "¶" ; Plug-inNaamPositie ; 1 ); Lengte( Get(GeïnstalleerdeFMPlug-ins) ) + 1 );
Plug-inStatusLengte = Plug-inStatusEinde - Plug-inStatusStart
];
If ( PatroonAantal ( Get (GeïnstalleerdeFMPlug-ins) ; Plug-in Naam ) = 0 ;
"" ; Midden ( Get(GeïnstalleerdeFMPlug-ins) ; Plug-inStatusStart ; Plug-inStatusLengte ) )
)
Opmerkingen
- Om plug-ins te kunnen installeren of bijwerken, moet de optie Oplossingen toestaan om bestanden te installeren in de plug-ininstellingen van de client zijn geselecteerd. Zie Plug-in-instellingen wijzigen.
- Als in de plug-in-instellingen van de client een plug-in is uitgeschakeld, zal deze worden geïnstalleerd, maar pas toegankelijk zijn nadat de plug-in handmatig door de gebruiker wordt ingeschakeld.
- In elk containerveld kan slechts één plug-in worden opgeslagen, maar u kunt alle informatie over de plug-in weergeven door in één lay-out meerdere plug-incontainervelden te maken.