Clique abaixo para nos ajudar
Conectar-se

Esqueci minha senha

Estamos no Facebook
Buscar
 
 

Resultados por:
 


Rechercher Busca avançada

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

Nenhum

[ Ver toda a lista ]


O recorde de usuários online foi de 468 em 1/3/2012, 10:43
TRY BEGIN E FLOCK()

17/4/2017, 10:32 por AJC

Pessoal estou tendo alguns problemas de gravação em rede, estou usando
try begin, mas vi algo na …

Comentários: 0

Exportar Dados Campo Memo Tabela DBF

10/4/2017, 10:28 por fcampos

Olá bom dia.

Estou tentando exportar os dados de algumas tabelas em formato dbf pelo foxpro.
O …

Comentários: 2

Função EVL()

8/4/2017, 12:18 por Clebervfp

Bom dia a todos.
Vim compartilhar de uma Função do próprio VFP que me benefício muito.
Função …

Comentários: 0

COMO BLOQUEAR REGISTRO OU TABELA NO VISUAL FOXPRO PARA GRAVAÇÃO EM REDE

3/4/2017, 10:29 por AJC

Pessoal estou tendo um problema que acontece sempre busco na minha tabela de clientes o ultimo …

Comentários: 2

Controlar Scanner Twain

31/3/2017, 17:31 por Kleber R Bento

Estou usando o EZTW32.DLL para criar uma ferramenta que escaneia e gera PDF. Porém com esses …

Comentários: 0

Estatísticas
Temos 7064 usuários registrados
O último usuário registrado atende pelo nome de Rpedrozo

Os nossos membros postaram um total de 48 mensagens em 25 assuntos

Criando DLL's com o VFP 9.0

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.


Visite o nosso portal:
[Você precisa estar registrado e conectado para ver este link.]

Marcos Guedes
Webmaster
Webmaster


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?.
avatar
alceu11
Usuário 5 Estrelas
Usuário 5 Estrelas


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:

- Clique aqui para baixar o arquivo!

_________________
Marcos Guedes - Programador e desenvolvedor Web.


Visite o nosso portal:
[Você precisa estar registrado e conectado para ver este link.]

Marcos Guedes
Webmaster
Webmaster


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 tristeza é a falta de alegria, mais sem ela eu não poderia entender a alegria do fato de que a felicidade existe!"
Helio Leites - [Você precisa estar registrado e conectado para ver este link.]
avatar
hugo
Usuário 5 Estrelas
Usuário 5 Estrelas


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.


Visite o nosso portal:
[Você precisa estar registrado e conectado para ver este link.]

Marcos Guedes
Webmaster
Webmaster


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.
avatar
Nelson Arcas
Participa Bastante
Participa Bastante


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.


Visite o nosso portal:
[Você precisa estar registrado e conectado para ver este link.]

Marcos Guedes
Webmaster
Webmaster


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
avatar
mfelis
Participa Bastante
Participa Bastante


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 !!!
avatar
alceu11
Usuário 5 Estrelas
Usuário 5 Estrelas


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 tristeza é a falta de alegria, mais sem ela eu não poderia entender a alegria do fato de que a felicidade existe!"
Helio Leites - [Você precisa estar registrado e conectado para ver este link.]
avatar
hugo
Usuário 5 Estrelas
Usuário 5 Estrelas


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..
avatar
Tales Ruan
Participa Bastante
Participa Bastante


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.


Visite o nosso portal:
[Você precisa estar registrado e conectado para ver este link.]

Marcos Guedes
Webmaster
Webmaster


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