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-Plugins 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: Ein]
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-Plugins
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