Power Apps'teki App nesnesi

Şunun için geçerlidir: Tuval uygulamaları

Şu anda çalışan uygulama hakkında bilgi alın ve uygulamanın davranışını denetleyin.

Açıklama

Bir denetim gibi , Uygulama nesnesi de hangi ekranın gösterildiğini tanımlayan özelliklere sahiptir ve bunları kaybetmemek için değişiklikleri kaydetmenizi ister. Her uygulamanın Uygulama nesnesi vardır.

Uygulama nesnesinin bazı özellikleri için formüller yazın. Ağaç görünümü bölmesinin üst kısmında diğer denetimler veya ekranlar için yapacağınız gibi Uygulama nesnesini seçin. Nesnenin özelliklerinden birini görüntülemek veya düzenlemek için, formül çubuğunun sol kısmındaki açılan listeden seçin.

Ağaç görünümü bölmesinde seçilen Uygulama nesnesinin ekran görüntüsü. Özellikler bölmesi görünür.

Bu makale aşağıdaki Uygulama nesnesi özelliklerini kapsar:

  • ActiveScreen : Şu anda görüntülenen ekran.
  • BackEnabled : Uygulamanın cihaz geri hareketine nasıl yanıt verdiği.
  • ConfirmExit ve ConfirmExitMessage – uygulamayı kapatmadan önce kullanıcıyı uyarın.
  • Bağlantı dizesi – Application Insights günlüğünü ayarlayın.
  • Formüller – adlandırılmış formülleri, kullanıcı tanımlı işlevleri ve kullanıcı tanımlı türleri tanımlayın.
  • OnError – hataları genel olarak işleyin.
  • OnStart : Uygulama başlatıldığında mantığı çalıştırın.
  • StartScreen : Uygulama yüklendiğinde ilk olarak gösterilen ekranı ayarlayın.
  • StudioVersion – uygulamayı yayımlayan Power Apps Studio sürümünü döndürür.

ActiveScreen özelliği

ActiveScreen özelliği, şu anda görüntülenen ekranı tanımlar.

Bu özellik bir ekran nesnesi döndürür. Formül App.ActiveScreen.Name olan ad gibi geçerli ekranın özelliklerine başvurmak için bunu kullanın. Ayrıca bu özelliği app.ActiveScreen = Screen2 karşılaştırma formülüyle olduğu gibi başka bir ekran nesnesiyle karşılaştırarak Ekran2'nin geçerli ekran olup olmadığını de kontrol edebilirsiniz.

Görüntülenen ekranı değiştirmek için Geri veya Navigate işlevini kullanın.

BackEnabled özelliği

BackEnabled özelliği, Power Apps mobile'da çalışırken uygulamanın cihaz geri hareketine yanıt verme şeklini değiştirir (Android cihazlarda donanım geri düğmesini çekin veya kullanın ya da iOS cihazlarında soldan çekin). Etkinleştirildiğinde, cihaz geri hareketi en son gösterilen ve Geri formülüne benzeyen ekrana geri döner. Devre dışı bırakıldığında cihaz geri hareketi kullanıcıyı uygulama listesine götürür.

ConfirmExit özellikleri

Kaydedilmemiş değişiklikleri kaybetmeyi kimse istemez. Uygulamanızı kapatmadan önce kullanıcıyı uyarmak için ConfirmExit ve ConfirmExitMessage özelliklerini kullanın.

Note

  • ConfirmExit , Power BI ve SharePoint gibi eklenmiş uygulamalarda çalışmaz.
  • ConfirmExit özel sayfalarda desteklenmez.
  • Artık bu özellikler yalnızca Gecikmeli yük önizleme özelliği etkinse (yeni uygulamalar için varsayılan olarak budur) ilk ekranda denetimlere başvurabilir. Diğer ekranlara başvurursanız Power Apps Studio bir hata göstermez, ancak yayımlanan uygulama Power Apps Mobile'da veya tarayıcıda açılmaz. Microsoft bu sınırlamayı kaldırmak için çalışıyor. Bu arada, Ayarlar> bölümünde (Önizleme altında) Gecikmeli yüklemeyi kapatın.

ConfirmExit

ConfirmExit , true olduğunda uygulama kapanmadan önce bir onay iletişim kutusu açan bir Boole özelliğidir. Varsayılan olarak bu özellik yanlış'tır ve iletişim kutusu görüntülenmez.

Kullanıcı uygulamada kaydedilmemiş değişikliklere sahip olabileceğinde, uygulamadan çıkmadan önce onay iletişim kutusunu göstermek için bu özelliği kullanın. Değişkenleri ve denetim özelliklerini denetleyen bir formül kullanın (örneğin, Düzenleme formu denetiminin Kaydedilmemiş özelliği).

Onay iletişim kutusu, verilerin kaybolabileceği herhangi bir durumda görüntülenir, örneğin:

  • Exit işlevini çalıştırın.
  • Uygulama bir tarayıcıda çalışıyorsa:
    • Uygulamanın çalıştığı tarayıcıyı veya tarayıcı sekmesini kapatın.
    • Tarayıcının geri düğmesini seçin.
    • Launch işlevini LaunchTarget of Self ile çalıştırın.
  • Uygulama Power Apps Mobile'da (iOS veya Android) çalışıyorsa:
    • Power Apps Mobile'da farklı bir uygulamaya geçmek için çekin.
    • Android cihazında geri düğmesini seçin.
    • Başka bir tuval uygulaması başlatmak için Launch işlevini çalıştırın.

Onay iletişim kutusunun tam görünümü, cihazlar ve Power Apps sürümleri arasında farklılık gösterebilir.

Onay iletişim kutusu Power Apps Studio'da gösterilmez.

ConfirmExitMessage

Varsayılan olarak onay iletişim kutusunda kullanıcının dilinde, "Kaydedilmemiş değişiklikleriniz olabilir." gibi

Onay iletişim kutusunda özel bir ileti sağlamak için ConfirmExitMessage işlevini kullanın. Bu özellik boş ise varsayılan değer kullanılır. Özel iletiler, onay iletişim kutusuna sığması için gerektiğinde kesilir, bu nedenle iletiyi en fazla birkaç satırda tutun.

Tarayıcıda, onay iletişim kutusu tarayıcıdan genel bir ileti gösterebilir.

Example

  1. Uygulama nesnesinin ConfirmExit özelliğini bu ifade olarak ayarlayın:

    AccountForm.Unsaved Or ContactForm.Unsaved
    

    Kullanıcı verileri her iki biçimde de değiştirirse ve sonra bu değişiklikleri kaydetmeden uygulamayı kapatmaya çalışırsa iletişim kutusu görüntülenir.

    Genel onay iletişim kutusu.

  2. Uygulama nesnesinin ConfirmExitMessage özelliğini şu formül olarak ayarlayın:

    If( AccountForm.Unsaved,
        "Accounts form has unsaved changes.",
        "Contacts form has unsaved changes."
    )
    

    İletişim kutusu, kullanıcı herhangi bir formdaki verileri değiştirdiğinde ve sonra bu değişiklikleri kaydetmeden uygulamayı kapatmaya çalıştığında forma özgü bir ileti gösterir.

    Forma özel onay iletişim kutusu.

Bağlantı dizesi özelliği

Sistem tarafından oluşturulan uygulama günlüklerini Application Insights'a aktarmak için Bağlantı dizesi özelliğini kullanın.

bağlantı dizesi ayarlamak için:

  1. Uygulamanızı Power Apps Studio'da düzenleme için açın.
  2. Sol gezinti ağaç görünümünde Uygulama nesnesini seçin.
  3. Özellikler bölmesine Bağlantı dizesini girin.

Veriler Application Insights'a gönderilmediyse Power Platform yöneticinize başvurun ve Application Insights'ın kiracı düzeyinde devre dışı bırakılıp bırakılmadığını denetleyin.

Formüller özelliği

Uygulamanız genelinde yeniden kullanılabilir mantık tanımlamak için Formüller özelliğini kullanın. Formulas özelliği üç yapıyı destekler:

Adlandırılmış formüller

Uygulamanız genelinde yeniden kullanabileceğiniz bir formül tanımlamak için Formüller özelliğindeki adlandırılmış formülleri kullanın.

Power Apps içinde formüller kontrol özelliklerinin değerini belirler. Örneğin, bir uygulama genelinde arka plan rengini tutarlı bir şekilde ayarlamak için, her denetimin Fill özelliğini ortak bir formül olarak ayarlayın:

Label1.Fill: ColorValue( Param( "BackgroundColor" ) )
Label2.Fill: ColorValue( Param( "BackgroundColor" ) )
Label3.Fill: ColorValue( Param( "BackgroundColor" ) )

Bu formülün göründüğü çok fazla yerde, bir değişiklik gerektiğinde bunların tümünü güncelleştirmeye meyilen sıkıcı ve hataya neden olur. Bunun yerine, OnStart'ta bir genel değişken oluşturarak rengi bir kez ayarlayın ve ardından değeri uygulama genelinde yeniden kullanın:

App.OnStart: Set( BGColor, ColorValue( Param( "BackgroundColor" ) ) )
Label1.Fill: BGColor
Label2.Fill: BGColor
Label3.Fill: BGColor

Bu yöntem daha iyi olsa da OnStart'ın BGColor değeri kurulmadan önce çalışmasına bağlıdır. BGColor kullanıcı farkında olmadan, uygulamanın bir bölümünde başkası tarafından değiştirilebilir ve bu değişikliği takip etmek zor olabilir.

Adlandırılmış formüller bir alternatif sunar. Genellikle control-property = ifadesi yazdığınız gibi, bunun yerine name = ifadesi yazabilir ve ardından ifadeyi değiştirmek için tüm uygulamanızda adı yeniden kullanabilirsiniz. Formüller özelliğinde şu formülleri tanımlayın:

App.Formulas: BGColor = ColorValue( Param( "BackgroundColor" ) );
Label1.Fill: BGColor
Label2.Fill: BGColor
Label3.Fill: BGColor

Adlandırılmış formülleri kullanmanın yararları şunlardır:

  • Formülün değeri her zaman kullanılabilir. Zamanlamaya bağımlılık, değer ayarlanmadan önce çalıştırılması gereken bir OnStart ya da formül değerinin yanlış olduğu bir zaman yoktur. Adlandırılmış formüller, bir döngüsel başvuru oluşturmadıkları sürece herhangi bir sırayla birbirine başvurabilirler. Adlandırılmış formüller paralel olarak hesaplanabilir.
  • Formülün değeri her zaman günceldir. Formül, denetim özelliklerine veya veritabanı kayıtlarına bağımlı bir hesaplama yapabilir. Bu özellikler ya da kayıtlar değiştiğinde, formülün değeri otomatik olarak güncelleştirilir. Değeri, değişkende olduğu gibi el ile güncelleştirmeniz gerekmez. Ayrıca, formüller yalnızca gerektiğinde yeniden hesaplama yapar.
  • Formülün tanımı sabittir. Formüller altındaki tanım tek doğru kaynağıdır ve değer uygulama içinde başka bir yerden değiştirilemez. Değişkenlerle, bazı kodlar beklenmedik bir şekilde bir değeri değiştirebilir, ancak bu hata ayıklaması zor durum adlandırılmış formüllerle mümkün değildir.
  • Formülün hesaplaması ertelenebilir. Değeri sabit olduğundan, gerektiğinde her zaman hesaplanabilir ve bu da gerektiğinde hesaplanmaması gerektiği anlamına gelir. Bir uygulamanın screen2 ekranı görünene kadar kullanılmayan formül değerlerinin screen2 görüntülenene kadar hesaplanmasına gerek olmaz. Bu işin ertelenmesi, uygulamanın yükleme süresini iyileştirebilir. Adlandırılmış formüller bildirim temellidir ve sistemin hesaplama zamanı ve yöntemini en iyi duruma getirmesi için fırsatlar sunar.
  • Adlandırılmış formüller bir Excel kavramıdır. Pek çok kişi Excel kullandığından, Power Fx uygun olduğunda Excel kavramlarını kullanır. Adlandırılmış formüller Excel'deki adlandırılmış hücrelerin ve Ad Yöneticisi ile yönetilen adlandırılmış formüllerin eşdeğeridir. Bir elektronik tablonun hücreleri gibi otomatik olarak yeniden hesaplama yaparlar ve özellikleri kontrol ederler.

Formüller özelliğinde, her biri noktalı virgülle biten adlandırılmış formülleri birbiri ardına tanımlayın. Formülün türü, formül içindeki öğelerin türlerinden ve bunların birlikte nasıl kullanıldığından çıkarılır. Örneğin, aşağıdaki adlandırılmış formüller Dataverse'teki geçerli kullanıcı hakkında yararlı bilgiler alır:

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

UserTitle için formülün güncelleştirilmesi gerekiyorsa, bu konumda kolayca güncelleştirebilirsiniz. Uygulamada UserPhone ayrıntısı gerekli değilse, Dataverse'teki Kullanıcılar tablosuna bu çağrı yapılmaz. Kullanılmayan bir formül için tanım eklemenin herhangi bir sakıncası yoktur.

Adlandırılmış formüller için geçerli olan bazı sınırlamalar şunlardır:

  • Davranış işlevlerini kullanamazlar. Aksi halde, uygulama içinde yan etkilere neden olurlar.
  • Döngüsel başvuru oluşturamazlar. Aynı uygulamada a = b ve b = a kullanılmasına izin verilmez.

Kullanıcı tanımlı işlevler

Power Fx, If, Text ve Set gibi yerleşik işlevlerin uzun bir listesini içerir. Kullanıcı tanımlı işlevleri kullanarak, aynı yerleşik işlevler gibi parametreleri alan ve bir değer döndüren kendi işlevlerinizi yazabilirsiniz. Kullanıcı tanımlı işlevleri, parametre ekleyen ve davranış formüllerini destekleyen adlandırılmış formüllerin uzantısı olarak düşünün.

Örneğin, bir kitaplıktan kurgu kitapları döndüren adlandırılmış bir formül tanımlayabilirsiniz:

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

Parametreler olmadan, her tür için ayrı adlandırılmış formüller tanımlamanız gerekir. Ancak bunun yerine adlandırılmış formülünüzü parametreleştirin:

LibraryType := Type( [ { Title: Text, Author: Text, Genre: Text } ] );

LibraryGenre( SelectedGenre: Text ): LibraryType = Filter( Library, Genre = SelectedGenre );

Artık tek bir kullanıcı tanımlı işlev kullanarak , LibraryGenre( "Reference" )veya diğer türleri filtreleyebilirsinizLibraryGenre( "Fiction" ).

Sözdizimi şöyledir:

FunctionName( [ ParameterName1: ParameterType1 [ , ParameterName2: ParameterType2 ... ] ) : ReturnType = Formülü;

  • FunctionName – Zorunlu. Kullanıcı tanımlı işlevin adı.
  • ParameterNames – İsteğe bağlı. İşlev parametresinin adı.
  • ParameterType(s) – İsteğe bağlı. Yerleşik veri türü adı, veri kaynağı adı veya Type işlevi kullanılarak tanımlanan tür türü adı.
  • ReturnType – Gerekli. İşlevden döndürülen değerin türü.
  • Formül – Gerekli. Parametrelere göre işlevin değerini hesaplayan formül.

Her parametreyi ve kullanıcı tanımlı işlevin çıkışını yazmanız gerekir. Bu örnekte, SelectedGenre: Text işlevin Text türünde olacak ilk parametresini tanımlar ve SelectedGenreFilter işlemi için gövdede kullanılan parametrenin adıdır. Desteklenen tür adları için Veri türleri'ne bakın. Type işlevi, kitaplık için bir toplama türü oluşturmak için kullanılır, böylece işlevden bir kitap tablosu döndürebilirsiniz.

Kayıt türünün çoğul tablosu olarak tanımlarsınız LibraryType . Bir işleve tek bir kitap geçirmek istiyorsanız, RecordOf işlevini kullanarak bu tablonun kaydının türünü ayıklayabilirsiniz:

BookType := Type( RecordOf( LibraryType ) );

IsGenre( Book: BookType, SelectedGenre: Text ): Boolean = (Book.Genre = SelectedGenre);

Fonksiyon parametreleri için kayıt eşleşmesi Power Fx'in diğer kısımlarına göre daha sıkıdır. Kayıt değerinin alanları, tür tanımının uygun bir alt kümesi olmalıdır ve ek alanlar içeremez. Örneğin, IsGenre( { Title: "My Book", Published: 2001 }, "Fiction" ) bir hatayla sonuçlanır.

Özyineleme henüz kullanıcı tanımlı işlevler tarafından desteklenmiyor.

Davranış kullanıcı tanımlı işlevler

Adlandırılmış formüller ve çoğu kullanıcı tanımlı fonksiyon, Ayarla veya Bildir gibi yan etkileri olan davranış fonksiyonlarını desteklemez. Genel olarak, varsa durumu güncelleştirmekten kaçının. Bunun yerine, işlevsel programlama desenlerine güvenin ve Power Fx'in formülleri gerektiği gibi otomatik olarak yeniden hesaplamasına izin verin. Ancak, bunun kaçınılmaz olduğu durumlar vardır. Davranış mantığını kullanıcı tanımlı bir işleve dahil etmek için gövdeyi küme parantezleriyle sarın:

Spend( Amount: Number ) : Void = {
    If( Amount > Savings, 
        Error( $"{Amount} is more than available savings" ),
        Set( Savings, Savings - Amount );
        Set( Spent, Spent + Amount) 
    );
}

Artık arama Spend( 12 ) yaparak Tasarruflarınızda 12 olup olmadığını kontrol edebilir ve varsa 12'ye kadar borç alabilir ve Spent değişkenine 12 ekleyebilirsiniz. Bu fonksiyonun dönüş türü Geçersiz'dir çünkü bir değer döndürmez.

Davranış kullanıcı tanımlı bir işlevin sözdizimi şöyledir:

FunctionName( [ ParameterName1: ParameterType1 [ , ParameterName2: ParameterType2 ... ] ] ) : ReturnType = { Formula1 [ ; Formül2 ... ] };

  • FunctionName – Zorunlu. Kullanıcı tanımlı işlevin adı.
  • ParameterNames – İsteğe bağlı. İşlev parametresinin adı.
  • ParameterType(s) – İsteğe bağlı. Bir türün adı, yerleşik veri türü adı, bir veri kaynağı adı veya Tür işleviyle tanımlanan bir tür olabilir.
  • ReturnType – Gerekli. İşlevden döndürülen değerin türü. Fonksiyon bir değer döndürmüyorsa Geçersiz kullanın.
  • Formüller – Gerekli. Parametrelere göre işlevin değerini hesaplayan formül.

Tüm Power Fx formüllerinde olduğu gibi, bir hatayla karşılaşıldığında yürütme sona ermez. Error işlevi çağrıldıktan sonra If işleviTasarruf ve Harcanan değişikliklerinin gerçekleşmesini engeller. IfError fonksiyonu ayrıca bir hatadan sonra daha fazla yürütmeyi önlemek için de kullanılabilir. Geçersiz döndürse bile, bir sorun varsa formül yine de hata döndürebilir.

Kullanıcı tanımlı türler

Kullanıcı tanımlı türler oluşturmak için Type işleviyle adlandırılmış formüller kullanın. Kullanıcı tanımlı bir türü tanımlamak için := yerine = kullanın, örneğin Book := Type( { Title: Text, Author: Text } ). Daha fazla bilgi ve örnek için Tür fonksiyonuna bakın.

OnError özelliği

Uygulamanın herhangi bir yerinde bir hata oluştuğunda işlem yapmak için OnError'ı kullanın. Son kullanıcıya görüntülenmeden önce bir hata başlığını kesmeye yönelik genel bir fırsat sağlar. İzleme işlevini kullanarak bir hatayı günlüğe kaydetmek veya bir veritabanına veya web hizmetine yazmak için de kullanabilirsiniz.

Tuval uygulamalarında her formül değerlendirmesinin sonucunda hata olup olmadığı kontrol edilir. Hatayla karşılaşılırsa, OnError, formülün tamamı bir IfError işlevine sarmalandığında uygulamanın kullandığı aynı FirstError ve AllError kapsam değişkenleriyle değerlendirilir.

OnError boşsa, varsayılan bir hata başlığı hatanın FirstError.Message değerini gösterir. Bir OnError formülü tanımlamak bu davranışı geçersiz kılar, böylece oluşturucu hata bildirimini gerektiği gibi işleyebilir. Hata işlevini kullanarak hatayı yeniden seçerek OnError'da varsayılan davranışı isteyebilirsiniz. Bazı hataları farklı şekilde filtrelemek veya işlemek, ancak başkalarının geçmesine izin vermek istiyorsanız yeniden oluşturma yaklaşımını kullanın.

OnError, hesaplamalardaki hataları IfError gibi değiştiremez. OnError çağrılırsa, hata zaten oluştu ve IfError gibi formül hesaplamaları aracılığıyla zaten işlendi; OnError yalnızca hata raporlamayı denetler.

OnError formülleri eşzamanlı olarak değerlendirilir ve değerlendirmeleri diğer hataların işlenmesiyle çakışabilir. Örneğin, bir OnError öğesinin en üstünde bir genel değişken ayarlar ve daha sonra aynı formülde okursanız, değer değişmiş olabilir. Formülde yerel bir adlandırılmış değer oluşturmak için With işlevini kullanın.

OnError her hatayı ayrı ayrı işlese de, varsayılan hata başlığı her hata için ayrı ayrı görünmeyebilir. Aynı anda çok fazla hata başlığı görüntülenmesini önlemek için, yakın zamanda gösteriliyorsa aynı hata başlığı yeniden görüntülenmez.

Example

Label denetimi ve Slider denetiminin formül ile birleştirildiğini varsayalım.

Label1.Text = 1/Slider1.Value

Label1.Text = 1/Slider1.Value formülüyle birleştirilmiş label ve slider denetimleri.

Slider denetimi için varsayılan olarak 50 değeri kullanılır. Kaydırıcıyı 0'a taşırsanız , Etiket1 değer göstermez ve bir hata başlığı görüntülenir:

Slider denetiminin 0'a getirilmesiyle sıfıra bölme hatası oluşuyor ve hata başlığı gösteriliyor.

Şimdi neler olduğunu ayrıntılı olarak inceleyelim:

  1. Kaydırıcıyı sola taşırsınız ve Slider1.Value özelliği 0 olarak değişir.
  2. Label1.Text otomatik olarak yeniden değerlendirilir. Sıfıra bölme işlemi gerçekleşir ve hata oluşturulur.
  3. Bu formülde IfError yoktur. Sıfıra bölme hatası, formül değerlendirmesi tarafından döndürülür.
  4. Label1.Text, bu hata için herhangi bir şey gösteremediğinden boş olarak görünür.
  5. OnError çağrılır. İşleyici olmadığı için standart hata başlığı, hata bilgileriyle birlikte görüntülenir.

Gerekirse, formülü Label1.Text = IfError( 1/Slider1.Value, 0 )olarak da değiştirebilirsiniz. IfError kullanmak hata veya hata başlığı olmadığı anlamına gelir. Hata zaten oluştuğundan OnError hatasının değerini değiştiremezsiniz. OnError yalnızca nasıl bildireceğini denetler.

Bir OnError işleyicisi eklerseniz, 5. adımdan önceki adımları etkilemez, ancak hatanın bildirildiği şekli değiştirir:

Trace( $"Error {FirstError.Message} in {FirstError.Source}" )

İzleme oluşturmak için ayarlanmış App.OnError formülü.

Bu OnError işleyicisi ile uygulama kullanıcısı herhangi bir hata görmez. Ancak hata, FirstError'daki hata bilgilerinin kaynağı da dahil olmak üzere İzleyici'nin izlemesine eklenir:

Slider denetimi 0'a getirildiğinde sıfıra bölme hatası oluşuyor ancak hata başlığı görünmüyor.

İzlemeyle birlikte varsayılan hata başlığını da göstermek istiyorsanız, İzleme çağrısından sonra Hata işlevini kullanarak, İzleme orada değilmiş gibi hatayı yeniden başlatın:

Trace( $"Error {FirstError.Message} in {FirstError.Source}" );
Error( FirstError )

OnStart özelliği

Note

OnStart özelliğinin kullanılması, uygulama yüklenirken performans sorunlarına neden olabilir. OnStart'a mantık eklemeden önce şu alternatifleri göz önünde bulundurun:

  • Verileri önbelleğe almak veya genel değişkenleri ayarlamak için mümkün olduğunca Formüller özelliğinde adlandırılmış bir formül kullanın.
  • İlk ekranı gösterilecek şekilde ayarlamak için, Navigate yerine StartScreen özelliğini kullanın.
  • Belirli bir ekran gösterildiğinde mantığı çalıştırmak için ekranın OnVisible özelliğini kullanın.

Bağlamınıza bağlı olarak , OnStart özelliği varsayılan olarak devre dışı bırakılmış olabilir. Bunu görmüyorsanız ve kullanmanız gerekiyorsa, etkinleştirmek için uygulamanın Gelişmiş ayarlarına bakın.

Engellenmeyen OnStart kuralı etkinleştirildiğinde (varsayılan), OnStart diğer uygulama kurallarıyla aynı anda çalışır. Sonuç olarak:

  • OnStart'ta başlatılan değişkenler, diğer uygulama kuralları tarafından okunduğunda tam olarak başlatılamayabilir.
  • Özellikle bu işlevler uzun sürüyorsa , App.OnStart veya Screen.OnVisible çalışmadan önce bir ekran işlenebilir ve etkileşimli hale gelebilir.

OnStart özelliği, kullanıcı uygulamayı başlattığında çalışır. Bu özelliği kullanarak:

  • Collect işlevini kullanarak koleksiyonlardaki verileri alın ve önbelleğe alın .
  • Set işlevini kullanarak genel değişkenler ayarlamak.

Bu formül ilk ekran görüntülenmeden önce çalışır. Hiçbir ekran yüklenmez, bu nedenle bağlam değişkenlerini UpdateContext işleviyle ayarlayamazsınız. Ancak Navigate işleviyle bağlam değişkenlerini geçirebilirsiniz.

OnStart özelliğini değiştirdikten sonra, Ağaç görünümübölmesindeki Uygulama nesnesinin üzerine gelip üç noktayı (...) ve ardından OnStart'ı Çalıştır'ı seçerek test edin. Uygulama ilk kez yüklendiğinden farklı olarak, mevcut koleksiyonlar ve değişkenler zaten ayarlanmıştır. Boş koleksiyonlarla başlamak için Collect işlevi yerine ClearCollect işlevini kullanın.

OnStart'ı Çalıştır için uygulama-öğe kısayol menüsü

Note

  • OnStart özelliğinde Navigate işlevinin kullanılması kullanımdan kaldırılır. Mevcut uygulamalar çalışmaya devam ediyor. Sınırlı bir süre için uygulama ayarlarında ( Kullanımdan kaldırıldı altında) etkinleştirebilirsiniz. Ancak Navigate komutunun bu şekilde kullanılması, ilk ekranı göstermeden önce sistemi OnStart'ı çalıştırmayı bitirmeye zorladığı için uygulama yükleme gecikmelerine neden olabilir. Görüntülenen ilk ekranı ayarlamak için bunun yerine StartScreen özelliğini kullanın.
  • Kullanımdan kaldırılan anahtar, Mart 2021 ile şimdi arasında OnStart'agit'i eklediğiniz Mart 2021'dan önce oluşturulan uygulamalar için kapalıdır. Bu uygulamaları Power Apps Studio'da düzenlediğinizde bir hata görürsünüz. Bu hatayı gidermek için emekliye ayrılmış anahtarı tekrar açın.

StartScreen özelliği

StartScreen özelliği, ilk olarak hangi ekranın gösterildiğine göre ayarlar. Power Apps, uygulama yüklendiğinde ve gösterilecek ekran nesnesini döndürdüğünde bu özelliği bir kez değerlendirir. Varsayılan olarak, bu özellik boş olur ve önce Stüdyo Ağacı görünümündeki ilk ekran gösterilir.

StartScreen, davranış işlevlerini içeremeyen bir veri akışı özelliğidir. Tüm veri akışı işlevleri kullanılabilir. İlk olarak hangi ekranın göstereceğine karar vermek için şu işlevleri ve sinyalleri kullanın:

  • Uygulamayı başlatmak üzere kullanılan parametreleri okumak için Param işlevi.
  • Geçerli kullanıcı hakkındaki bilgileri okumak için User işlevi.
  • LookUp, Filter, CountRows, Max ve bir veri kaynağından okuyan diğer işlevler.
  • Bağlayıcı aracılığıyla API çağrıları. Çağrının hızlı bir şekilde döndürdüğünden emin olun.
  • Bağlantı, Pusula ve Uygulama gibi sinyaller.

Note

OnStart'ta oluşturulanlar da dahil olmak üzere genel değişkenler ve koleksiyonlar StartScreen'de kullanılamaz. Adlandırılmış formüller mevcuttur ve genellikle uygulama genelinde formüllerin yeniden kullanımı için daha iyi bir alternatiftir.

StartScreen bir hata döndürürse, Studio Tree görünümündeki ilk ekran StartScreen ayarlanmadı gibi görünür. Hataları yakalamak ve bir hata ekranına yeniden yönlendirmek için IfError işlevini kullanın.

Studio'da StartScreen'i değiştirdikten sonra, Ağaç görünümübölmesindeki Uygulama nesnesinin üzerine gelip üç noktayı (...) ve ardından Başlat Ekranı'na Git'i seçerek test edin. Ekran, uygulama yeni yüklenmiş gibi değişir.

StartScreen'e git

Examples

Screen9

Screen9 uygulama her başlatıldığında ilk olarak gösterilir.

If( Param( "admin-mode" ) = 1, HomeScreen, AdminScreen )

Param "admin-mode" değerinin ayarlanıp ayarlanmadığını denetler ve bunu kullanarak önce HomeScreen veya AdminScreen görüntülenip gösterilmediğini belirler.

If( LookUp( Attendees, User = User().Email ).Staff, StaffPortal, HomeScreen )

Katılımcının personel üyesi olup olmadığını denetler ve başlangıçta doğru ekrana yönlendirir.

IfError( If( CustomConnector.APICall() = "Forest", 
             ForestScreen, 
             OceanScreen 
         ), 
         ErrorScreen 
)

Uygulamayı API çağrısına göre ForestScreen veya OceanScreen'e yönlendirir. API başarısız olursa, uygulama bunun yerine kullanır ErrorScreen .

StudioVersion özelliği

Bir uygulamayı yayımlamak için kullanılan Power Apps Studio sürümünü göstermek veya günlüğe kaydetmek için StudioVersion özelliğini kullanın. Bu özellik, hata ayıklarken ve uygulamanızın Power Apps Studio'nun son sürümüyle yeniden yayımlanıp yayımlanmadığını denetlerken yardımcı olur.

StudioVersion metin döndürür. Bu metnin biçimi zaman içinde değişebilir, bu nedenle bir bütün olarak kabul edin ve tek tek bölümleri ayıklamayın.