AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Thema durchsuchen
Ansicht
Themen-Optionen

TWindowsStore

Ein Thema von Michael II · begonnen am 4. Jul 2019 · letzter Beitrag vom 5. Jul 2019
Antwort Antwort
Michael II

Registriert seit: 1. Dez 2012
Ort: CH BE Eriswil
760 Beiträge
 
Delphi 11 Alexandria
 
#1

TWindowsStore

  Alt 4. Jul 2019, 01:57
Weiss jemand, ob man TWindowsStore wiederholt zur Laufzeit erzeugen kann? Oder führt dies zu Problemen?

http://docwiki.embarcadero.com/RADSt...tore_Component

Delphi-Quellcode:
function TSwissJassForm.UWPOK( var LRemainingTrialDays : integer ) : integer;
// -1 : Fehler, 0 : AppLicense.isActive=false, 1 : Trial, 2 : Voll
var
  WindowsStore1 : TWindowsStore;
  res : integer;

begin
  res := -1;
  LRemainingTrialDays := -1;
try
  WindowsStore1 := TWindowsStore.Create( self );
 try
  if WindowsStore1.AppLicense.IsActive then
  begin
    if WindowsStore1.AppLicense.IsTrial then
    begin
      LRemainingTrialDays := WindowsStore1.AppLicense.TrialTimeRemaining.Days;
      res := 1;
    end
    else
    begin
      res := 2;
    end;
  end
  else
  begin
    res := 0;
  end;
  // http://docwiki.embarcadero.com/RADStudio/Rio/en/Using_the_WindowsStore_Component
 finally
  WindowsStore1.Free;
 end;
except
  ShowMessage( 'Swiss Jass!! kann WindowsStore.AppLicense nicht lesen.' );
end;
 Result := res;
end;

Wenn die Testzeit abgelaufen ist, dann gibt die Funktion 0 zurück (und nicht 1 und LRemainingTrialDays<=0)?

Microsoft will neu für Spiele auch "nicht UWP Apps" erlauben. Hat jemand von euch ein Spiel im Windows Store und bereits umgestellt?
Michael Gasser
  Mit Zitat antworten Zitat
Michael II

Registriert seit: 1. Dez 2012
Ort: CH BE Eriswil
760 Beiträge
 
Delphi 11 Alexandria
 
#2

AW: TWindowsStore

  Alt 4. Jul 2019, 23:34
Ich verwende nun obige Funktion, habe aber TWindowsStore auf die Hauptform gelegt und erzeuge die Komponente nicht zur Laufzeit.

Ich habe eine App in den Microsoft Store raufgeladen und biete einen Testzeitraum von 7 Tagen an.

Meine App habe ich als Testversion aus dem Store heruntergeladen. Obige Funktion erkennt korrekt auf Testversion, aber
WindowsStore1.AppLicense.TrialTimeRemaining.Days; liefert 10'675'199 zurück... also etwas viel Tage.

Hat irgendwer irgendeinen Rat?
Michael Gasser
  Mit Zitat antworten Zitat
hoika

Registriert seit: 5. Jul 2006
Ort: Magdeburg
8.275 Beiträge
 
Delphi 10.4 Sydney
 
#3

AW: TWindowsStore

  Alt 5. Jul 2019, 05:21
Hallo,
das GitHub-Beispiel berechnet das Ablaufdatum anders

https://github.com/Microsoft/Windows...de.xaml.cs#L82
Heiko

Geändert von hoika ( 5. Jul 2019 um 06:49 Uhr)
  Mit Zitat antworten Zitat
Michael II

Registriert seit: 1. Dez 2012
Ort: CH BE Eriswil
760 Beiträge
 
Delphi 11 Alexandria
 
#4

AW: TWindowsStore

  Alt 5. Jul 2019, 09:29
Besten Dank hoika für deine Antwort.

Ich verwende zur Berechnung der verbleibenden Testzeit die Anleitung zu TWindowsStore von der embarcadero Seite:

http://docwiki.embarcadero.com/RADSt...tore_Component

oder wie es hier beschrieben wird:

https://blogs.msmvps.com/bsonnino/20...twindowsstore/


Es gibt doch hier sicher zig Millionen Entwickler, welche auch eine App im Microsoft Store haben. Liefert bei euch

WindowsStore1.AppLicense.TrialTimeRemaining.Days

korrekte Werte?

In WinAPI.WindowsStore.pas wird FTrialTimeRemaining berechnet.
FTrialTimeRemaining := TTimeSpan.Create(AStoreLicense.TrialTimeRemaining. Duration);

TTimeSpan.Create( high(int64) ).Days entspricht der von meiner App ausgegebenen 10'675'199 Tagen, was sehr wahrscheinlich "Testversion läuft nicht ab" entspricht.

Wahrscheinlich würde auch die von dir (hoika) verlinkte Variante ein "läuft nicht ab" Datum zurück geben.

Kurz zusammengefasst.
Meine als Testversion heruntergeladene App ermittelt offenbar diese Werte:
WindowsStore1.AppLicense.IsActive = TRUE
WindowsStore1.AppLicense.IsTrial = TRUE
WindowsStore1.AppLicense.TrialTimeRemaining.Days = TTimeSpan.Create( high(int64) ).Days

Wenn ich im Windows Store meine App suche, dann steht dort aber korrekt, dass meine Testversion in 6 Tagen abläuft. Ich hoffe mal dass dieser Wert stimmt.
Michael Gasser

Geändert von Michael II ( 5. Jul 2019 um 10:11 Uhr)
  Mit Zitat antworten Zitat
Antwort Antwort


Forumregeln

Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are aus

Gehe zu:

Impressum · AGB · Datenschutz · Nach oben
Alle Zeitangaben in WEZ +1. Es ist jetzt 10:40 Uhr.
Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz