Megjegyzés
Az oldalhoz való hozzáféréshez engedély szükséges. Megpróbálhat bejelentkezni vagy módosítani a címtárat.
Az oldalhoz való hozzáféréshez engedély szükséges. Megpróbálhatja módosítani a címtárat.
A következőkre vonatkozik: Vászonalapú alkalmazások
Az aktuálisan futó alkalmazással kapcsolatos információk lekérése és az alkalmazás viselkedésének szabályozása.
Description
A vezérlőkhöz hasonlóan az alkalmazásobjektum is rendelkezik olyan tulajdonságokkal, amelyek azonosítják, hogy melyik képernyő jelenik meg, és kéri, hogy mentse a módosításokat, hogy ne veszítse el őket. Minden alkalmazáshoz tartozik egy Alkalmazás objektum.
Képletek írása az alkalmazásobjektum egyes tulajdonságaihoz. A Fanézet ablaktábla tetején jelölje ki az Alkalmazás objektumot, ahogy bármely más vezérlővel vagy képernyővel tenné. Az objektum egyik tulajdonságának megtekintéséhez vagy szerkesztéséhez jelölje ki a szerkesztőléc bal oldalán található legördülő listában.
Ez a cikk a következő alkalmazásobjektum-tulajdonságokat ismerteti:
- ActiveScreen – az aktuálisan megjelenített képernyő.
- BackEnabled – hogyan reagál az alkalmazás az eszköz visszamozdulására.
- ConfirmExit és ConfirmExitMessage – az alkalmazás bezárása előtt figyelmezteti a felhasználót.
- Kapcsolati sztring – Az Application Insights naplózásának beállítása.
- Képletek – elnevezett képletek, felhasználó által definiált függvények és felhasználó által definiált típusok definiálása.
- OnError – a hibák globális kezelése.
- OnStart – futtassa a logikát az alkalmazás indításakor.
- StartScreen – Állítsa be először a képernyőt, amikor az alkalmazás betöltődik.
- StudioVersion – az alkalmazást közzétevő Power Apps Studio-verziót adja vissza.
ActiveScreen tulajdonság
Az ActiveScreen tulajdonság azonosítja az aktuálisan megjelenő képernyőt.
Ez a tulajdonság egy képernyőobjektumot ad vissza. Segítségével hivatkozhat az aktuális képernyő tulajdonságaira, például a App.ActiveScreen.Name képlet nevére. Ezt a tulajdonságot összehasonlíthatja egy másik képernyőobjektummal is, például az App.ActiveScreen = Screen2 összehasonlító képlettel annak ellenőrzéséhez, hogy a Screen2 az aktuális képernyő-e.
A Vissza vagy a Navigálás függvénnyel váltsa át a megjelenített képernyőt.
BackEnabled tulajdonság
A BackEnabled tulajdonság megváltoztatja, hogy az alkalmazás hogyan reagál az eszköz visszamozdulására (pöccintsen vagy használja az Android-eszközökön a hardvervisszajelző gombot, vagy pöccintsen balra az iOS-eszközökön) a Power Apps mobile-ban való futtatáskor. Ha engedélyezve van, az eszköz visszamozdul a legutóbb megjelenített képernyőre, amely hasonló a Vissza képlethez. Ha le van tiltva, az eszköz visszamozdulása az alkalmazáslistára viszi a felhasználót.
ConfirmExit tulajdonságai
Senki nem akarja elveszíteni a nem mentett változtatásokat. Az alkalmazás bezárása előtt a ConfirmExit és a ConfirmExitMessage tulajdonsággal figyelmeztetheti a felhasználót.
Megjegyzés:
- A ConfirmExit nem működik például a Power BI-ba és a SharePointba beágyazott alkalmazásokban.
- A ConfirmExit nem támogatott az egyéni oldalakon.
- Ezek a tulajdonságok mostantól csak az első képernyőn hivatkozhatnak vezérlőkre, ha engedélyezve van a Késleltetett betöltési előnézet funkció (amely alapértelmezés szerint az új alkalmazások esetében). Ha más képernyőkre hivatkozik, a Power Apps Studio nem jelenít meg hibát, de a közzétett alkalmazás nem nyílik meg a Power Apps Mobile-ban vagy böngészőben. Microsoft dolgozik a korlátozás feloldásán. Addig is kapcsolja ki a Késleltetett terhelés funkciót a Beállítások>közelgő funkcióiban ( az Előzetes verzió alatt).
ConfirmExit
A ConfirmExit egy logikai tulajdonság, amely igaz esetben megnyitja a megerősítést kérő párbeszédpanelt az alkalmazás bezárása előtt. Alapértelmezetten ez a tulajdonság hamis, és nem jelenik meg párbeszédpanel.
Ha a felhasználó esetleg nem mentett módosításokat az alkalmazásban, ezzel a tulajdonsággal megjeleníthet egy megerősítést kérő párbeszédpanelt, mielőtt kilépne az alkalmazásból. Használjon változókat és vezérlőtulajdonságokat ellenőrző képletet (például az Űrlap szerkesztése vezérlő Nem mentett tulajdonságát).
A megerősítést kérő párbeszédpanel minden olyan helyzetben megjelenik, ahol az adatok elveszhetnek, például:
- Futtassa a Kilépés függvényt.
- Ha az alkalmazás böngészőben fut:
- Zárja be azt a böngészőt vagy böngészőlapot, amelyen az alkalmazás fut.
- Válassza ki a böngésző vissza gombját.
- Futtassa a Launch függvényt egy Saját LaunchTargettel.
- Ha az alkalmazás a Power Apps Mobile-ban (iOS vagy Android) fut:
- Pöccintéssel válthat másik alkalmazásra a Power Apps Mobile-ban.
- Kattintson a Vissza gombra egy Android-eszközön.
- Futtassa a Launch függvényt egy másik vászonalapú alkalmazás elindításához.
A megerősítést kérő párbeszédpanel pontos megjelenése a Power Apps eszközeitől és verzióitól függően változhat.
A megerősítést kérő párbeszédpanel nem jelenik meg a Power Apps Studióban.
ConfirmExitMessage
A megerősítő párbeszédpanel alapértelmezetten egy általános üzenetet jelenít meg a felhasználó nyelvén, például: „Lehetnek nem mentett változtatásai.”
A ConfirmExitMessage segítségével egyéni üzenetet írhat ki a megerősítő párbeszédpanelen. Ha a tulajdonság üres, a rendszer az alapértelmezett értéket használja. Az egyéni üzeneteket szükség szerint csonkolja a rendszer, hogy elférjenek a megerősítést kérő párbeszédpanelen, így legfeljebb néhány sornyira tarthatja az üzenetet.
A böngészőben a megerősítést kérő párbeszédpanelen megjeleníthet egy általános üzenetet a böngészőből.
Example
Állítsa be az Alkalmazás objektum ConfirmExit tulajdonságát erre a kifejezésre:
AccountForm.Unsaved Or ContactForm.UnsavedA párbeszédpanel akkor jelenik meg, ha a felhasználó mindkét formában módosítja az adatokat, majd a módosítások mentése nélkül megpróbálja bezárni az alkalmazást.
Állítsa be az Alkalmazás objektum ConfirmExitMessage tulajdonságát erre a képletre:
If( AccountForm.Unsaved, "Accounts form has unsaved changes.", "Contacts form has unsaved changes." )A párbeszédpanelen egy űrlapspecifikus üzenet jelenik meg, amikor a felhasználó mindkét formában módosítja az adatokat, majd a módosítások mentése nélkül megpróbálja bezárni az alkalmazást.
Kapcsolati sztring tulajdonság
A Kapcsolati sztring tulajdonság használatával exportálhatja a rendszer által létrehozott alkalmazásnaplókat az Application Insightsba.
A kapcsolati karakterlánc beállítása:
- Nyissa meg az alkalmazást a(z) Power Apps Studioban való szerkesztéshez.
- Válassza ki az App objektumot a bal oldali navigációs fanézetben.
- Adja meg a Kapcsolat sztringet a tulajdonságok panelen.
Ha nem küld adatokat az Application Insightsnak, forduljon a Power Platform rendszergazdájához, és ellenőrizze, hogy az Application Insights le van-e tiltva a bérlő szintjén.
Képletek tulajdonság
A Képletek tulajdonság használatával újrahasználható logikát határozhat meg az alkalmazáson belül. A Képletek tulajdonság három szerkezetet támogat:
- Elnevezett képletek – rendeljen nevet egy képlethez, és használja újra az értéket az alkalmazásban.
- Felhasználó által definiált függvények – olyan elnevezett képletek, amelyek paramétereket vesznek fel, és értéket adnak vissza.
- Felhasználó által definiált típusok – névvel ellátott típusok, amelyek a képletekben és a függvény-aláírásokban újra felhasználhatók.
Nevesített képletek
A Képletek tulajdonságban névvel ellátott képletek használatával definiálhat egy olyan képletet, amelyet az alkalmazás egészében újra felhasználhat.
A Power Apps képletek határozzák meg a vezérlőelem-tulajdonságok értékét. Ha például a háttérszínt egységesen szeretné beállítani egy alkalmazásban, állítsa az egyes vezérlők Fill tulajdonságát egy közös képletre:
Label1.Fill: ColorValue( Param( "BackgroundColor" ) )
Label2.Fill: ColorValue( Param( "BackgroundColor" ) )
Label3.Fill: ColorValue( Param( "BackgroundColor" ) )
Annyi helyen, ahol ez a képlet megjelenik, unalmassá válik, és hibalehetőséget jelent az összes frissítése, ha módosításra van szükség. Ehelyett hozzon létre egy globális változót az OnStartban , hogy egyszer állítsa be a színt, majd használja újra az értéket az alkalmazásban:
App.OnStart: Set( BGColor, ColorValue( Param( "BackgroundColor" ) ) )
Label1.Fill: BGColor
Label2.Fill: BGColor
Label3.Fill: BGColor
Bár ez a módszer jobb, attól is függ, hogy az OnStart fut-e a BGStart értéke előtt. A BGColor az alkalmazás valamelyik sarkában is manipulálható, amelyről a készítő nem tud, valaki más által végrehajtott változás, és amelyet nehéz nyomon követni.
A elnevezett képletek alternatívát biztosítanak. A control-property = kifejezés írásához hasonlóan a név = kifejezés írására is lehetőség van, majd a kifejezéscseréjéhez használja újra a nevet az alkalmazásban. Definiálja ezeket a képleteket a Képletek tulajdonságban:
App.Formulas: BGColor = ColorValue( Param( "BackgroundColor" ) );
Label1.Fill: BGColor
Label2.Fill: BGColor
Label3.Fill: BGColor
A elnevezett képletek használatának előnye a következők:
- A képlet értéke mindig elérhető. Nincs időzítési függőség, nincs OnStart, amelynek elsőnek kell futnia az érték beállítása előtt, és nincs idő, amikor helytelen a képlet értéke. A elnevezett képletek bármilyen sorrendben hivatkozni tudnak egymásra, amíg nem hoznak létre körkörös hivatkozást. Ezek párhuzamos számítást is tudnak.
- A képlet értéke mindig frissített. A képlet olyan számítást hajthat végre, amely a vezérlőtulajdonságoktól vagy az adatbázis-bejegyzésektől függ, és a módosítások során a képlet értéke automatikusan frissül. Az értéket nem kell manuálisan frissítenie, mint a változók esetében. A képletek pedig csak szükség esetén számlálódnak újra.
- A képlet definíciója nem használható. A Képletek definíciója az igazság egyetlen forrását használja, és az érték nem módosítható az alkalmazásban. Változók esetében előfordulhat, hogy egyes kódok váratlanul módosítanak egy értéket, de ez a nehezen hibakeresési helyzet nevesített képletekkel nem lehetséges.
- A képlet számítása halasztható. Mivel az értéke megváltoztathatatlan, szükség esetén mindig kiszámítható, ami azt jelenti, hogy nem kell kiszámítani, amíg nincs rá szükség. Az alkalmazások screen2 képernyője megjelenítéséig nem használt képletértékeket nem kell kiszámítani, amíg a screen2 képernyő nem látható. A munka elhalasztása javíthatja az alkalmazás betöltési idejét. A elnevezett képletek deklaratívak, és lehetőséget biztosítanak a rendszer számára a számítás optimalizálása érdekében.
- A elnevezett képletek egy Excel-fogalom. A Power Fx Excel-fogalmakat használ, ahol lehetséges, mivel olyan sok ember ismeri az Excelt. Az elnevezett képletek a névkezelővel kezelt, elnevezett cellákkal és elnevezett képletekkel egyenértékűek az Excel alkalmazásban. Automatikusan újraszámolnak, mint a számolótáblák cellái és a vezérlőelem-tulajdonságok.
Nevező képleteket definiálhat egymás után a Képletek tulajdonságban, és mindegyik pontosvesszővel végződik. A képlet típusára a képleten belüli elemek típusaiból és együttes használatukból következtet. Ezek a elnevezett képletek például hasznos információkat beolvasnak az aktuális felhasználóról a Dataverse-ből:
UserEmail = User().Email;
UserInfo = LookUp( Users, 'Primary Email' = User().Email );
UserTitle = UserInfo.Title;
UserPhone = Switch( UserInfo.'Preferred Phone',
'Preferred Phone (Users)'.'Mobile Phone', UserInfo.'Mobile Phone',
UserInfo.'Main Phone' );
Ha a UserTitle képletét frissíteni kell, egyszerűen frissítheti ezen az egy helyen. Ha a UserPhone-ra nincs szükség az alkalmazásban, akkor a Dataverse Felhasználók táblája ilyen hívásokra nem jön létre. A nem használt képletmeghatározások nem használhatók.
Az elnevezett képletek néhány korlátozása:
- Nem használhatnak viselkedésfunkciókat, és nem okozhatnak egyéb mellékhatásokat az alkalmazásban.
- Körkörös hivatkozást nem tudnak létrehozni. Az a = b; és a b = a; nem engedélyezett ugyanabban az alkalmazásban.
Felhasználó által definiált függvények
Power Fx beépített függvények hosszú listáját tartalmazza, mint például a Ha, a Szöveg és a Halmaz. Felhasználó által definiált függvények használatával saját függvényeket írhat, amelyek paramétereket vesznek fel, és értéket ad vissza, ugyanúgy, mint a beépített függvények. A felhasználó által definiált függvények olyan nevesített képletek bővítményeként tekintenek, amelyek paramétereket adnak hozzá, és támogatják a viselkedési képleteket.
Definiálhat például egy elnevezett képletet, amely egy könyvtárból származó szépirodalmi könyveket ad vissza:
Library = [ { Title: "The Hobbit", Author: "J. R. R. Tolkien", Genre: "Fiction" },
{ Title: "Oxford English Dictionary", Author: "Oxford University", Genre: "Reference" } ];
LibraryFiction = Filter( Library, Genre = "Fiction" );
Paraméterek nélkül külön nevesített képleteket kell definiálnia az egyes műfajokhoz. Ehelyett paraméterezheti a nevesített képletet:
LibraryType := Type( [ { Title: Text, Author: Text, Genre: Text } ] );
LibraryGenre( SelectedGenre: Text ): LibraryType = Filter( Library, Genre = SelectedGenre );
Mostantól egyetlen felhasználó által definiált függvény használatával meghívhat LibraryGenre( "Fiction" )vagy LibraryGenre( "Reference" )szűrhet más műfajokat.
A szintaxis a következő:
FunctionName( [ ParameterName1: ParameterType1 [, ParameterName2: ParameterType2 ... ] ] ) : ReturnType = képlet;
- FunctionName – Kötelező. A felhasználó által definiált függvény neve.
- ParameterNames – Nem kötelező. Egy függvényparaméter neve.
- ParameterTypes – Nem kötelező. Egy típus neve, vagy egy beépített adattípus neve, egy adatforrás neve, vagy a Típus függvénnyel definiált típus.
- ReturnType – Kötelező. A függvény visszatérési értékének típusa.
- Képlet – Kötelező. Az a képlet, amely a paraméterek alapján kiszámítja a függvény értékét.
Minden paramétert és kimenetet be kell gépelnie a felhasználó által definiált függvényből. Ebben a példában a függvény első paraméterét szöveg típusúra határozza meg, SelectedGenre: Text és SelectedGenre a szűrőművelet törzsében használt paraméter nevét adja meg. A támogatott típusneveket lásd: Adattípusok . A Típus függvénnyel összesített típust hozhat létre a kódtárhoz, így a függvényből visszaadhat egy könyvtáblát.
Többes számú rekord típusú táblaként definiálható LibraryType . Ha egyetlen könyvet szeretne átadni egy függvénynek, a RecordOf függvény használatával kinyerheti a tábla rekordtípusát:
BookType := Type( RecordOf( LibraryType ) );
IsGenre( Book: BookType, SelectedGenre: Text ): Boolean = (Book.Genre = SelectedGenre);
A függvényparaméterek rekordegyeztetése szorosabb, mint a függvény más részein Power Fx. A rekordérték mezőinek a típusdefiníció megfelelő részhalmazának kell lenniük, és nem tartalmazhatnak további mezőket. Például hibát IsGenre( { Title: "My Book", Published: 2001 }, "Fiction" ) eredményez.
A felhasználó által definiált függvények még nem támogatják a rekurziót.
Felhasználó által definiált függvények viselkedése
Az elnevezett képletek és a legtöbb felhasználó által definiált függvény nem támogatja a mellékhatásokkal járó viselkedési függvényeket, például a Beállítás vagy az Értesítés függvényt. Ha teheti, általában kerülje az állapot frissítését. Ehelyett támaszkodjon a funkcionális programozási mintákra, és engedélyezze a Power Fx számára a képletek automatikus újraszámítását. De vannak esetek, amikor ez elkerülhetetlen. Ha viselkedési logikát szeretne belefoglalni egy felhasználó által definiált függvénybe, csomagolja kapcsos zárójelbe a törzset:
Spend( Amount: Number ) : Void = {
If( Amount > Savings,
Error( $"{Amount} is more than available savings" ),
Set( Savings, Savings - Amount );
Set( Spent, Spent + Amount)
);
}
Most felhívhatja Spend( 12 ) , hogy ellenőrizze, hogy 12 van-e a megtakarításban, és ha igen, terhelje meg 12-sel, és adja hozzá a 12-et a Kiégett változóhoz. A függvény visszatérési típusa Void , mivel nem ad vissza értéket.
A felhasználó által definiált viselkedésfüggvény szintaxisa a következő:
FunctionName( [ ParameterName1: ParameterType1 [, ParameterName2: ParameterType2 ... ] ] ) : ReturnType = { Formula1 [ ; Formula2 ... ] };
- FunctionName – Kötelező. A felhasználó által definiált függvény neve.
- ParameterNames – Nem kötelező. Egy függvényparaméter neve.
- ParameterTypes – Nem kötelező. Egy típus neve, lehet beépített adattípusnév, adatforrásnév vagy a Type függvénnyel definiált típus.
- ReturnType – Kötelező. A függvény visszatérési értékének típusa. Használja a Void függvényt , ha a függvény nem ad vissza értéket.
- Képletek – Kötelező. Az a képlet, amely a paraméterek alapján kiszámítja a függvény értékét.
Mint minden Power Fx képlet esetében, a végrehajtás sem ér véget, ha hiba történik. A Hiba függvény meghívása után a Ha függvény megakadályozza a megtakarítások és a kiégettség változásait. Az IfError függvény arra is használható, hogy megakadályozza a hiba utáni további végrehajtást. Annak ellenére, hogy a képlet Void értéket ad vissza, probléma esetén továbbra is hibát adhat vissza.
Felhasználó által definiált típusok
Használjon elnevezett képleteket a Típus függvénnyel a felhasználó által definiált típusok létrehozásához. Használja például a felhasználó := által definiált típus = definiálása helyett Book := Type( { Title: Text, Author: Text } ). További információkért és példákért tekintse meg a Type függvényt .
OnError tulajdonság
Az OnError használatával intézkedhet, ha hiba történik bárhol az alkalmazásban. Globális lehetőséget biztosít a hibacímek elfogására, mielőtt az megjelenik a végfelhasználó számára. Azt is használhatja, hogy naplózza a hibát a Trace függvény használatával, vagy írjon egy adatbázisba vagy webszolgáltatásba.
A vászonalapú alkalmazásokban a rendszer minden képletértékelés eredményét ellenőrzi, hogy nincs-e benne hiba. Hiba esetén az OnError kiértékelése ugyanazokkal a FirstError és AllErrors hatókörváltozókkal történik, amelyeket az alkalmazás használ, ha a teljes képlet egy IfError függvénybe van csomagolva.
Ha az OnError üres, egy alapértelmezett hibasávon megjelenik a FirstError.Message of the error. Az OnError-képletek definiálása felülírja ezt a viselkedést, így a készítő szükség szerint képes kezelni a hibajelentést. Az OnError alapértelmezett viselkedését a Hiba függvénnyel kérheti újra. Ha másként szeretné kiszűrni vagy kezelni bizonyos hibákat, használja az újraéledési módszert, de hagyja, hogy mások is áthaladjanak rajta.
Az OnError nem tudja helyettesíteni a számítási hibákat úgy, mint az IfError . Az OnError meghívása esetén a hiba már megtörtént, és a képletszámítások, például az IfError már feldolgozzák; Az OnError csak a hibajelentést szabályozza.
Az OnError-képletek kiértékelése egyidejűleg történik, és lehetséges, hogy a kiértékelésük átfedésben lehet más hibák feldolgozásával. Ha például egy globális változót állít be egy OnError tetején, és később olvassa be ugyanabban a képletben, az érték változhatott. A With függvény használatával hozzon létre a képlethez helyi értéket.
Bár az OnError egyenként dolgozza fel az egyes hibákat, előfordulhat, hogy az alapértelmezett hibacím nem jelenik meg egyenként az egyes hibáknál. Ha el szeretné kerülni, hogy egyszerre túl sok hibacím jelenjen meg, ugyanaz a hibacím nem jelenik meg újra, ha a közelmúltban megjelent.
Example
Tekintsen meg egy Címke és Csúszka vezérlőt, amely a képleten keresztül egymáshoz van kötve:
Label1.Text = 1/Slider1.Value
A csúszka alapbeállítása 50. Ha a csúszkát 0-ra helyezi, a Label1 nem jelenít meg értéket, és megjelenik egy hibaszalag:
Nézzük meg, mi történik részletesen:
- A csúszkát balra, a Slider1.Value tulajdonságot pedig 0-ra módosítja.
- A Label1.Text automatikusan újraértékeli a szöveget. A nullával való osztás hibát okoz.
- Ebben a képletben nincs IfError. A képletértékelés visszaadja a nulla hibával való osztást.
- A Label1.Text nem tud semmit megjeleníteni ehhez a hibához, ezért üres állapotot mutat.
- A rendszer meghívja az OnError nevet. Mivel nincs kezelő, a normál hibasáv hibaüzenetekkel jelenik meg.
Szükség esetén a képletet Label1.Text = IfError( 1/Slider1.Value, 0 )is módosíthatja. Az IfError használata azt jelenti, hogy nincs hiba vagy hiba szalagcím. Az OnError hibaértékét nem módosíthatja, mert a hiba már megtörtént – Az OnError csak a jelentés módját szabályozza.
Ha onError kezelőt ad hozzá, az nem befolyásolja az 5. lépés előtti lépéseket, de megváltoztatja a hiba jelentésének módját:
Trace( $"Error {FirstError.Message} in {FirstError.Source}" )
Ezzel az OnError kezelővel az alkalmazás felhasználója nem lát hibát. A hiba azonban hozzáadódik a figyelő nyomkövetéséhez, beleértve a FirstError hibainformációinak forrását is:
Ha az alapértelmezett hibaszalagot is meg szeretné jeleníteni a nyomkövetéssel együtt, a Hiba függvénnyel újból meg kell jelenítenie a hibát a nyomkövetési hívás után, mintha a nyomkövetés nem lett volna ott:
Trace( $"Error {FirstError.Message} in {FirstError.Source}" );
Error( FirstError )
OnStart tulajdonság
Megjegyzés:
Az OnStart tulajdonság használata teljesítményproblémákat okozhat egy alkalmazás betöltésekor. Mielőtt logikát ad az OnStarthoz, fontolja meg ezeket az alternatív megoldásokat:
- Az adatok gyorsítótárazásához vagy globális változók beállításához használjon elnevezett képletet a Képletek tulajdonságban, ahol lehetséges.
- Az első megjelenítendő képernyő beállításához használja a StartScreen tulajdonságot a Navigálás helyett.
- Ha egy adott képernyő megjelenítésekor logikát szeretne futtatni, használja a képernyő OnVisible tulajdonságát.
A környezettől függően előfordulhat, hogy az OnStart tulajdonság alapértelmezés szerint le van tiltva. Ha nem látja, és használnia kell, a kapcsoló engedélyezéséhez ellenőrizze az alkalmazás Speciális beállításai között.
Ha engedélyezve van a tiltásmentes OnStart szabály (az alapértelmezett), az OnStart a többi alkalmazásszabálysal egy időben fut. Ennek eredménye:
- Előfordulhat, hogy az OnStartban inicializált változók nem lesznek teljesen inicializálva, amikor más alkalmazásszabályok olvassák őket.
- A képernyők az App.OnStart vagy a Screen.OnVisible futtatása előtt renderelhetők és interaktívak lehetnek, különösen akkor, ha ezek a függvények hosszú időt vesznek igénybe.
Az OnStart tulajdonság akkor fut, amikor a felhasználó elindítja az alkalmazást. Használja ezt a tulajdonságot a következőre:
- A gyűjtemények adatainak lekérése és gyorsítótárazása a Collect függvény használatával.
- Globális változók létrehozása a Set függvénnyel.
Ez a képlet az első képernyő megjelenése előtt fut. A rendszer nem tölti be a képernyőt, így nem lehet környezeti változókat beállítani az UpdateContext függvénnyel. A Környezeti változók azonban átadhatók a Navigate függvénnyel.
Miután módosította az OnStart tulajdonságot, tesztelje azt úgy, hogy az Alkalmazás objektum fölé viszi a Fa nézet panelen, kiválasztja a három pontot (...), majd kiválasztja a Run OnStart (Futtatás) lehetőséget. Az alkalmazás első betöltésekor eltérően a meglévő gyűjtemények és változók már be vannak állítva. Ha üres gyűjteményekkel szeretne kezdeni, használja a ClearCollect függvényt a Collect függvény helyett.
Megjegyzés:
- Az OnStarttulajdonságBan a Navigate függvény használata megszűnik. A meglévő alkalmazások továbbra is működnek. Korlátozott ideig engedélyezheti az alkalmazásbeállításokban ( a Kivont területen). A Navigálás ezzel a módszerrel azonban alkalmazásbetöltési késéseket okozhat, mivel az arra kényszeríti a rendszert, hogy az első képernyő megjelenítése előtt fejezze be az OnStart futtatását. Az első képernyő megjelenítéséhez használja a StartScreen tulajdonságot.
- A kivont kapcsoló ki van kapcsolva a 2021 márciusa előtt létrehozott alkalmazások esetében, amelyekhez 2021 márciusa és most hozzáadta a Navigálásaz OnStart szolgáltatáshoz. Ha ezeket az alkalmazásokat a Power Apps Studióban szerkessze, hibaüzenet jelenik meg. A hiba törléséhez kapcsolja be a kivezetett kapcsolót.
StartScreen tulajdonság
A StartScreen tulajdonság beállítja, hogy melyik képernyő jelenik meg először. Power Apps egyszer kiértékeli ezt a tulajdonságot, amikor az alkalmazás betöltődik, és visszaadja a megjelenítendő képernyőobjektumot. Alapértelmezés szerint ez a tulajdonság üres, és a Studio Tree nézet első képernyője jelenik meg először.
A StartScreen egy adatfolyam-tulajdonság, amely nem tartalmazhat viselkedési függvényeket. Minden adatfolyamfüggvény elérhető. Ezeket a függvényeket és jeleket használva döntse el, hogy melyik képernyő jelenjen meg először:
- Param függvény az alkalmazás indításához használt paraméterek olvasásához.
- Felhasználói funkció az aktuális felhasználóval kapcsolatos információk olvasásához.
- LookUp, Filter, CountRows, Max, és egyéb függvények a beolvasáshoz az adatforrásból.
- API-hívások összekötőn keresztül. Győződjön meg arról, hogy a hívás gyorsan visszatér.
- Olyan jelzésekkel, mint a Connection, Compass és Alkalmazás.
Megjegyzés:
A StartScreenben nem érhetők el globális változók és gyűjtemények, beleértve az OnStartban létrehozottakat is. Elnevezett képletek állnak rendelkezésre, amelyek gyakran jobb alternatívát jelentenek a képletek alkalmazáson belüli újrafelhasználására.
Ha a StartScreen hibát ad vissza, a Studio Fa nézetben az első képernyő úgy jelenik meg, mintha a StartScreen nincs beállítva. Az IfError függvény használatával észlelhet hibákat, és átirányíthatja a hibaképernyőre.
Miután módosította a StartScreent a Studióban, tesztelje azt úgy, hogy a Fa nézet panelen az Alkalmazás objektum fölé viszi, a három pontot (...), majd a Navigálás a Kezdőképernyőre lehetőséget választja. A képernyő úgy változik, mintha az alkalmazás most töltődött volna be.
Examples
Screen9
Screen9 az alkalmazás indításakor először jelenik meg.
If( Param( "admin-mode" ) = 1, HomeScreen, AdminScreen )
Ellenőrzi, hogy a Param "rendszergazdai mód" be van-e állítva, és azt használja annak eldöntésére, hogy a HomeScreen vagy az AdminScreen látható-e először.
If( LookUp( Attendees, User = User().Email ).Staff, StaffPortal, HomeScreen )
Ellenőrzi, hogy egy résztvevő oktató-e, és az indításkor a megfelelő képernyőre irányítja-e őket.
IfError( If( CustomConnector.APICall() = "Forest",
ForestScreen,
OceanScreen
),
ErrorScreen
)
Az alkalmazást egy API-hívás alapján irányítja a ForestScreen vagy az OceanScreen képernyőre. Ha az API sikertelen, az alkalmazás ehelyett használja ErrorScreen .
StudioVersion tulajdonság
A StudioVersion tulajdonsággal megjelenítheti vagy naplózhatja az alkalmazás közzétételéhez használt Power Apps Studio verzióját. Ez a tulajdonság segít a hibakeresésben és annak ellenőrzésében, hogy az alkalmazás újra közzé van-e téve a Power Apps Studio legújabb verziójával.
A StudioVersion szöveget ad vissza. A szöveg formátuma idővel változhat, ezért kezelje egészként, és ne nyerje ki az egyes részeket.