Hallo zusammen,
ich wollte meine App gerade Push-Notification-Fähig machen, bekomme das aber aufgrund meiner Architektur nicht gebacken
Hier erstmak der Aufbau meines Projekts:
Quelltext:
Delphi-Quellcode:
var Controller: Interfaces.Controller.GUI.IAppController;
begin
Controller:= TAppController.Create;
{$IFDEF IOS}
TF_MainIOS.OnCreateGUI:= procedure(const AGUI: IAppGUI)
begin
Controller.RegisterGUI(AGUI);
end;
{$ENDIF}
{$IFDEF ANDROID}
TF_MainAnd.OnCreateGUI:= procedure(const AGUI: IAppGUI)
begin
Controller.RegisterGUI(AGUI);
end;
{$ENDIF}
{$IFDEF MSWINDOWS}
TF_MainFMX.OnCreateGUI:= procedure(const AGUI: IAppGUI)
begin
Controller.RegisterGUI(AGUI);
end;
{$ENDIF}
Application.Initialize;
{$IFDEF IOS}
Application.CreateForm(TF_MainiOS, F_MainiOS);
{$ENDIF}
{$IFDEF ANDROID}
Application.CreateForm(TF_MainAnd, F_MainAnd);
{$ENDIF}
{$IFDEF MSWINDOWS}
Application.CreateForm(TF_MainFMX, F_MainFMX);
{$ENDIF}
Application.Run;
Formular:
Delphi-Quellcode:
type
TF_MainFMX = class(TForm)
private
{...}
type
TOnCreateGUI = reference to procedure(const AGUI: IAppGUI);
class var
FOnCreateGUI: TOnCreateGUI;
public
class property OnCreateGUI: TOnCreateGUI read FOnCreateGUI write FOnCreateGUI;
end;
procedure TF_MainFMX.FormCreate(Sender: TObject);
begin
if Assigned(FOnCreateGUI) then
FOnCreateGUI(Self);
{...}
end;
(Siehe auch
hier)
So, jetzt beendet Delphi das Debugging noch bevor die App überhaupt aufgerufen wurde (Schwerer Debugger-Fehler: Gerät antwortet nicht mehr).
Starte ich die App dann im Nachhinein, bleibt nur der Splash Screen eine Weile sichtbar und stürzt dann ab.
Die ganze Push-Notification-Sache funktioniert gekapselt in einem Testprojekt (abgeguckt von
Sarina)
Vermutlich stimmt hier was am Ablauf nicht so ganz, weshalb wahrscheinlich noch etwas an der Architektur gefeilt werden muss.
Irgendwelche Ideen?
Viele Grüße
Croco