Création d'une solution > Utilisation des plug-ins > Exemple de mise à jour de plug-in
 
Exemple de mise à jour de plug-in
L’exemple suivant compare la version d’un module installé avec la version se trouvant dans une rubrique Conteneur du fichier FileMaker Pro et met à jour le plug-in, le cas échéant.
1. Dans le fichier de solution, créez une table portant le nom Mise à jour de plug-in pour stocker les informations du plug-in.
2. Définissez les rubriques suivantes :
 
Nom de rubrique
Type de rubrique
Nom du plug-in
Texte
Version de plug-in requise
Nombre
Version de plug-in installée
Calcul (non stocké). Pour visualiser un exemple de code, consultez la section Calcul de version de plug-in client ci-dessous.
Etat du plug-in installé
Calcul (non stocké). Pour visualiser un exemple de code, consultez la section Calcul d’état d’activation de plug-in client ci-dessous.
Fichier de plug-in
conteneur
3. Créez un modèle nommé Informations de mise à jour de plug-in, puis ajoutez-y les rubriques définies à l’étape 2.
4. Créez le script suivant et attribuez-lui le nom Installer le plug-in :
Gestion erreurs [Oui]
Installer le fichier de plug-in [Mise à jour de plug-in::Fichier de plug-in]
Nb
#Gérer les erreurs
Si [Obtenir ( DernièreErreur ) 0]
Si [Obtenir ( DernièreErreur ) = 3]
Ouvrir boîte dial. person. [Mise à jour de plug-in::Fichier de plug-in & " n’a pas pu être installé. Assurez-vous que l’option Autoriser les solutions à installer les fichiers est sélectionnée dans les préférences plug-in de FileMaker Pro."]
Sinon si [Obtenir ( DernièreErreur ) = 1550]
Ouvrir boîte dial. person. [Mise à jour de plug-in::Fichier de plug-in & " a été installé, mais n'a pas pu être initialisé."]
Sinon si [Obtenir ( DernièreErreur ) = 1551]
Ouvrir boîte dial. person. [Mise à jour de plug-in::Fichier de plug-in & " n'a pas pu être installé."]
Sinon
Ouvrir boîte dial. person. ["Une erreur générale " & Obtenir ( DernièreErreur ) & " s'est produite lors de l'installation de " & Mise à jour de plug-in::Fichier de plug-in]
Fin de si
Fin de si
5. Créez le script suivant et attribuez-lui le nom Vérifier les versions de plug-in :
Activer le modèle ["Informations de mise à jour de plug-in"]
Afficher enreg/requête/page [Premièr ( e )]
Boucle
Si [Mise à jour de plug-in::Version de plug-in installée < Mise à jour de plug-in::Version de plug-in requise]
#Le plug-in doit être installé ou mis à jour.
Exécuter script ["Installer le plug-in"]
Fin de si
Afficher enreg/requête/page [Suivant ( e ) ; Sortie après dernière]
Fin de boucle
6. Créez le script suivant et attribuez-lui le nom Vérifier l’activation :
Gestion erreurs [Oui]
Exécuter Rechercher [Rétablir]
#Rechercher "Enabled" dans la rubrique Etat du plug-in installé
Si [Obtenir ( NombreEnregTrouvés ) 0]
Ouvrir boîte dial. person. ["Certains plug-ins requis ne sont pas activés. Assurez-vous que l’option Autoriser les solutions à installer les fichiers est sélectionnée dans les préférences plug-in de FileMaker Pro."]
Fin de si
7. Créez un script de démarrage nommé Script de mise à jour de plug-in référençant les scripts ci-dessus dans l’ordre lorsque la base de données est ouverte :
Exécuter script ["Vérifier les versions de plug-in"]
Exécuter script ["Vérifier l'activation"]
Activer modèle [modèle d'origine]
Calcul de version de plug-in client
Définir (
[
PositionNomPlugin = Position ( Obtenir ( PluginsFMInstallés ) ; Nom du Plug-in ; 1 ; 1 ) ;
DébutVersionPlugin = PositionNomPlugin + Longueur ( Nom du Plugin ) + 1 ;
FinVersionPlugin = Position ( Obtenir ( PluginsFMInstallés ) ; " ; " ; PositionNomPlugin ; 2 ) ;
LongueurVersionPlugin = FinVersionPlugin - DébutVersionPlugin
] ;
Si ( Occurrences ( Obtenir ( PluginsFMInstallés ) ; Nom du plugin ) = 0 ; "" ; Extrait ( Obtenir ( PluginsFMInstallés ) ; DébutVersionPlugin ; LongueurVersionPlugin ) )
)
Calcul d’état d’activation de plug-in client
Définir (
[
PositionNomPlugin = Position ( Obtenir ( PluginsFMInstallés ) ; Nom du Plug-in ; 1 ; 1 ) ;
DébutEtatPlugin = Position ( Obtenir ( PluginsFMInstallés ) ; " ; " ; PositionNomPlugin ; 2 ) + 1 ;
FinEtatPlugin = Si ( Position ( Obtenir ( PluginsFMInstallés ) ; "¶" ; PositionNomPlugin ; 1 ) > 0 ; Position ( Obtenir ( PluginsFMInstallés ) ; "¶" ; PositionNomPlugin ; 1 ) ; Longueur ( Obtenir ( PluginsFMInstallés ) ) + 1 ) ;
LongueurEtatPlugin = FinEtatPlugin - DébutEtatPlugin
] ;
Si ( Occurrences ( Obtenir ( PluginsFMInstallés ) ; Nom du Plugin ) = 0 ;
"" ; Extrait ( Obtenir ( PluginsFMInstallés ) ; DébutEtatPlugin ; LongueurEtatPlugin ) )
)
Rubriques connexes 
Création de plug-ins personnalisés
Obtenir ( PluginsFMInstallés )
Installer le fichier de plug-in