Por que meu aplicativo Firemonkey abre uma janela de terminal no OSX, mas não no Win32?

9

Eu criei um aplicativo de teste simples no Delphi XE2 e compilei uma versão Win32 e OSX do aplicativo.
Eu fechei a versão OSX, juntamente com uma cópia do arquivo de tempo de execução dylib libcgunwind e copiei esses arquivos para um Mac que eu tenho acesso. Quando eu descompactei o arquivo, o mac reconheceu meu aplicativo OSX e cliquei duas vezes nele.

Isso, por sua vez, abriu uma janela de terminal por algum motivo desconhecido, juntamente com o formulário do meu aplicativo simples.
O aplicativo em si correu e se comportou muito bem, mas estou curioso para saber por que uma janela de terminal seria aberta no Mac?

    
por Alan 09.09.2011 в 17:21
fonte

3 respostas

3

Existe uma ferramenta gratuita disponível para o Delphi XE2 que criará o pacote do aplicativo de implantação OSX para você, do Windows, sem a necessidade do PAServer.

link

Verifique o leia-me para instruções.

    
por Nick C 19.09.2011 / 08:14
fonte
2

IIRC isso acontece se você executar o binário diretamente por meio de um pacote

Os aplicativos Lazarus / FPC tiveram o mesmo problema. IIRC o binário executado diretamente também não obteve eventos nessas circunstâncias, mas esses aplicativos eram baseados em carbono. Esse problema também desapareceu quando executado através de uma configuração de pacote (que é praticamente um manifesto, alguns dirs e um link simbólico)

    
por Marco van de Voort 09.09.2011 / 19:40
fonte
0

Seu aplicativo precisa ser executado a partir do pacote de aplicativos. Se você executá-lo diretamente, você obterá o efeito colateral de ver a janela do terminal com a linha de comando que está executando o aplicativo.

Você vai querer ler mais sobre Pacotes de aplicativos .

Se você estiver usando o PAServer, depois de executar o programa pela primeira vez no Mac, procure na seguinte pasta no Mac o pacote de aplicativos:

/Users/[username]/Applications/Embarcadero/PAServer/scratch-dir/[profilename]

Se o seu projeto é chamado de Projeto1, você verá um pacote de aplicativos nessa pasta chamada Projeto1.

Se você ler o artigo da wiki acima, você saberá que o Project1 tem uma extensão "oculta" de .app, e a coisa toda é realmente uma pasta com todos os arquivos necessários para executar o aplicativo.

Para o usuário do Mac OS, o pacote de aplicativos aparece como um único arquivo de programa, completo com um ícone. O usuário pode clicar duas vezes no pacote do aplicativo para executar o aplicativo, arrastá-lo para o encaixe, etc.

O pacote de aplicativos terá o ícone do Delphi por padrão, mas você pode substituí-lo pelo seu próprio ícone. No Mac, basta clicar com o botão direito do mouse no pacote de aplicativos no Finder e selecionar Mostrar conteúdo do pacote. Lá, olhe na pasta Contents / Resources para o arquivo .icns.

Use o aplicativo Icon Composer que foi instalado com o XCode para criar seu arquivo de ícone .icns a partir de arquivos de imagem existentes.

Espreite o resto do conteúdo. Você verá o dylib necessário, seu arquivo de programa e o arquivo Info.plist, que é um arquivo de texto com elementos como IDs de aplicativos, assinaturas e outras coisas importantes.

    
por Marcus Adams 09.11.2011 / 23:07
fonte