I följande exempel jämförs det installerade plugin-programmets version med den version som finns i ett containerfält i FileMaker Pro Advanced-filen, och sedan uppdateras plugin-programmet, om det behövs.
1. I lösningsfilen skapar du en tabell med namnet Plugin-uppdatering
för lagring av plugin-information.
2. Definiera följande fält:
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 |
3. Skapa en layout med namnet Information om plugin-uppdatering och lägg till de fält du definierade i steg 2.
4. Skapa följande script med namnet Installera Plug-In:
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 Advanced-inställningarna för plugin-program."]
Else If [Get ( SenasteFel ) = 1550]
Visa anpassad dialogruta [Plugin-uppdatering::Plugin-fil & " installerades men kan inte startas."]
Else If [Get ( SenasteFel ) = 1551]
Visa anpassad dialogruta [Plugin-uppdatering::Plugin-fil & " gick inte att installera."]
Else
Visa anpassad dialogruta ["Ett generellt fel " & Get ( SenasteFel ) & " uppstod under installation av " & Plugin-uppdatering::Plugin-fil]
End If
End If
5. Skapa följande script med namnet Kontrollera plugin-versioner.
Gå till layout ["Information om plugin-uppdatering"]
Gå till post/sökpost/sida[Första]
Loop
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" ;
Parametrar: ]
End If
Gå till post/sökpost/sida [Nästa; Avbryt script efter alla: På]
End Loop
6. Skapa följande script med namnet Kontrollera aktivering:
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) ≠ 0]
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 Advanced-inställningarna för plugin-program."]
End If
7. Skapa ett startscript med namnet Script för plugin-uppdatering som refererar till ovanstående scripts i rätt ordning när databasen öppnas:
Utför script [Angivet: Från lista ; "Kontrollera plugin-versioner" ;
Parametrar: ]
Utför script [Angivet: Från lista ; "Kontrollera om aktiverad" ;
Parametrar: ]
Gå till layout [ursprunglig layout]
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 ) )
)
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 ) )
)
•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 Ange inställningar för plugin-program.
•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.