programa sem form

10/12/2003

0

Estou precisando abrir um programa. Mas que não use form.
A aplicação não precisa fazer nada. Apenas abrir.
Não sei se explicando direito o que preciso mas preciso fazer um project sem usar form nenhum, para que quando mande executar não abra nada tela, mas que eu possa localizar com
FindWindow(nil, ´Project´).

Como faço isso?


Michele

Michele

Responder

Posts

10/12/2003

Marconi

Se voce deixar a propriedade do form Visible:= false, acho que vai funcioanar.

Marconi


Responder

10/12/2003

Tnaires

Olá michele, tudo bem?

Vá no menu Project, clique em View Source. Agora, retire a instrução Application.Create para o form principal. Aí vc usa essa unit pra escrever seu programa. Mas vc vai ter q importar as units q vc precisar manualmente (exemplo, se vc precisar utilizar ShowMessage, tem q colocar Dialogs na cláusula uses).

Sucesso


Responder

10/12/2003

Lucas Silva

não seria melhor você fazer um programa ao invés de uma aplicação???
Lucas!


Responder

10/12/2003

Tnaires

Mas uma aplicação console mostra uma tela de prompt de comando...


Responder

12/12/2003

Edmarfonseca

altere a propriedade do form principal BorderStyle para bsNone e no evento OnCreate do mesmo form coloque duas linhas:

Width := -1;
Height := -1;

não sei se é a melhor forma mas resolve

abraços


Responder

12/12/2003

Marcelo Saviski

crie um novo projeto

clique em: [img:67ecc15bb8]http://www.camaradabacana.kit.net/img/B.gif[/img:67ecc15bb8]

remova a Unit1

vai em Project> View Source
detete a Unit Forms do uses e cooque apenas a Windows

detete tudo entre o begin e o end.

coloque o WinExec(...) entre o Begin e o end, compile e teste,

PS: de uma olhada no tamanho do .exe :wink:[/img]


Responder

12/12/2003

Lucas Silva

[quote:112b2a2496=´Marcelo Saviski´]crie um novo projeto

temujm ´-´ vermelho, clique e remova a Unit1

vai em Project> View Source
detete a Unit Forms do uses e cooque apenas a Windows

detete tudo entre o begin e o end.

coloque o WinExec(...) entre o Begin e o end, compile e teste,

PS: de uma olhada no tamanho do .exe :wink:[/quote:112b2a2496]

É bem melhor fazer um PROGRAMA ao ives de uma aplicação neste caso!
Lucas!


Responder

12/12/2003

Tnaires

Olá Lucas

Vc tem razão. Mas se vc estiver falando de uma aplicação console (Menu File - New - Other... - Console Application), qdo rodar aparece uma tela de comando (´tela preta´). Mas isso pode ser resolvido retirando-se a diretiva de compilação {$APPTYPE CONSOLE} (algo parecido com isso).

Sucesso


Responder

12/12/2003

Marcelo Saviski

fiz um equivoco aqui:

para poder localizar depois, você precisa registrar uma classe com o Register Class, criar um loop com while GetMessage(...) do ;
e depois um UnregisterClass ou um PostQuitMessage


Responder

12/12/2003

Marcelo Saviski

Olá Lucas Vc tem razão. Mas se vc estiver falando de uma aplicação console (Menu File - New - Other... - Console Application), qdo rodar aparece uma tela de comando (´tela preta´). Mas isso pode ser resolvido retirando-se a diretiva de compilação {$APPTYPE CONSOLE} (algo parecido com isso). Sucesso


se você tirar a diretiva, vai virar uma Aplicação GUI sem janelas, fazendo de qualquer um dos modos, o resultado vai ser o mesmo


Responder

12/12/2003

Tnaires

Olá Marcelo

É impressionante como há várias maneiras de resolver um mesmo problema não? Qdo vi sua mensagem, reli todo o tópico... A michelle não vai ter do q reclamar d soluções... :lol:

Sucesso a todos


Responder

13/12/2003

Michele

Agradeço a todos, funcionou!
O que eu estava precisando na verdade e não estava conseguindo era fechar um programa por acesso remoto, mas este programa tinha o seguinte comando no Onclose --- Action:=Canone;

Então achei uma solução meio esquisita, mas funcionou.
Antes de mandar fechar o tal programa eu mando abrir este sem o form e o outro programa que preciso fechar, só fecha se este sem o form estiver aberto.
Sei que não é uma solução muito convencional, já que não consegui com o comando que fecha um programa.

Mais uma vez agradeço a ajuda de todos e lendo os tópicos confesso que surgiu uma dúvida, não entendi a diferença entre programa e aplicação.


Responder

13/12/2003

Moonlight

Uma vez q eu precisei disso, fiz uma gambiarra pra sair mais rápido..
no OnCreate, coloquei uma funcao que chamava todas as funcoes q precisavam ser executadas...
E depois dessa função.. Application.Terminate.
Não mostrou Form nenhum.

Não é o ideal, mas eu precisava de solução rápida.


Responder

14/12/2003

Tnaires

Olá michelle

Na prática, diferença entre programa e aplicação não existe. Mas analisando o Delphi, podemos dizer q aplicação é um tipo de programa. Acho q esse termo surgiu qdo os programas começaram a ter muitos módulos, com vários arquivos integrados (units, bancos de dados, etc).

Sucesso


Responder

15/12/2003

Caninha51

Tenta isso no oncreate!

Application.ShowMainForm := False;


Responder

Que tal ter acesso a um e-book gratuito que vai te ajudar muito nesse momento decisivo?

Ver ebook

Recomendado pra quem ainda não iniciou o estudos.

Eu quero
Ver ebook

Recomendado para quem está passando por dificuldades nessa etapa inicial

Eu quero

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

Aceitar