Página 1 de 1

classe em dll

Enviado: 12 Mai 2012 09:23
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

classe em dll

Enviado: 12 Mai 2012 12:11
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

classe em dll

Enviado: 13 Mai 2012 17:34
por sygecom
Veja também:
http://code.google.com/p/fivewin-contri ... p&can=2&q=