AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Programmierung allgemein Cross-Platform-Entwicklung Compilerproblem unter MacOS mit Delphi 10.4

Compilerproblem unter MacOS mit Delphi 10.4

Ein Thema von CHackbart · begonnen am 6. Aug 2021 · letzter Beitrag vom 7. Aug 2021
Antwort Antwort
CHackbart

Registriert seit: 22. Okt 2012
247 Beiträge
 
#1

Compilerproblem unter MacOS mit Delphi 10.4

  Alt 6. Aug 2021, 13:28
Hi,

ich packe das mal in einen separaten Thread und nicht in https://www.delphipraxis.net/208459-fairplay-apple.html. Eigentlich wollte ich ja nur helfen, aber bin dabei über ein Problem gestolpert welches mich seit ein paar Stunden beschäftigt.

Für obiges Beispiel muss man eine Klasse mit einem Interface AVContentKeySessionDelegate erstellen. Das Interface befindet sich in der Macapi.AVFoundation unit. Sobald man aber die Klasse instanziiert, stürzt die Anwendung im constructor TOCLocal.Create;
bei Reg := TRegisteredDelphiClass.RegisterClass(CType, GetObjectiveCClass); ab.
Genauer gesagt es schlägt
 if class_addMethod(ObjCClassId, sel_registerName(M.AsAnsi(MethodName, CP_UTF8).ToPointer), fehl und FailRegistration wird ausgeführt, was dann zum beenden der Anwendung führt.

Der Grund (nach einigem Trial und Error) sind scheinbar folgende Routinen:

Delphi-Quellcode:
  procedure contentKeySession(session: AVContentKeySession;keyRequest: AVContentKeyRequest); overload; cdecl;
  procedure contentKeySession(session: AVContentKeySession;keyRequest: AVPersistableContentKeyRequest); overload; cdecl;
Sobald man eine der beiden Funktionen davon ausklammert, bzw. einen Parameter hinzufügt stürzt die Anwendung nicht mehr ab. Ich denke mal der Grund ist, dass zwar beides vom Compiler akzeptiert wird, aber bei den beiden Interfaces die übergeben werden nicht mehr weiterweiß.

Anbei habe ich mal eine einfache Beispielanwendung gepackt. Vielleicht hat ja jemand eine Idee wie man das Problem umgehen kann.

Christian
Angehängte Dateien
Dateityp: zip crash.zip (9,2 KB, 0x aufgerufen)

Geändert von CHackbart ( 6. Aug 2021 um 13:40 Uhr)
  Mit Zitat antworten Zitat
Benutzerbild von himitsu
himitsu

Registriert seit: 11. Okt 2003
Ort: Elbflorenz
38.731 Beiträge
 
Delphi 10.4 Sydney
 
#2

AW: Compilerproblem unter MacOS mit Delphi 10.4

  Alt 6. Aug 2021, 13:34
Anbei habe ich mal eine einfache Beispielanwendung gepackt.
Nein.


Welchen Typ hat denn das, was an keyRequest übergeben wird?
Garbage Collector ... Delphianer erzeugen keinen Müll, also brauchen sie auch keinen Müllsucher.
Delphi-Tage 2005-2014
  Mit Zitat antworten Zitat
CHackbart

Registriert seit: 22. Okt 2012
247 Beiträge
 
#3

AW: Compilerproblem unter MacOS mit Delphi 10.4

  Alt 6. Aug 2021, 13:42
Ja der Anhang war wohl nicht mit dabei. Also hab ich den Beitrag nochmals editiert. Die Requests sind beide interface(NSObject).
Quasi so in der Form:

Delphi-Quellcode:
  AVContentKeyRequest = interface(NSObject)
  ['{72EFF0F5-504D-45D7-AF86-6EBBF64778DA}']
  end;
  AVPersistableContentKeyRequest = interface(NSObject)
  ['{4A21A91E-E44C-43C1-A55B-F0B237248ABA}']
  end;

Geändert von CHackbart ( 6. Aug 2021 um 13:46 Uhr)
  Mit Zitat antworten Zitat
CHackbart

Registriert seit: 22. Okt 2012
247 Beiträge
 
#4

AW: Compilerproblem unter MacOS mit Delphi 10.4

  Alt 7. Aug 2021, 11:16
Die Lösung ist in solchen Fällen müssen die MethodName Deklarationen in der Klasse mit angegeben werden. Es reicht nicht darauf zu vertrauen, dass diese aus dem Interface genommen werden.

Christian
  Mit Zitat antworten Zitat
Themen-Optionen Thema durchsuchen
Thema durchsuchen:

Erweiterte Suche
Ansicht

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 05:58 Uhr.
Powered by vBulletin® Copyright ©2000 - 2021, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2021 by Daniel R. Wolf