Jump to content
uniGUI Discussion Forums
ailtonbrc

Passo a passo para Publicação: Alguem tem?

Recommended Posts

Galera sou leigo em publicar na internet, portanto estou pedindo aos colegas uma ajuda visto que ja procurei e todas as tentativas que usei foi falha. portanto se alguem tem uma forma de me ajudar eu agradecerei, pode ser que aqui no fórum tenha mas não encontrei.

 

Tenho um Servidor local (estou usando o no-ip´este servidor esta em minha internet,  

Servidor com Windows Server 2008 R2 / com IIS 7.5

 

gerei um projeto do tipo VCL Aplication / Standalone Server

 

então e tudo que tenho e gostaria de acessar o sistema pela internet  

utilizando a opção localhost:8077 esta funcionando perfeitamente.

 

agradeço imensamente a ajuda.

 

Continuarei nos testes se conseguir postarei aqui a solução.

 

 

Share this post


Link to post
Share on other sites

Para acesso externo, você tem que substituir o localhost pelo seu IP Externo, exemplo: 178.68.45.124:8077

 

 

Eduardo Belo

Share this post


Link to post
Share on other sites

Se sua internet for uma ADSL não esqueça de fazer um NAT do modem para seu servidor e liberar a porta do Firewall do Windows.

Share this post


Link to post
Share on other sites

fiz um nat configurei o iis e mesmo assim nao deu certo, entao fiquei sem entender onde estou errando.

levando em conta que o aplicativo fica em execução no servidor então deveria ser como o eduardo falou mas algo esta errado, acho que o erro esta em criar a configuração do IIS.

Share this post


Link to post
Share on other sites

Mais um problema que estou passando gostaria de saber se alguém passou por isto e como resolver:

 

quando eu uso "localhost:8087" funciona perfeitamente

quando eu uso "192.­168.­25.­135:­8077" que neste caso e o IP da maquina localhost não abre o sistema aparece a seguinte situação "Ops! O Goole Chrome não conseguiu se conectar a  

quando eu uso "192.­168.­25.­135:­8077" de outra máquina "Dentro da mesma rede"  da erro informando erro na conexão "Project Pharus.exe raised exception class EIdSocketError with message 'Socket Error # 10054 Connection reset by peer".

 

isto é eu consigo utilizar o sistema apenas pelo localhost

 

 

Share this post


Link to post
Share on other sites

Olá,

 

Para publicar no IIS, você deverá iniciar um projeto VCL Application / Standalone Server / ISAPI Module.

 

No arquivo do seu projeto (.dpr), a primeira linha estará dessa forma:

 

{$define UNIGUI_VCL} // Comment out this line to turn this project into an ISAPI module'

 

Se você comentar essa linha, ao invés de gerar um .exe, o Delphi gerará um .dll, que é o arquivo que você deverá publicar no IIS.

 

Atenciosamente,

Possidônio Oliveira.

Share this post


Link to post
Share on other sites

Olá,

 

Para publicar no IIS, você deverá iniciar um projeto VCL Application / Standalone Server / ISAPI Module.

 

No arquivo do seu projeto (.dpr), a primeira linha estará dessa forma:

 

{$define UNIGUI_VCL} // Comment out this line to turn this project into an ISAPI module'

 

Se você comentar essa linha, ao invés de gerar um .exe, o Delphi gerará um .dll, que é o arquivo que você deverá publicar no IIS.

 

Atenciosamente,

Possidônio Oliveira.

 

 

Só uma duvida: devo fazer isto apenas quando for publicar? durante o desenvolvimento deve ficar como está né? ou to enganado?

Share this post


Link to post
Share on other sites

No modo StandAlone, você consegue acessar externamente?

 

Você liberou a porta (8077) no Firewall do Windows Server?

 

Para liberar você tem que criar uma regra de segurança na Porta de Entrada (TCP) no Firewall do Windows Server.

 

Eduardo Belo

Share this post


Link to post
Share on other sites

Eu estou conseguindo gerar e rodar no stand-alone, porém, quando comento a primeira linha (conforme cidado num post acima e também conforme recomenda-se) e tento compilar, dá o seguinte erro: "Cannot run project unless a host application is defined. Use the run/parameters... dialog box".

-

Lá nos parameters... O QUE DEVO INFORMAR?

-

Meu objetivo é gerar a DLL.

-

Outra coisa. Ouvi dizer que tem que gerar o "exe" e depois renomear para "dll". É isso mesmo?

-

Amigos, por favor, se alguém puder ajudar seria de grande valia, pois, sem gerar a DLL não tem como publicar, certo?

-

Desde já eu agradeço.

-

 

Carlos Henrique.

--

Share this post


Link to post
Share on other sites

Amigo, se já fez esse processo, significa que já gerou a dll, se apareceu esta mensagem basta olhar no seu diretório de deploy e verá que o delphi deve ter criado uma dll com o mesmo nome do seu projeto.

  • Upvote 1

Share this post


Link to post
Share on other sites
Bom dia !

 

Estou tendo o problema em mudar o flag "StandAloneServer" do ServerModule onde sempre fica True, não permite mudar para False. Ao executar Shift+F9 gera a DLL sem problemas (OK).

 

Mas quando tentamos publicar no IIS estamos com dificuldades, haveria condições de nos ajudar em um passo a passo para publicar a DLL ?

 

Estamos com 95% do projeto pronto para entregar ao cliente e ao tentar publicar estamos TRAVADOS e nos sentimos sem saída  para atender o final de nossos trabalhos que é ver mesmo rodar na Web.

 

Obrigado desde já...

 

Fernando Mattos.

Share this post


Link to post
Share on other sites

Pessoal, estou colocando mais informações sobre o que estou fazendo para gerar a DLL corretamente e os passos para roda-la no IIS.

 

Será que alguém poderia me ajudar a encontrar algum erro nestes passos ?

Ou mesmo adicionar alguma outra sugestão para fechar todos os passos e ver o projeto rodando na Web ?

 

Obrigado,

 

Fernando Mattos

 

...................................................................................................

No Delphi IIS segui os passos abaixo:

1) Gerei a DLL apesar do flag "StandAloneServer" do ServerModule onde ficar True, mas gerou a DLL (OK)

 

// {$define UNIGUI_VCL} // Comment out this line to turn this project into an ISAPI module'

 
{$ifndef UNIGUI_VCL}
library
 {$E dll}
{$else}
program
 {$E exe}
{$endif}
RDA;

 

 

No servidor IIS segui os passos abaixo:

2) Para acesso externo, substituir o localhost pelo seu IP Externo, exemplo: 178.68.45.124:8077
3) Se sua internet for uma ADSL não esqueça de fazer um NAT do modem para seu servidor e liberar a porta do Firewall do Windows.
4) Você liberou a porta (8077) no Firewall do Windows Server?
5) Para liberar você tem que criar uma regra de segurança na Porta de Entrada (TCP) no Firewall do Windows Server.

Share this post


Link to post
Share on other sites

Ponto número 1:

O problema NÃO é o server. Já configurei 2 máquinas virtuais - uma com o IIS e outra com o Apache.

Em ambas estou rodando aplicações web normalmente MENOS a dll do uniGui; inclusive rodo DLL's com web-service geradas pelo Delphi.

 

Ponto número 2:

Se alguém puder fazer a caridade de desenvolver um projeto que gere uma DLL contendo um único form com um botão que quando clicado apareça "Hello World" juntamente com os fontes, seria de grande valia.

Acredito que para quem sabe isso não deva consumir mais que uns 40 segundos.

 

Eu tentei pegar projetos da pasta demos e comentar a primeira linha mas não funciona.

Esses exemplos só rodam se fizer stand-alone gegando EXE.

 

MEU OBJETIVO: Quero rodar uma aplicação <<<SIMPLES>>> do tipo DLL (ISAPI) no meu "localhost".

Share this post


Link to post
Share on other sites

Boa Noite Carlos,

 

Anexo esta um exemplo para geração da DLL.

 

Também tive este mesmo problema no inicio, o mesmo não gerava a DLL, abaixo segue o que eu fiz para funcionar:

 

No arquivo original após criado o projeto o mesmo está desta forma:

//{$define UNIGUI_VCL} // Comment out this line to turn this project into an ISAPI module'

{$ifndef UNIGUI_VCL}
library
{$else}
program
{$endif}
  HelloWorld;

Altere para:

//{$define UNIGUI_VCL} // Comment out this line to turn this project into an ISAPI module'

{$ifndef UNIGUI_VCL}
  {$E dll}
library
{$else}
  {$E exe}
program
{$endif}
  HelloWorld;

e caso você deseja gerar o EXE, segue:

{$define UNIGUI_VCL} // Comment out this line to turn this project into an ISAPI module'

{$ifndef UNIGUI_VCL}
  {$E dll}
library
{$else}
  {$E exe}
program
{$endif}
  HelloWorld;

unigui.rar

Share this post


Link to post
Share on other sites

Olá..

Estou iniciando com o Unigui e não consegui muito feedback através de pesquisas na internet.

Minha experiencia com Web é mínima e como muitos aqui estou com muitas dúvidas.

Acabei de descobrir um livro que vai ajudar muito o pessoal que, assim como eu, não tem nenhuma experiencia com Web.

Segue o endereço para os que, assim como eu, são iniciantes e precisam de muita ajuda:

 

http://www.alberteije.com/livros/delphi_web.php

 

Grato pela atenção de todos..

 

Jáber S. C. Lima

(66)9613-2594

Rondonópolis/MT

Share this post


Link to post
Share on other sites

Pessoal boa tarde.

 

Eu estou criando a minha primeira aplicação usando o UniGUI.

 

Eu preciso gerar um relatório para o cliente. Na máquina do desenvolvimento eu gero o PDF em uma pasta temporária e abro o arquivo no UniURLFrame, funcionando como o esperado.

 

Mas após gerar a DLL e colocar no IIS7, colocar o arquivo de relatório FR3 na pasta igual ao que está no servidor de desenvolvimento ocorrer a seguinte mensagem:

 

"Este arquivo não pode ser aberto porque não tem nenhuma página."

 

Alguem já teve algum problema semelhante? Conseguiu resolver?

Share this post


Link to post
Share on other sites

Boa noite Luiz,

 

Como você está pegando o path do seus diretório temporário? Lembrando que tem que ser o que definiu no unigui (uniservermodule -> tempfolder).

O correto é usar o UniServerModule.TempFolderURL no uniurlframe.

 

Já vou deixar outra dica que apanhei... gere todos os arquivos com dados que não se repita de uma impressão para outra. ex. adicione a hora. hhmmss

Pois se usar o mesmo nome o navegador sempre vai mostrar o primeiro que imprimiu para o usuário.

 

Referente ao fr3 aqui deixo na pasta files/report que fica no diretório da aplicação para evitar problemas de acessos com IIS, mas se estiver no diretório da aplicação e deu os devidos acessos ao IIS, o motivo deve ser como está pegando o arquivo gerado e a dica acima deve te ajudar a resolver.

 

Espero que a dica te ajude.

 

Abraços.

Share this post


Link to post
Share on other sites

Pessoal, muito boa a conversa aqui. Quero aproveitar pra perguntar o seguinte:

Depois de tudo gerado e testado na máquina, para publicar em um servidor remoto, por exemplo hostgator, UOL etc... o que devo fazer?

Subir a dll para a pasta raiz apenas? renomeio para index.dll?

Obrigado

 

Att

MHS

Share this post


Link to post
Share on other sites

Olá MHS.

 

Para publicar sua DLL segue um passo a passo que fiz para ajudar os demais colegas:

https://store.falconsistemas.com.br/documentacao/publicando_sua_aplicacao_no_IIS_ISAPI_Module.pdf

 

ou você pode estar seguindo o próprio manual do uniGui:

 

http://www.unigui.com/resources/online-documentation/developer-manual

Share this post


Link to post
Share on other sites

Marlon, muito obrigado por seu interesse. Seu passo a passo é muito completo. Mas já estou usando o Apache em meu computador, e tudo funciona. Gostaria de saber como fazer funcionar lá na web. Eu fiz o upload da dll na raiz da minha hospedagem (Windows), mas não consigo carregar no navegador através da internet. Como fazer?

Em uma aplicação tradicional html, apenas coloco como index.html ou main.html. Como funciona com uma dll?

Não tenho acesso a todas estas configurações que você descreveu, parece que você estava em seu próprio servidor.

Obrigado

 

MHS

Share this post


Link to post
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now

×