Exempel på uppdatering av plugin-program
I följande exempel jämförs det installerade plugin-programmets version med den version som finns i ett containerfält i FileMaker Pro-filen, och sedan uppdateras plugin-programmet om det behövs.
- I den anpassade appfilen skapar du en tabell med namnet
Plugin-uppdatering
för lagring av plugin-information. - Definiera följande fält:
- Skapa en layout med namnet Information om plugin-uppdatering och lägg till de fält du definierade i steg 2.
- Skapa följande script med namnet Installera Plug-In:Kopiera
Manuell felhantering [På]
Installera Plug-In [Plugin-uppdatering::Plugin-fil]
#
#Hantera fel
If [Get ( SenasteFel ) ≠ 0]
If [Get ( SenasteFel ) = 3]
Visa anpassad dialogruta [Plugin-uppdatering::Plugin-fil & " gick inte att installera. Kontrollera att Tillåt lösningar att installera filer är markerat i FileMaker Pro-inställningarna för plugin-program."]
Else If [Get ( SenasteFel ) = 1550]
Visa anpassad dialogruta [Plugin-uppdatering::Plugin-fil & " har installerats men kunde inte initieras."]
Else If [ Get ( SenasteFel ) = 1551]
Visa anpassad dialogruta [Plugin-uppdatering::Plugin-fil & " kunde inte installeras."]
Else
Visa anpassad dialogruta ["Ett allmänt fel " & Get ( SenasteFel ) & " uppstod vid installationen av " & Plugin-uppdatering::Plugin-fil]
End If
End If - Skapa följande script med namnet Kontrollera plugin-versioner.Kopiera
Gå till layout ["Information om plugin-uppdatering"]
Gå till post/sökpost/sida[Första]
Loop [ Rensa: Alltid ]
If [Plugin-uppdatering::Installerad plugin-version < Plugin-uppdatering::Krävd plugin-version]
#Plugin-program måste installeras eller uppdateras.
Utför script [Angivet: Från lista ; "Installera plugin" ;
Parameter: ]
End If
Gå till post/sökpost/sida [Nästa; Avbryt efter sista: På]
End Loop - Skapa följande script med namnet Kontrollera aktivering:Kopiera
Manuell felhantering [På]
Utför sökning [Återställ]
#Sökning efter "Aktiverad" i statusfältet för det installerade plugin-programmet
If [Get ( HittadePoster ) < Get ( TotaltAntalPoster )]
Visa anpassad dialogruta ["Vissa plugin-program som krävs är inte aktiverade. Kontrollera att Tillåt lösningar att installera filer är markerat i FileMaker Pro-inställningarna för plugin-program."]
End If - Skapa ett startscript med namnet Script för plugin-uppdatering som refererar till ovanstående scripts i rätt ordning när databasen öppnas:Kopiera
Utför script [Angivet: Från lista ; "Kontrollera plugin-versioner" ;
Parameter: ]
Utför script [Angivet: Från lista ; "Kontrollera om aktiverad" ;
Parameter: ]
Gå till layout [ursprunglig layout ; Animering: Ingen]
Fältnamn |
Fälttyp |
Plugin-namn |
text |
Plugin-version som krävs |
nummer |
Installerad plugin-version |
beräkning (ej lagrad). Exempel på kod finns i Beräkning av klienters plugin-version nedan. |
Installerad plugin-status |
beräkning (ej lagrad). Exempel på kod finns i Beräkning av klienters plugin-programs aktiveringsstatus nedan. |
Plugin-fil |
container |
Beräkning av klienters plugin-version
Kopiera
Let (
[
PluginNamePosition = Position ( Get(InstalleradeFMPlugin); Plugin Name ; 1 ; 1 );
PluginVersionStart = PluginNamePosition + Length( Plugin Name ) + 1;
PluginVersionEnd = Position ( Get(InstalleradeFMPlugin); ";" ; PluginNamePosition ; 2 );
PluginVersionLength = PluginVersionEnd - PluginVersionStart
];
If ( PatternCount ( Get (InstalleradeFMPlugin) ; Plugin Name ) = 0 ; "" ; Middle ( Get(InstalleradeFMPlugin) ; PluginVersionStart ; PluginVersionLength ) )
)
Beräkning av klienters plugin-programs aktiveringsstatus
Kopiera
Let (
[
PluginNamePosition = Position ( Get(InstalleradeFMPlugin); Plugin Name ; 1 ; 1 );
PluginStateStart = Position ( Get(InstalleradeFMPlugin); ";" ; PluginNamePosition ; 2 ) + 1;
PluginStateEnd = If ( Position ( Get(InstalleradeFMPlugin); "¶" ; PluginNamePosition ; 1 ) > 0; Position ( Get(InstalleradeFMPlugin); "¶" ; PluginNamePosition ; 1 ); Length( Get(InstalleradeFMPlugin) ) + 1 );
PluginStateLength = PluginStateEnd - PluginStateStart
];
If ( PatternCount ( Get (InstalleradeFMPlugin) ; Plugin Name ) = 0 ;
"" ; Middle ( Get(InstalleradeFMPlugin) ; PluginStateStart ; PluginStateLength ) )
)
Kommentarer
- Om du vill att plugin-program ska installeras, måste alternativet Tillåt lösningar att installera filer vara markerat i klientinställningarna för plugin-program. Mer information finns i Ändra plugin-inställningar.
- Om ett plugin-program har inaktiverats i klientinställningarna för plugin-program kommer det att installeras, men inte vara tillgängligt förrän det aktiveras manuellt av användaren.
- Endast ett plugin-program kan lagras i respektive containerfält, men du kan visa all plugin-information genom att skapa flera plugin-containerfält i en och samma layout.