2011

Mar

23

Av

En vanlig företeelse i FileMaker är att starta ett manus som byter till en utskriftslayout, gör sorteringar och beräkningar, skriver ut och sedan går tillbaka till den ursprungliga layouten. Manuset kan ta en stund för att sortera, beräkna osv. och ibland kan användaren få för sig att avbryta operationen. Det kanske var fel urval, tog för lång tid etc.

Om användaren avbryter ett manus som tar lång tid stannar FileMaker i den layout som för tillfället är aktiv, det kan t.ex. vara i en utskriftslayout. Det är kanske inte så lätt för användaren att komma tillbaka till ursprungsläget. Ett sätt kan vara att göra ett manus som finns överst i Manus-menyn som går till en huvudmeny eller liknande. Användaren kan då välja det för att komma tillbaka till menyn med knappar till mer välkända layouter.

Ett annat sätt är att använda manus-triggers. Från FileMaker version 10 går det att ställa in så att ett manus körs med regelbundet intervall så fort FileMaker inte har något annat att göra. Ett sådant manus ställs in med hjälp av manussteget Installera OnTimer-manus. I manussteget anges vilket manus som ska köras och hur ofta det ska köras. OnTimer-manus kan t.ex. användas för att uppdatera en sökning med jämna mellanrum, för att bläddra mellan poster som visas på storbildskärm eller liknande. Det kan också användas för att gå tillbaka till menyn när användaren avbryter en operation.

Manussteget Installera OnTimer-manus lägger jag in först i ett manus som utför en lång operation (sortering, utskrift, beräkning etc.). I det här fallet vill jag köra ett manus som jag kallar Gå tillbaka varje sekund. Eftersom manuset inte kommer att köras förrän FileMaker inte gör något annat, kommer det inte att köras förrän sorteringen, sökningen, utskriften eller vad det är som tar tid är klar, eller om operationen avbryts av användaren i förtid.

Manuset som innehåller den operation som tar tid kan se ut så här i början:

Installera OnTimer-manus ["Gå tillbaka"; Intervall: 1]
Gå till layout ["Utskriftslayout"]
Sortera poster
....

Manuset Gå tillbaka innehåller 3 manussteg:

Tillåt användaren att avbryta [Av]
Installera OnTimer-manus []
Gå till layout ["Meny"]

Användaren får inte lov att avbryta även detta manus som installerar ett “tomt” OnTimer-manus. Det betyder att manuset Gå tillbaka inte längre ska köras regelbundet (det kan bara finnas ett manus som körs med regelbundenhet i bakgrunden, “tomt” manus betyder att inget manus ska köras regelbundet i bakgrunden). Till sist går manuset tillbaka till layouten för menyn (i det här exemplet).

Tack vare OnTimer-manuset kommer användaren alltid tillbaka till layouten Meny. Om den långa operationen går klart utförs OnTimer-manuset Gå tillbaka direkt. Om användaren avbryter den långa operationen, utförs även då OnTimer-manuset Gå tillbaka med en gång.

Skriv en kommentar

  • (will not be published)
  • + seven = 14

Läs också: