Warum öffnet meine Firemonkey-App ein Terminal-Fenster auf OSX, aber nicht auf Win32?

9

Ich habe in Delphi XE2 eine einfache Testbed-App erstellt und sowohl eine Win32- als auch eine OSX-Version der Anwendung kompiliert.
Ich habe die OSX-Version zusammen mit einer Kopie der libcgunwind-dylib-Laufzeitdatei gezippt und diese Dateien auf einen Mac kopiert, auf den ich zugreifen kann.
Als ich die Datei entzippte, erkannte der Mac meine OSX-Anwendung und ich machte einen Doppelklick darauf.

Dies wiederum öffnete ein Terminal-Fenster aus einem unbekannten Grund zusammen mit dem Formular meiner einfachen App.
Die Anwendung selbst lief und verhielt sich gut, aber ich bin neugierig, warum ein Terminal-Fenster auf dem Mac öffnen würde?

    
Alan 09.09.2011, 15:21
quelle

3 Antworten

3

Für Delphi XE2 gibt es ein kostenloses Tool, mit dem Sie das OSX-Deployment-App-Paket für Windows erstellen können, ohne PAServer zu benötigen.

Ссылка

Überprüfen Sie die Readme für Anweisungen.

    
Nick C 19.09.2011 06:14
quelle
2

IIRC Dies passiert, wenn Sie die Binärdatei direkt statt über ein Bundle

ausführen

Lazarus / FPC-Apps hatten das gleiche Problem. IIRC die direkt ausgeführte Binärdatei hat unter diesen Umständen auch keine Ereignisse erhalten, aber diese Apps waren auf der Basis von Carbon. Dieses Problem ging auch weg, wenn es über ein Bundle-Setup lief (was ziemlich offensichtlich ist, ein paar Dirs und einen Symlink).

    
Marco van de Voort 09.09.2011 17:40
quelle
0

Ihre Anwendung muss aus dem Anwendungspaket ausgeführt werden. Wenn Sie es direkt ausführen, erhalten Sie den Nebeneffekt, dass das Terminalfenster mit der Befehlszeile angezeigt wird, auf der die Anwendung ausgeführt wird.

Sie möchten mehr über Anwendungsbündel erfahren.

Wenn Sie PAServer verwenden, suchen Sie nach dem ersten Ausführen des Programms auf dem Mac im folgenden Ordner auf dem Mac nach dem Anwendungspaket:

%Vor%

Wenn Ihr Projekt Project1 heißt, sehen Sie ein Anwendungspaket in diesem Ordner namens Project1.

Wenn Sie den obigen Wiki-Artikel lesen, werden Sie wissen, dass Project1 eine "versteckte" Erweiterung von .app hat, und die ganze Sache ist wirklich ein Ordner mit allen erforderlichen Dateien, um die Anwendung auszuführen.

Für den Mac OS-Benutzer wird das Anwendungspaket als einzelne Programmdatei mit einem Symbol angezeigt. Der Benutzer kann auf das Anwendungspaket doppelklicken, um die Anwendung auszuführen, ziehen Sie sie in ihr Dock usw.

Das Anwendungspaket enthält standardmäßig das Delphi-Symbol, Sie können es jedoch durch ein eigenes Symbol ersetzen. Klicken Sie auf dem Mac einfach mit der rechten Maustaste auf das Anwendungspaket im Finder, und wählen Sie Paketinhalt anzeigen aus. Suchen Sie dort im Ordner "Contents / Resources" nach der .icns-Datei.

Verwenden Sie die Icon Composer-Anwendung, die mit XCode installiert wurde, um Ihre .icns-Symboldatei aus vorhandenen Bilddateien zu erstellen.

Schauen Sie im Rest des Inhalts nach innen. Sie sehen die erforderliche dylib, Ihre Programmdatei und die Info.plist-Datei, die eine Textdatei mit Dingen wie Anwendungs-IDs, Signaturen und anderen wichtigen Dingen ist.

    
Marcus Adams 09.11.2011 22:07
quelle