Login

Esqueci minha senha

Buscar
 
 

Resultados por :
 


Rechercher Busca avançada

Quem está conectado
5 usuários online :: Nenhum usuário registrado, Nenhum Invisível e 5 Visitantes :: 2 Motores de busca

Nenhum

[ Ver toda a lista ]


O recorde de usuários online foi de 71 em 19/7/2010, 11:47
Brasília
Estamos no Twitter
Nossa Comunidade
Nosso Grupo
Últimos assuntos
Top dos mais postadores
Marcos Guedes
 
hugo
 
alceu11
 
Julio
 
marcelofazan
 
mfelis
 
cabeludo
 
Tales Ruan
 
Nelson Arcas
 
marcio
 

Contagem Regressiva em tela de login

16/7/2010, 11:10 por Linghston

Ola amigos, esta é minha primeira participação neste forum e espero poder encontar aqui ajuda para ...

Comentários: 15

Gerador randomico de chave/senha VFP

28/7/2010, 10:44 por hugo

[Você precisa estar registrado e conectado para ver esta imagem.]

Creditos, codi...

Comentários: 22

Help do VFP 9 desapareceu

13/7/2010, 09:22 por hugo

Galera

tenho o visual foxpro instalado e o help funcionava legal

tenho tam...

Comentários: 26

Niver do Alceu

23/7/2010, 14:42 por Marcos Guedes

Aew, pessoal!!!
Para quem não sabe, dia 30/07 é niver do Alceu!!!

Só não irei diz...

Comentários: 32

Report com comandos de impressão @ SAY

30/7/2010, 10:49 por Julio

Novamente aqui, para esclarecer uma duvida.

Tenho um report que serve como formulario, ...

Comentários: 29

Estatísticas
Temos 926 usuários registrados
O último usuário registrado atende pelo nome de Maria Tognetti

Os nossos membros postaram um total de 8596 mensagens em 1239 assuntos

Criando DLL's com o VFP 9.0

Novo Tópico   Responder ao tópico

Ver o tópico anterior Ver o tópico seguinte Ir em baixo

Tutorial Criando DLL's com o VFP 9.0

Mensagem por Marcos Guedes em 3/11/2009, 10:35

Uma forma muito útil de protegermos nossos códigos e tornar nossa aplicação mais organizada é a utilização de DLL's criadas com o próprio Visual Foxpro.

Como criar tais DLL's?

1. Abra o Visual Foxpro e crie um novo projeto. Nomei-o como "MinhaDLL.pjx"
2. Adicione um novo código (.prg) ao seu projeto. Nomei-o como "MinhaDLL.prg"
3. Adicione o seguinte conteúdo ao arquivo:
Código:
#DEFINE _enter CHR(13)+CHR(10)

DEFINE CLASS minhadll AS CUSTOM OLEPUBLIC

   PROCEDURE minhafuncao AS void
      MESSAGEBOX(THIS.funcaointerna(), 48, "MinhaDLL")
   ENDPROC

   HIDDEN FUNCTION funcaointerna AS STRING
      *!* O atributo HIDDEN torna esta função invisível para os
      *!* objetos instanciados desta classe.
      *!* Sendo assim esta função poderá ser utilizada apenas pelas
      *!* demais funções de classe.
      LOCAL mensagem AS STRING
      *!*
      m.mensagem = "Texto contido na função interna da DLL!" + _enter
      m.mensagem = m.mensagem + "Esta função não poderá ser acessada por uma instância da classe"
      *!*
      RETURN m.mensagem
   ENDFUNC

ENDDEFINE

4. Copile o projeto como demonstrado na imagem a seguir:

[Você precisa estar registrado e conectado para ver esta imagem.]

Nota: Clique em Build, e marque as opções "Mult-threaded COM server (dll)", "Recompile All Files" e "Display Errors".

Tendo feito isto, sua DLL foi criada com sucesso!

Como utilizar a DLL gerada no fox?

1. O ideal é que as DLL's sejam colocadas na pasta default da aplicação.
2. Na parte do sistema onde desejas utilizar os recursos da DLL, utilize o seguinte exemplo:
Código:
LOCAL obj as Object
*!* Instancia um objeto da DLL
m.obj = NEWOBJECT("MinhaDLL", SYS(5)+CURDIR()+"MinhaDLL.dll")
*!* Chama a função disponível na DLL
m.obj.minhafuncao()
m.obj = NULL


Espero ter contribuído!
Qualquer dúvida é só postar!
Very Happy

_________________
Marcos Guedes - Programador e desenvolvedor Web.

Convidado, seja nosso seguidor no Twitter:
twitter.com/programacaobras

Marcos Guedes
Webmaster
Webmaster


Ver perfil do usuário

Voltar ao Topo Ir em baixo

Tutorial Sobre as minhas funcoes, cgc, cpf, extenso

Mensagem por alceu11 em 1/3/2010, 17:14

Deixa eu ver se eu entendi:
Se eu tiver varias funcoes, verifica cnpj, cpf, extenso e ,etc.

Eu poderia criar uma dLL, E COMO eu chamaria esta funcao "Cnpj" por exemplo usando a dll, em outro projeto.

Esta e a melhor forma, ?
Ou como eu li uma coloque numa "classe" em um form vazio estas funcoes, tipo cadastro de clientes ou fornecedores para verificar se o usuario final, digitou o cnpj ou cpf corretamente?.

alceu11
Participante Assíduo
Participante Assíduo


Ver perfil do usuário

Voltar ao Topo Ir em baixo

Tutorial Re: Criando DLL's com o VFP 9.0

Mensagem por Marcos Guedes em 1/3/2010, 17:43

Alceu, com certeza é uma das melhores formas pois estamos utilizando o conceito de Programação Orientada a Objeto.

A forma como chamamos as funções da DLL está descrita na primeira mensagem, mas estou mandando um simples exemplo:

- [Você precisa estar registrado e conectado para ver este link.]

_________________
Marcos Guedes - Programador e desenvolvedor Web.

Convidado, seja nosso seguidor no Twitter:
twitter.com/programacaobras

Marcos Guedes
Webmaster
Webmaster


Ver perfil do usuário

Voltar ao Topo Ir em baixo

Tutorial Re: Criando DLL's com o VFP 9.0

Mensagem por hugo em 1/3/2010, 17:55

marcos

classe eh diferente de dll certo?

pela duvida do alceu, que faco minha tambem, achei mais facil,
pelo menos para entender teoricamente, usar a dll! voce acha
a utilizacao de dll mais facil do que a de classes?

entre classe e dll, o que tem mais performance? (em casos como
validacoes de cnpj, cpf e etc...)

obrigado

_________________
A lingua é o chicote do corpo! Minhas feridas ainda doem!

hugo
Usuário 5 Estrelas
Usuário 5 Estrelas


Ver perfil do usuário

Voltar ao Topo Ir em baixo

Tutorial Re: Criando DLL's com o VFP 9.0

Mensagem por Marcos Guedes em 1/3/2010, 21:04

neste caso, não se trata somente de performance, mas sim de orientação a objeto.
Observe na pasta System32 e verás que o windows trabalha, e muito, com DLL's e isto nos permite reutilizar alguns códigos para nossas próprias aplicações. Ex.: kernel32.dll

em fox, as DLL's nada mais são que classes de acesso público, e, diferente das classes, podem ser atualizadas sem a necessidade de recompilar o projeto. E para proteger o código da DLL em fox é simples: REFOX.

No caso do [Você precisa estar registrado e conectado para ver este link.] que estamos desenvolvendo, adotamos o MySQL como banco. Então é bem mais prático colocar a classe de acesso a banco numa DLL. Desta forma, se houver problemas, futuramente, com a rotina de acesso ao banco MySQL, precisaremos apenas atualizar a DLL no cliente, sem recompilar o projeto.

Em resumo, é isto.
Smile

_________________
Marcos Guedes - Programador e desenvolvedor Web.

Convidado, seja nosso seguidor no Twitter:
twitter.com/programacaobras

Marcos Guedes
Webmaster
Webmaster


Ver perfil do usuário

Voltar ao Topo Ir em baixo

Tutorial Re: Criando DLL's com o VFP 9.0

Mensagem por Nelson Arcas em 2/3/2010, 09:30

Hugo/Alceu
Este conceito de dll para conexão e outras funções é muito utilizado no desenvolvimento de sistemas em 3 camadas (Aplicações Cliente/Servidor), hoje os sistemas de ERP grande partes são baseados nessa metodologia.
Veja esse artigo que explica bem como utilizar.
[Você precisa estar registrado e conectado para ver este link.]
é um pouco mais complicado de programar e entender este conceito porem o ganho depois e muito grande e também tem o custo financeiro que torna o projeto mais acesssivel uma vez que somente uma aplicação conversa com o banco de dados e não todas as estações e outra a perfomace é muito mais rápido.

Nelson Arcas
Participa Bastante
Participa Bastante


Ver perfil do usuário

Voltar ao Topo Ir em baixo

Tutorial Re: Criando DLL's com o VFP 9.0

Mensagem por Marcos Guedes em 2/3/2010, 09:41

O link é bastante esclarecedor, Nelson!

_________________
Marcos Guedes - Programador e desenvolvedor Web.

Convidado, seja nosso seguidor no Twitter:
twitter.com/programacaobras

Marcos Guedes
Webmaster
Webmaster


Ver perfil do usuário

Voltar ao Topo Ir em baixo

Tutorial Re: Criando DLL's com o VFP 9.0

Mensagem por mfelis em 2/3/2010, 10:02

Otimo.Tutorial Value

mfelis
Participa Bastante
Participa Bastante


Ver perfil do usuário

Voltar ao Topo Ir em baixo

Tutorial Re: Criando DLL's com o VFP 9.0

Mensagem por alceu11 em 2/3/2010, 10:35

Boa Nelson
Esclareceu mais ainda valeu ai pela sua ajuda.
Mesmo pq temos tantas funcoes, no sistema quebradas em varias rotinas nada como unir todas em uma dll.
So que temos que ter cuidado :
Qdo fazer alguma alteracao numa destas funcoes. pois teremos que gerar uma nova dll com as mundancas.
Pq em outro forum teve um topico que alguem quase me deixou louco, pq uma funcao destas estava em uma DLL , e apos altera-la nao se gerou novamente dll, a ai nao SE achava o problema. sÓ apos recompilar a dll que o problema foi sanado.

Mais um vez obrigado Nelson Arcas. Por ter acompanhando, este topico, e postado aqui esta sua resposta.

Sempre estou aprendendo mesmo estando ja com 50 anos de idade, nunca despresei, informacao sobre o visual fox pro, e a daquele que pensa que sabe tudo.
Lembro uma frase no utilmo ano de faculdade. Ondi para passar de ano teriamos que em equipe montar um projeto.

E a turma mais aplicada, no final da aprensentacao no projetor,
colocou a seguinte frase "Turma 4BC " nos somos maximo"!!!

E o professor disse o maximo foi o Cara que desenvolveu a Ferramenta FOXBASE.

Pois ele sim deu nos a ferramenta !!!

alceu11
Participante Assíduo
Participante Assíduo


Ver perfil do usuário

Voltar ao Topo Ir em baixo

Tutorial Re: Criando DLL's com o VFP 9.0

Mensagem por hugo em 2/3/2010, 11:06

obrigado nelson, marcos e alceu

abraco galera

este forum promete!!!

_________________
A lingua é o chicote do corpo! Minhas feridas ainda doem!

hugo
Usuário 5 Estrelas
Usuário 5 Estrelas


Ver perfil do usuário

Voltar ao Topo Ir em baixo

Tutorial Re: Criando DLL's com o VFP 9.0

Mensagem por Tales Ruan em 8/3/2010, 09:55

Pessoal, tenho uma dúvida:

As Dlls criadas no Visual FoxPro podem ser usadas em outros aplicativos, outras linguagens?

Por exemplo, um programa em Delphi usando uma Dll feita em FoxPro..

Fiz um teste uma vez e não deu muito certo, acho que fiz algo errado, por isso a pergunta.. heheh..

_________________
Que a força esteja com você.
[Você precisa estar registrado e conectado para ver este link.]

Tales Ruan
Participa Bastante
Participa Bastante


Ver perfil do usuário

Voltar ao Topo Ir em baixo

Tutorial Re: Criando DLL's com o VFP 9.0

Mensagem por Marcos Guedes em 8/3/2010, 10:45

Tales, neste caso, nunca precisei utilizar, mas se houver possibilidade, certamente exigirá configurações adicionais pois uma DLL em fox é criada com classe (pelo menos da forma como foi demonstrado neste exemplo).

Já "C" as DLL's são criadas com funções, por isso que para utilizá-la, declaramos como no exemplo:
Código:
DECLARE INTEGER NomFuncaoDLL IN nomeDLL.DLL STRING, INTEGER


Para ser genéria, o ideal é fazer a DLL em C, mesmo.

_________________
Marcos Guedes - Programador e desenvolvedor Web.

Convidado, seja nosso seguidor no Twitter:
twitter.com/programacaobras

Marcos Guedes
Webmaster
Webmaster


Ver perfil do usuário

Voltar ao Topo Ir em baixo

Ver o tópico anterior Ver o tópico seguinte Voltar ao Topo


Permissão deste fórum:
Você não pode responder aos tópicos neste fórum