Clique para saber mais...
  Home     Download     Produtos / Cursos     Revista     Vídeo Aulas     Fórum     Contato   Clique aqui para logar | 06 de Outubro de 2026
  Login

Codinome
Senha
Salvar informações

 Esqueci minha senha
 Novo Cadastro

  Usuários
132 Usuários Online

  Revista ActiveDelphi
 Assine Já!
 Edições
 Sobre a Revista

  Conteúdo
 Apostilas
 Artigos
 Componentes
 Dicas
 News
 Programas / Exemplos
 Vídeo Aulas

  Serviços
 Active News
 Fórum
 Produtos / Cursos

  Outros
 Colunistas
 Contato
 Top 10

  Publicidade

  [Artigos]  Enviando mensagens pela rede com uma facilidade incrível
Publicado por gsoft : Terça, Fevereiro 07, 2006 - 10:26 GMT-3 (18317 leituras)
Comentários 12 Comentários   Enviar esta notícia a um amigo Enviar para um amigo   Versão para Impressão Versão para impressão
Administrador Olá pessoal! Gostaria de compartilhar com vocês este incrível componente que possibilita enviar e receber mensagens através de uma rede bastando somente 2 linhas de comando.

    Estive pesquisando na internet como poderia fazer com que minhas aplicações trocassem mensagens entre si através da rede, as soluções envolviam componentes das paletas FastNet, Indy e outras, tudo muito complicado cheio de macetes e necessitando de muitas linhas de código.
 

    Já estava chateado e quase desistindo quando me deparei com este componente maravilhoso chamado TmdMailSlot!
 

    Com código aberto ele compilou perfeitamente em Delphi 4, 5 e 6, só não testei em Delphi 7 e 2005 porque não tenho essas versões do Delphi aqui comigo, mas não vejo porque não funcionaria em versões mais recentes do Delphi.
 

    Com apenas duas linhas de comando, uma para enviar e outra para receber mensagens esse componente faz com que as aplicações na rede conversem entre si com muita facilidade proporcionando uma infinidade de benefícios limitados somente pela criatividade de cada programador.
 

    Imagine por exemplo atualizar tabelas na rede somente quando necessário sem precisar usar Timer, seria ótimo para diminuir o tráfego de dados desnecessário na rede.
 

    Acompanhe os passos abaixo para fazer com que esse componente funcione em seus programas:
 

    Baixe a última versão desse componente no site do autor Martin Djernæs

http://www.djernaes.dk/martin  ou diretamente pelo link    http://djernaes.dk/martin/vcl.html#TmdMailSlot
   

Depois instale o componente no seu Delphi, clique no menu "Component" Item "Install Component" selecione a Unit mdMailSlot.pas e Instale.
   

A paleta mdVCL vai aparecer na barra de ferramentas do Delphi com os seguintes componentes:

 

 

    Crie uma nova aplicação, depois insira no Form o componente mdMailSlot.
 

    Na propriedade Slot do componente, insira o nome do seu programa, isso fará com que seu programa troque mensagens somente com outros programas que tenham o mesmo nome na propriedade Slot do componente.
 

    Não use nomes muito grandes ou com espaçamentos!
 

    Defina a propriedade Active do componente para True.
 

    No Evento OnMessageAvail insira o código que vai receber as mensagens:

    If Msg <> '' Then ShowMessage('Mensagem Recebida: ' + Msg);
    Ou
    If Msg = 'Mensagem' Then ShowMessage('Mensagem Recebida: ' + Msg);
    Ou
    If Msg <> '' Then ShowMessage(Msg);
    Ou
    If Msg = 'Mensagem' Then ExecuteaRotinaQueQuiser;


    E finalmente em qualquer momento que quiser enviar uma mensagem para as aplicações nos computadores da rede, use o seguinte comando:
SendToMailSlot('*', mdMailSlot1.Slot, 'Mensagem');
 

    O asterisco indica que deseja enviar a mensagem para todas as máquinas da rede, se quiser enviar uma mensagem somente para a máquina local, use um ponto '.' ao invés de '*'
 

    Troque a palavra mensagem pela mensagem que deseja enviar.
 

    Pronto! Não foi fácil? Eu testei o funcionamento deste componente em uma pequena rede de 3 computadores em que o servidor estava com     Windows XP e as estações com Windows 98 e 95. Quem testar em outras versões do Windows, por favor, enviem comentários informando se funcionou ou não.
 

    Quem quiser também pode testar um programa de demonstração deste componente que está disponível com código fonte no site do Autor do mdMailSlot.
   

Sou André Luiz de Souza Fernandes, Técnico em Processamento de Dados, dono do site GSoftWares.COM e responsável pelo projeto OpenSource de Portais PHP CPGNUKE no Brasil.
Contato suporte@gsoftwares.com
Um forte abraço a todos!
 



Comentários Comentários
   Ordem:  
Comentários pertencem aos seus respectivos autores. Não somos responsáveis pelo seus conteúdos.


por: Borland_Linuxer : Fev 09, 2006 - 12:50
(Informações sobre o membro | Enviar uma mensagem) http://
muito bom esse componete fera e espero ver artigos seus aqui no site...


por: tmarsiglia : Mar 14, 2006 - 10:10
(Informações sobre o membro | Enviar uma mensagem)
Muito bom seu artigo o componente funciona no Delphi 7 e no Windows XP!!! Valeu colega, ótima dica!!!


por: odacir : Mar 17, 2006 - 09:30
(Informações sobre o membro | Enviar uma mensagem) http://http://
Funcionou no Server 2003 tbm...


por: quacklee : Mar 19, 2006 - 12:39
(Informações sobre o membro | Enviar uma mensagem)
Muito legal :)


por: Marcosfbm : Mar 20, 2006 - 08:39
(Informações sobre o membro | Enviar uma mensagem)
Gostei do componente, mas ele não tem a opção de enviar uma mensagem direcionada só pra um ip não?


por: willianoliveira : Abr 24, 2006 - 05:49
(Informações sobre o membro | Enviar uma mensagem) http://
Muito bom o componente, só que (estou utilizando delphi 7) não está distinguindo as mensagens
ex.:
pc1 manda para pc2, aí pc2 manda para pc1, neste ponto o pc1 só enxerga a primeira mensagem que mandou para o pc2 e não a que o pc2 está mandando para ele.
Os procedimentos ReadMessage e Loaded, amenizam um pouco, mas não estou sabendo utiliza-los.
Se vocês tiverem a solução...


por: Ådriano : Ago 27, 2006 - 10:53
(Informações sobre o membro | Enviar uma mensagem) http://http://
Poxa vida sera que só eu que não consigo baixai até a versão demo do autor e não mostra nada....me ajudem...


por: Gilberg : Set 27, 2006 - 10:22
(Informações sobre o membro | Enviar uma mensagem)
Muito legal! Funciona mesmo...
Só não consegui enviar para uma máquina específica. Se alguém puder me ajudar.


por: zatiri : Nov 13, 2006 - 08:39
(Informações sobre o membro | Enviar uma mensagem) http://
Instalei esse componente no Delphi 2006 e testei numa rede com XP. Funcionou beleza! Parabéns pelo artigo e pela paciência em procurar. Quanto a enviar para máquinas específicas, estou testando. Eu uso o registro do windows pra várias coisas, como identificação da função e número de cada cópia do meu programa. Assim, fica fácil seguir o procedimento de tratar a mensagem, identificando a máquina destinatária e recortando isso antes de exibir a mensagem.


por: RodrigoMiller : Jul 23, 2007 - 04:48
(Informações sobre o membro | Enviar uma mensagem) http://
Seria possível enviar a mensagem para apenas uma maquina da rede pelo IP?


por: ersilva (contato@s2tech.com.br) : Nov 19, 2008 - 03:34
(Informações sobre o membro | Enviar uma mensagem) http://www.s2tech.com.br
Todos os link quebrados. Não consegui o componente
  Edição 112

Revista ActiveDelphi

  50 Programas Fontes


  Produtos

Conheça Nossos Produtos

Copyright© 2001-2016 – Active Delphi – Todos os direitos reservados