Skapa en anpassad app > Arbeta med plugin-program > Exempel på uppdatering av plugin-program
 

Exempel på uppdatering av plugin-program

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" ;
Parameter: ]
End If
Gå till post/sökpost/sida [Nästa; Avbryt efter sista: 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" ;
Parameter: ]
Utför script [Angivet: Från lista ; "Kontrollera om aktiverad" ;
Parameter: ]
Gå till layout [ursprunglig layout]

Beräkning av klienters plugin-version

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 ) )
)

Beräkning av klienters plugin-programs aktiveringsstatus

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 ) )
)

Kommentarer 

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.

Relaterade avsnitt 

Funktionen Get ( InstalleradeFMPlugin )

Funktionen Installera Plug-In