classe em dll

Projeto [x]Harbour - Compilador de código aberto compatível com o Clipper.

Moderador: Moderadores

Avatar do usuário
bencz
Usuário Nível 4
Usuário Nível 4
Mensagens: 524
Registrado em: 28 Abr 2012 17:36
Contato:

classe em dll

Mensagem por bencz »

Olá... ((:

Gostaria de saber como posso fazer para colocar essa classe, em uma DLL, e depois, chamar ela...

Código: Selecionar todos

#include "hbclass.ch"

CLASS Person
    DATA Name INIT ""

    METHOD New() CONSTRUCTOR

    ACCESS Eyes INLINE ::pvtEyes
    ASSIGN Eyes( x ) INLINE IIF( ValType( x ) == 'C' .AND. x IN "Blue,Brown,Green", ::pvtEyes := x, Alert( "Invalid value" ) )

    // Sample of IN-LINE Method definition
    INLINE METHOD Describe()
       LOCAL cDescription

       IF Empty( ::Name )
          cDescription := "I have no name yet."
       ELSE
          cDescription := "My name is: " + ::Name + ";"
       ENDIF

       IF ! Empty( ::Eyes )
          cDescription += "my eyes' color is: " + ::Eyes
       ENDIF
    ENDMETHOD

    PRIVATE:
       DATA pvtEyes
 ENDCLASS

 // Sample of normal Method definition.
 METHOD New( cName ) CLASS Person

   ::Name := cName

 RETURN Self
o meu maior problema disso tudo é.... chamar essa dll e a classe

Obrigado
Imagem
alxsts
Colaborador
Colaborador
Mensagens: 3092
Registrado em: 12 Ago 2008 15:50
Localização: São Paulo-SP-Brasil

classe em dll

Mensagem por alxsts »

Olá!

Para gerar a DLL, você tem que usar um parâmetro na linkedição. Verifique os parâmetros do iLink32.

Para usar, tente algo assim:

Código: Selecionar todos

#include "dll.ch"

   LOCAL hDll, nRetVal

   If File("person.dll")
      hDll:=DllLoad("person.dll")
   Else
      MsgStop("Falha carregando person.dll")
      return .f.
   EndIf

   nRetVal := DllCall(hDll,DLL_OSAPI,"Describe")

   RETURN
[]´s
Alexandre Santos (AlxSts)
Avatar do usuário
sygecom
Administrador
Administrador
Mensagens: 7131
Registrado em: 21 Jul 2006 10:12
Localização: Alvorada-RS
Contato:

classe em dll

Mensagem por sygecom »

Veja também:
http://code.google.com/p/fivewin-contri ... p&can=2&q=
Leonardo Machado
xHarbour.org + Hwgui + PostgreSql
Responder