Fórum Aplicativo multi-sistema operacional #286273

28/06/2005

0

Caros, supondo que eu tenha 2 aplicativos: 1 compilado no windows
(Delphi) e outro no linux (kylux). Gostaria de saber se tem como fazer um terceiro aplicativo que de acordo com o sistema operacional (linux/windows) chame o aplicativo correspondente?
Alguém tem alguma ideia :idea: aceito qualquer tipo de sugestão...


Desde ja grato pela atenção...


Anarquistaoi

Anarquistaoi

Responder

Posts

28/06/2005

Nildo

Talvez você possa criar uma aplicação CLX para fazer isso (mas não sei como)


Responder

Gostei + 0

28/06/2005

Adriano Santos

Meu caro :D , terá que criar um progrma CLX como disse nosso amigo [b:bf194a92e5]nildo[/b:bf194a92e5].

Entre no delphi e crie um novo projeto:
Flie >> New >> CLX Application.

Vai perceber que só ficarão disponíveis componentes para ambos os SOs, mas a programação é a mesma com exceção de APIs que no Linux funciona diferente, se não me engano não existem apis. O que vc deve pastar um pouco são nas chamadas aos executáveis porque o sistema de pastas é um pouco diferente do Windows.

Sinceramente não acredito que seja muito difícil, depende do nível de complexidade do seu exe.


Responder

Gostei + 0

28/06/2005

Cabelo

Meu caro :D , terá que criar um progrma CLX como disse nosso amigo [b:2172ddcf64]nildo[/b:2172ddcf64]. Entre no delphi e crie um novo projeto: Flie >> New >> CLX Application. Vai perceber que só ficarão disponíveis componentes para ambos os SOs, mas a programação é a mesma com exceção de APIs que no Linux funciona diferente, se não me engano não existem apis. O que vc deve pastar um pouco são nas chamadas aos executáveis porque o sistema de pastas é um pouco diferente do Windows. Sinceramente não acredito que seja muito difícil, depende do nível de complexidade do seu exe.


Colega.. você deve criar exatamento como os colegas Nildo e arsantos postaram.. Não existem API´s em Linux, já que é prioritário Microsoft, mas se você precisar muito de usar API´s, você pode resolver seu problema usando diretivas de compilação.. na secção uses declre assim por exemplo :

uses {$IFDEF LINUX}
Xlib,
{$ENDIF}
{$IFDEF MSWINDOWS}
Windows, Messages, ShellAPI, Types, JPEG, DateUtils,
{$ENDIF}

em seguida declare as UNITs que o próprio delphi coloca a sua disposição, repare que dependendo de qual compilador você usar, será usado os comando corretamente, só não se esqueça de declarar as diretivas na hora de usar os comandos destas UNITs prioritárias de somente um SO.

espero te ajudado..


Responder

Gostei + 0

28/06/2005

Rjun

Essa terceira aplicação teria q rodar tanto em windows como em linux. E dependendo de qual SO chamar uma ou outra aplicação? Acho que não tem como um mesmo aplicativo rodar no Linux e no Windows.


Responder

Gostei + 0

28/06/2005

Nildo

Acho que não tem como um mesmo aplicativo rodar no Linux e no Windows.


CLX é para este fim


Responder

Gostei + 0

28/06/2005

Rjun

Mas você não teria que compilar ele no Linux para rodar no Linux. Se você compilar no Delphi ele não roda no Linux. Roda?


Responder

Gostei + 0

28/06/2005

Nildo

Mas você não teria que compilar ele no Linux para rodar no Linux. Se você compilar no Delphi ele não roda no Linux. Roda?


Se eu nao me engano roda sim.
Senão não teria o porque existir o Delphi e Kylix em sistemas separados


Responder

Gostei + 0

28/06/2005

Rjun

Eu acho que não roda, e é esse o motivo de existirem o Delphi e Kylix em sistemas separados. Se rodasse, bastava ter só o Delphi. Bom, pelo menos é o que acho.


Responder

Gostei + 0

28/06/2005

Nildo

Segundo o Help do delphi:

Choose File|New|CLX Application to create a new project group with a single cross-platform application in it. [b:dc5b1a50f8]You can use CLX objects to create applications that will run on Windows or Linux platforms[/b:dc5b1a50f8]. Form files associated with CLX applications have an xfm extension.


Então creio que roda sim. Porém não tem as mesmas facilidades do Kylix ou do próprio Aplicativo para Windows. Deve ser apenas coisas basicas.


Responder

Gostei + 0

28/06/2005

Adriano Santos

[quote:550190bf94=´Rjun´]Mas você não teria que compilar ele no Linux para rodar no Linux. Se você compilar no Delphi ele não roda no Linux. Roda?


Se eu nao me engano roda sim.
Senão não teria o porque existir o Delphi e Kylix em sistemas separados[/quote:550190bf94]


O Nildo está correto em sua afirmação.
O sistema roda sim em Linux, ou pelo menos é pra rodar sem nenhum problema. Mesmo compilando no Delphi.

Nunca testei, mas é uma boa hora de tentar. :lol:


Responder

Gostei + 0

28/06/2005

Rjun

Bom, se alguem puder testar e postar o resultado, ficarei grato. Se funcionar, essa eu realmente não sabia.


Responder

Gostei + 0

28/06/2005

Anarquistaoi

Vou fazer o teste, mas como eu faço pra executar o aplicativo no linux?? Qual comando eu coloco??


Responder

Gostei + 0

28/06/2005

Beppe

Como os demais, eu tbm não testei, mas tenho uma visão diferente. Só achismo mesmo...

CLX é para programas [i:e3da57c1a1]source-compatible[/i:e3da57c1a1], isto é, precisa recompilar no Kylix. Delphi gera apenas .exe, este formato só roda no Linux com a ajuda do Wine(com restrições).

Para que se possa recompilar no Linux, não se pode usar units do Win32, como Windows, Messages, CommCtrl, ShellAPI, ActiveX, etc...


Responder

Gostei + 0

28/06/2005

Weber

Beep está totalmente correto, os binários windows são totalmente diferentes dos binarios linux.
Portando um programa Windows não roda em linux nem a pau, a não ser por wine ou outro programa semelhante.

Compilando no Delphi >> Roda em Windows nao roda em Linux
Compilando no Kylix >> Roda em Linux não roda em Windows.

Assim funciona para todos os aplicativos compilados, sistemas em C tem que ser compilados para uma ou outra plataforma, já no Java eu acredito que o mesmo aplicativo rode tanto em um quando em outro já que não é compilado.


Responder

Gostei + 0

28/06/2005

Adriano Santos

Caramba,

Não tinha pensado nisso e agora parando para analisar, o que o [b:8016ce2176]Beep [/b:8016ce2176]e o [b:8016ce2176]weber [/b:8016ce2176]disseram tem fundamento. Os binários de um SO e de outro são completamente diferentes.

Quanto ao java [b:8016ce2176]weber[/b:8016ce2176], tenho minhas dúvidas. Estudei um pouco de java o ano passado e pouco que li me leva a crer que, por causa das diversas máquinas virtuais desenvolvidas pela sun, uma para cada SO, deva ter alguma diferença entre um programa para Solaris, Linux ou Windows por exemplo, mas.....isso é uma outra história não é mesmo? :D


Responder

Gostei + 0

Utilizamos cookies para fornecer uma melhor experiência para nossos usuários, consulte nossa política de privacidade.

Aceitar