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.
- Erstellen Sie in der Datei der eigenen App eine Tabelle mit dem Namen
Plugin-Aktualisierung
zur Speicherung von Plugin-Informationen. - Definieren Sie die folgenden Felder:
- Erstellen Sie ein Layout mit dem Namen „Plugin-Aktualisierungsinformation“ und fügen Sie es den Feldern hinzu, die Sie in Schritt 2 definiert haben.
- Erstellen Sie das folgende Script und nennen Sie es „Plugin installieren“:Kopieren
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) - Erstellen Sie das folgende Script und nennen Sie es „Plugin-Versionen prüfen“:Kopieren
Gehe zu Layout ["Plugin-Aktualisierungsinformation"]
Gehe zu Datens./Abfrage/Seite [Erster]
Schleife (Anfang) [ Löschen: Immer ]
Wenn [Plugin-Aktualisierung::Installierte Plugin-Version < Plugin-Aktualisierung::Erforderliche Plugin-Version]
#Plugin muss installiert oder aktualisiert werden.
Script ausführen [Angegeben: Aus Liste ; "Plugin installieren" ;
Parameter: ]
Ende (wenn)
Gehe zu Datens./Abfrage/Seite [Nächster; Nach letztem beenden: Ein]
Schleife (Ende) - Erstellen Sie das folgende Script und nennen Sie es „Prüfen, ob aktiviert“:Kopieren
Fehleraufzeichnung setzen [Ein]
Ergebnismenge suchen [Wiederherstellen]
#Suche nach "Aktiviert" im Feld "Status des installierten Plugins"
Wenn [Hole ( AnzahlGefundeneDatensätze ) < Hole ( AnzahlDatensätzeGesamt )]
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) - Erstellen Sie ein Startscript mit dem Namen „Plugin-Aktualisierungsscript“, das auf die obigen Scripts in ihrer Reihenfolge verweist, wenn die Datenbank geöffnet wird.Kopieren
Script ausführen [Angegeben: Aus Liste ; "Plugin-Versionen prüfen" ;
Parameter: ]
Script ausführen [Angegeben: Aus Liste ; "Prüfen, ob aktiviert" ;
Parameter: ]
Gehe zu Layout [Originallayout ; Animation: Keine ]
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 |
Container |
Formel für Client-Plugin-Version
SetzeVar (
[
PluginNamePosition = Position ( Hole ( InstallierteFMPlugins ); Plugin-Name ; 1 ; 1 );
PluginVersionStart = PluginNamePosition + Länge( Plugin-Name ) + 1;
PluginVersionEnde = Position ( Hole ( InstallierteFMPlugins ); ";" ; PluginNamePosition ; 2 );
PluginVersionLänge = PluginVersionEnde - PluginVersionStart
];
Wenn ( ElementeAnzahl ( 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 ( ElementeAnzahl ( Hole ( InstallierteFMPlugins ) ; Plugin-Name ) = 0 ;
"" ; Mitte ( Hole ( InstallierteFMPlugins ) ; PluginStatusStart ; PluginStatusLänge ) )
)
Hinweise
- Damit Plugins installiert werden, muss die Option Lösungen dürfen Dateien installieren in den Plugin-Einstellungen des Clients aktiviert sein. Siehe Ändern von Plugin-Einstellungen.
- Wenn ein Plugin in den Plugin-Einstellungen des Clients deaktiviert wurde, wird es installiert, steht aber erst zur Verfügung, nachdem es vom Benutzer manuell aktiviert wurde.
- Nur jeweils ein Plugin kann in einem Containerfeld gespeichert werden, aber Sie können sämtliche Plugin-Informationen anzeigen, indem Sie mehrere Plugin-Containerfelder auf einem einzigen Layout definieren.