Test Foro de elhacker.net SMF 2.1

Programación => .NET (C#, VB.NET, ASP) => Programación General => Programación Visual Basic => Mensaje iniciado por: nhaalclkiemr en 5 Enero 2008, 21:42 PM

Título: ¿Se pueden utilizar interfaces en Visual Basic 6.0?
Publicado por: nhaalclkiemr en 5 Enero 2008, 21:42 PM
Pues eso, si se pueden usar interfaces en Visual Basic 6.0?? Se que en las nuevas versiones de Visual Basic (.NET) si se puede pero en la 6.0 no se...

Y weno en el caso de que si se pueda como se haría claro...

Saludos ;)
Título: Re: ¿Se pueden utilizar interfaces en Visual Basic 6.0?
Publicado por: Mad Antrax en 6 Enero 2008, 01:31 AM
que coño son las "interfaces"?

xD :rolleyes:
Título: Re: ¿Se pueden utilizar interfaces en Visual Basic 6.0?
Publicado por: ~~ en 6 Enero 2008, 01:42 AM
Yo desde luego en VB6 nunca las e usado y no se si existiran la verdad, me parece a mi q es mas propio de C++ xD

de todas maneras, para q kieres usarlo, q seguro (q pese a las limitaiones de vb) podemos apañarte algo  :P

Cita de: ||MadAntrax|| en  6 Enero 2008, 01:31 AM
que coño son las "interfaces"?

xD :rolleyes:

http://www.dei.inf.uc3m.es/docencia/p_s_ciclo/tdp/curso0203/apuntes/basicas.pdf
http://www.alkon.com.ar/foro/programacion.76/463914-poo_interfaces/

Por poner un par de ejemplos de lo q hay por google ;)
Título: Re: ¿Se pueden utilizar interfaces en Visual Basic 6.0?
Publicado por: foobar en 6 Enero 2008, 03:54 AM
No existe una forma de crear -explícitamente- una interfaz, pero se puede hacer creando un módulo de clase con los prototipos de las funciones y eventos estableciendolo como PublicNotCreatable, y luego implementarlo utilizando la palabra clave Implements:

Código (vb) [Seleccionar]

'
' Modulo de clase: MyInterface.cls
'

Option Explicit

Sub Foo()

End Sub

Function Something(ByVal Arg As String)

End Function


Código (vb) [Seleccionar]

'
' Modulo de clase: MyClass.cls
'
Option Explicit

Implements MyInterface

Property Get ClassName()
    ClassName = "Test Class"
End Property

Private Sub MyInterface_Foo()
    Debug.Print "Foo called from MyClass"
End Sub

Private Function MyInterface_Something(ByVal Arg As String) As Variant
    Debug.Print "Something from MyClass like: " & Arg
End Function


Código (vb) [Seleccionar]

'
' Módulo estándar Test.bas
'
Option Explicit

Sub Test()
    Dim csInterface As MyInterface
    Dim csClass     As New MyClass

    Debug.Print csClass.ClassName
   
    Set csInterface = csClass

    Call csInterface.Something("Hola Mundo")
End Sub


Fijate que cuando se ejecute Test, lo que va a estar llamando es a la función implementada en MyClass, por lo que el output sería algo así:


Test Class
Something from MyClass like: Hola Mundo


Bytez.
Título: Re: ¿Se pueden utilizar interfaces en Visual Basic 6.0?
Publicado por: nhaalclkiemr en 6 Enero 2008, 06:38 AM
Yo al principio pensaba que eran objetos y que había que crearlos con CreateObject() pero después por lo que vi en MSDN no...

Pues voy a provar lo que dice Seykron...

Yo las quiero por lo que digo en este post:

http://foro.elhacker.net/index.php/topic,194021.0.html (http://foro.elhacker.net/index.php/topic,194021.0.html)

Y al final buscando llegué aki:

http://msdn2.microsoft.com/en-us/library/aa381274(VS.85).aspx (http://msdn2.microsoft.com/en-us/library/aa381274(VS.85).aspx)

Y fue la unica manera de lograr ejecutar una tarea programada ya establecida sin depender de programas externos...miré de alguna API pero no encontré nada...

Saludos y ya os contaré ;)

EDIT: Me acabo de dar cuenta de que lo que dice Seykron sirve para crear interfaces...pero yo no quiero crear interfaces...sino usar una ya creada...se puede??