AW: Ios9
Das Problem ist, dass die App schon abstürzt bevor sie dazu kommt meinen Code auszuführen (also noch beim "booten"):
http://enlightme.info/crash.png Ich habe den Fehler jetzt eingrenzen können: Es handelt sich um einen Bug im Zusammenhang mit TPushEvents. Dieses Feature scheint unter Android & iOS32-Bit im Release Mode zum Crash zu führen. https://quality.embarcadero.com/browse/RSP-12658 Tolle Wurst, da bleibt mir wohl nichts anderes, als abzuwarten bis Embarcadero einen Fix dafür erstellt. :( |
AW: Ios9
Zitat:
Als Workaround habe ich die System.SysUtils.pas in meinen Projektpfad aufgenommen und folgende Methode:
Code:
so verändert:
function Supports(const Instance: IInterface; const IID: TGUID; out Intf): Boolean; overload;
Code:
Warum das dann funktioniert, weiß ich aber nicht. :-D
function Supports(const Instance: IInterface; IID: TGUID; out Intf): Boolean; overload;
|
AW: Ios9
Ich vermute es liegt dann an dem const der TGUID. IIRC wird ohne const der record zuerst kopiert und dann an die Funktion übergeben. Mit const wird nur eine reference zu dem record auf den stack gepushed. Das heißt du pushed eine reference auf den stack, während dort eigentlich der record direkt erwartet wird. Innerhalb der Funktion wird dann wohl auf invaliden Speicher zugegriffen.
|
AW: Ios9
Zitat:
Code:
Definition der QueryInterface:
function Supports(const Instance: IInterface; IID: TGUID; out Intf): Boolean;
begin Result := (Instance <> nil) and (Instance.QueryInterface(IID, Intf) = 0); end;
Code:
function QueryInterface(const IID: TGUID; out Obj): HResult; stdcall;
|
AW: Ios9
SO war das nicht gemeint, was ich meinte war, dass vllt in der deklaration steht, dass da ein const hingehört, aber aus irgendeinem grund im vorkompilierten Delphisource der implementierungsteil kein const verwendet. Gemeint hatte ich also einen unterschied zwischen Interface und Implementation(wobei bei implementation der tatsächlich kompilierte source interessant wäre).
Das sind aber nur Vermutungen. |
AW: Ios9
Nur zur Info:
Mit dem 10 Seattle Update 1 sind alle Probleme, die ich hatte beseitigt. 👍 Push Messages gehen. Und sogar die Transport Security wird für iOS gesetzt. |
Alle Zeitangaben in WEZ +1. Es ist jetzt 19:51 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