Erstellen einer Lösung > Arbeiten mit Plugins > Beispiel für Plugin-Aktualisierung
 
Beispiel für Plugin-Aktualisierung
Das folgende Beispiel vergleicht die Version eines installierten Plugins mit der Version, die sich in einem Containerfeld in der FileMaker Pro-Datei befindet, und aktualisiert das Plugin bei Bedarf.
1. Erstellen Sie in der Lösungsdatei eine Tabelle mit dem Namen Plugin-Aktualisierung zur Speicherung von Plugin-Informationen.
2. Definieren Sie die folgenden Felder:
 
Feldname
Feldtyp
Plugin-Name
Text
Erforderliche Plugin-Version
Zahl
Installierte Plugin-Version
Formel (ungespeichert). Beispielcode siehe unter Formel für Client-Plugin-Version unten.
Status des installierten Plugins
Formel (ungespeichert). Beispielcode siehe unter Formel für aktivierten Zustand des Client-Plugin-s unten.
Plugin-Datei
Containerfeld
3. Erstellen Sie ein Layout mit dem Namen „Plugin-Aktualisierungsinformation” und fügen Sie es den Feldern hinzu, die Sie in Schritt 2 definiert haben.
4. Erstellen Sie das folgende Script und nennen Sie es „Plugin installieren”:
Fehleraufzeichnung setzen [Ein]
Plugin-Datei installieren [Plugin-Aktualisierung::Plugin-Datei]
#
#Fehlerbehandlung
Wenn [Hole ( LetzteFehlerNr ) 0]
Wenn [Hole ( LetzteFehlerNr ) = 3]
Eigenes Dialogfeld anzeigen [Plugin-Aktualisierung::Plugin-Datei & " konnte nicht installiert werden. Stellen Sie sicher, dass "Lösungen dürfen Dateien installieren" in den FileMaker Pro-Plugin-Einstellungen aktiviert ist."]
Sonst, wenn [Hole ( LetzteFehlerNr ) = 1550]
Eigenes Dialogfeld anzeigen [Plugin-Aktualisierung::Plugin-Datei & " wurde installiert, konnte aber nicht initialisiert werden."]
Sonst, wenn [Hole ( LetzteFehlerNr ) = 1551]
Eigenes Dialogfeld anzeigen [Plugin-Aktualisierung::Plugin-Datei & " konnte nicht installiert werden."]
Sonst
Eigenes Dialogfeld anzeigen ["Allgemeiner Fehler " & Hole ( LetzteFehlerNr ) & " aufgetreten bei der Installation von " & Plugin-Aktualisierung::Plugin-Datei]
Ende ( wenn )
Ende ( wenn )
5. Erstellen Sie das folgende Script und nennen Sie es „Plugin-Versionen prüfen”:
Gehe zu Layout ["Plugin-Aktualisierungsinformation"]
Gehe zu Datens./Abfrage/Seite [Erster]
Schleife ( Anfang )
Wenn [Plugin-Aktualisierung::Installierte Plugin-Version < Plugin-Aktualisierung::Erforderliche Plugin-Version]
#Plugin muss installiert oder aktualisiert werden.
Script ausführen ["Plugin installieren"]
Ende ( wenn )
Gehe zu Datens./Abfrage/Seite [Nächster ; Nach letztem beenden]
Schleife ( Ende )
6. Erstellen Sie das folgende Script und nennen Sie es „Prüfen, ob aktiviert”:
Fehleraufzeichnung setzen [Ein]
Ergebnismenge suchen [Wiederherstellen]
#Suche nach "Aktiviert" im Feld "Status des installierten Plugins"
Wenn [Hole ( AnzahlGefundeneDatensätze ) 0]
Eigenes Dialogfeld anzeigen ["Einige erforderliche Plugins sind nicht aktiviert. Stellen Sie sicher, dass "Lösungen dürfen Dateien installieren" in den FileMaker Pro-Plugin-Einstellungen aktiviert ist."]
Ende ( wenn )
7. Erstellen Sie ein Startscript mit dem Namen „Plugin-Aktualisierungsscript”, das auf die obigen Scripts in ihrer Reihenfolge verweist, wenn die Datenbank geöffnet wird.
Script ausführen ["Plugin-Versionen prüfen"]
Script ausführen ["Prüfen, ob aktiviert"]
Gehe zu Layout [Originallayout]
Formel für Client-Plugin-Version
SetzeVar (
[
PluginNamePosition = Position ( Hole ( InstallierteFMPlugins ) ; Plugin-Name ; 1 ; 1 ) ;
PluginVersionStart = PluginNamePosition + Länge ( PluginName ) + 1 ;
PluginVersionEnde = Position ( Hole ( InstallierteFMPlugins ) ; " ; " ; PluginNamePosition ; 2 ) ;
PluginVersionLänge = PluginVersionEnde - PluginVersionStart
] ;
Wenn ( MusterAnzahl ( Hole ( InstallierteFMPlugins ) ; Plugin-Name ) = 0 ; "" ; Mitte ( Hole ( InstallierteFMPlugins ) ; PluginVersionStart ; PluginVersionLänge ) )
)
Formel für aktivierten Zustand des Client-Plugin-s
SetzeVar (
[
PluginNamePosition = Position ( Hole ( InstallierteFMPlugins ) ; Plugin-Name ; 1 ; 1 ) ;
PluginStatusStart = Position ( Hole ( InstallierteFMPlugins ) ; " ; " ; PluginNamePosition ; 2 ) + 1 ;
PluginStatusEnde = Wenn ( Position ( Hole ( InstallierteFMPlugins ) ; "¶" ; PluginNamePosition ; 1 ) > 0 ; Position ( Hole ( InstallierteFMPlugins ) ; "¶" ; PluginNamePosition ; 1 ) ; Länge ( Hole ( InstallierteFMPlugins ) ) + 1 ) ;
PluginStatusLänge = PluginStatusEnde - PluginStatusStart
] ;
Wenn ( MusterAnzahl ( Hole ( InstallierteFMPlugins ) ; Plugin-Name ) = 0 ;
"" ; Mitte ( Hole ( InstallierteFMPlugins ) ; PluginStatusStart ; PluginStatusLänge ) )
)
Weiterführende Themen 
Erstellen von eigenen Plugins
Hole ( InstallierteFMPlugins )
Plugin-Datei installieren