Gracias por responder Harold.
Ya había logrado devolver un datatable y funcionada, pero quería devolver un combobox.
Instancié el combobox, lo cargaba pero no devolvía nada.
Con el depurador me dí cuenta que el datasource no le cragaba nada.
Tuve que crear un formulario, crear un control combobox y dentro de esa clase crear una función. Ahí si me reconocía el datasource.
Envío mi solución. La aplicación se llama CBUsuariosConAcceso.DLL
Tiene una clase Propìedades y otra FormularioDeControles.
Con propiedades le paso la empresa y la conexion.
En FormularioDeControles hay una función que devuelve el combobox.
Al final está como llamo la clase y cargo mi combobox.
'////////////////////////////////////////////////////////////////////////////
Imports System.Data.SqlClient
Public Class Propiedades
Public Shared CodEmpresa As Integer
Public Shared laConexion As SqlClient.SqlConnection
Public WriteOnly Property Empresa() As Integer
' la parte Set es la que se usa al asignar el nuevo valor
Set(ByVal Value As Integer)
CodEmpresa = Value
End Set
End Property
Public WriteOnly Property Conexion() As SqlClient.SqlConnection
Set(ByVal Value As SqlClient.SqlConnection)
laConexion = Value
End Set
End Property
End Class
'////////////////////////////////////////////////////////////////////////////
'////////////////////////////////////////////////////////////////////////////
Public Class FormularioDeControles
Public StrSql As String
Function Cargando() As ComboBox
''***************** POPULATE COMBOBOX *****************
Dim objDA As SqlClient.SqlDataAdapter
Dim objDS As New Data.DataSet
StrSql = "select CodigoDeResponsable,NombreDeResponsable " & _
"from MN_TABLA_DE_RESPONSABLES_Y_EJECUTORES " & _
"where Empresa = " & Propiedades.CodEmpresa & " AND (AccesoAlSistema = 1) " & _
"order by NombreDeResponsable "
objDA = New SqlClient.SqlDataAdapter(StrSql, Propiedades.laConexion)
objDA.Fill(objDS)
'*****************************************************************
ComboTrabajo.DisplayMember = "NombreDeResponsable"
ComboTrabajo.ValueMember = "CodigoDeResponsable"
ComboTrabajo.DataSource = objDS.Tables(0)
Return ComboTrabajo
End Function
End Class
'////////////////////////////////////////////////////////////////////////////
Llamar la clase y llenar el combobox
'//////////////////////////////////////////////////////////////////////
Dim PropTablaUsuarios As New CBUsuariosConAcceso.Propiedades
PropTablaUsuarios.Empresa = CodigoEmpresa
PropTablaUsuarios.Conexion = StrConn
Dim TablaUsers As New CBUsuariosConAcceso.FormularioDeControles
ComboUsuario.DisplayMember = TablaUsers.Cargando.DisplayMember
ComboUsuario.ValueMember = TablaUsers.Cargando.ValueMember
ComboUsuario.DataSource = TablaUsers.Cargando.DataSource
'//////////////////////////////////////////////////////////////////////