• Sábado 20 de Abril de 2024, 16:20

Autor Tema:  Obtener Origen De Datos En Clase  (Leído 1811 veces)

9tnix

  • Miembro MUY activo
  • ***
  • Mensajes: 165
  • Nacionalidad: pe
    • Ver Perfil
Obtener Origen De Datos En Clase
« en: Viernes 23 de Febrero de 2007, 00:34 »
0
Hola amigos

Tengo el siguiente problema y necesito su ayuda. El problema es: Cuando hago el binding a mis controles TextBox el VB se cierra inesperadamente, a continuacion el codigo.

Tengo 2 Proyectos:

Proyecto DLL ActiveX

Uso como propiedad: MultiUse
y Actua como Origen de Datos

ClsSesion : Maneja la conexion al servidor SQL
ClsCargo  : Maneja el mantenimiento de la tabla Cargo

'En la clase ClsSesion

Private cnnSesion as ADODB.Connection

Public Property Get Sesion() As ADODB.Connection
 Set Sesion=cnnSesion
End Property


'En la clase ClsCargo
'Como es origen de datos saben que hay un procedimiento
'que obtiene el objeto recordset y su codigo es:

Private WithEvents rstCargo As ADODB.Recordset
Private cnnSesion As ADODB.Connection

Private Sub Class_GetDataMember(DataMember As String, Data As Object)
Set Data = RstCargo
End Sub

Private sub Class_Initialize()
Set rstCago=New ADODB.Recordset
End Sub

Private sub Class_Terminate()
If rstCargo.State = adStateOpen Then rstCargo.Close
Set rstCargo = Nothing
End Sub

Public Property Set Sesion(cnnParam1 As ADODB.Connection) As ADODB.Connection
 Set cnnSesion = cnnParam1
End Property

Public Function Buscar(strQry as String) As Byte
 Buscar = 0
 With rstCargo
   .Open strQry, Sesion, 2,3,1
   If Not (.BOF() And .EOF()) Then
      Buscar = 1
   End If
 End With
End Sub


Proyecto EXE Estandar

Tengo un form que es un mantenimiento de Cargo aqui tengo lo sgte:

'Declaraciones Generales
Private cCargo As New ClsCargo
Private oBind as BindingCollection 'variable para el bindeo no recuerdo exactamente como se declara

Form_Load
Set cCargo.Sesion = cSesion

cmdBuscar_Click
If Buscar("Select * From Cargo") = 1 Then
 Bindear
End If

Private Sub Bindear
 'Aqui hago binding a mis controles
  ....
  Set oBind.DataSource = cCargo < Esta linea es la del error y VB se cierra
                                                     inesperadamente el proyecto EXE Estandar
End Sub


Espero me puedan ayudar a encontrar la falla, ya busque en la ayuda y bueno no logro dar con la solucion, quiza he pasado mucho tiempo frente a la computadora jejeje :) bueno espero su colaboracion.

Att. zeekel
TP-Systems
our knowledge is our power!

9tnix

  • Miembro MUY activo
  • ***
  • Mensajes: 165
  • Nacionalidad: pe
    • Ver Perfil
Re: Obtener Origen De Datos En Clase
« Respuesta #1 en: Domingo 25 de Febrero de 2007, 16:40 »
0
Vamos gente

Se que pueden ayudarme a esclarecer  cual es la falla, hasta ahora no logro dar con la falla que produce cuando intento acceder al origen de datos a traves de la clase clsCargo.

Posteare el codigo completo para que lo bajen y puedan echarle un vistazo, lastima que en este momento no lo tenga a la mano.

Sigo esperando su colaboracion


Saludos
zeekel ®
TP-Systems
our knowledge is our power!

9tnix

  • Miembro MUY activo
  • ***
  • Mensajes: 165
  • Nacionalidad: pe
    • Ver Perfil
Re: Obtener Origen De Datos En Clase
« Respuesta #2 en: Viernes 9 de Marzo de 2007, 16:52 »
0
Saludos amigos

Pues encontre la solucion a mi problema despues de mucho intentar jejeje bueno pues aqui lo comparto con uds se trata de lo siguiente:

Les hable que tenia 2 Proyectos: 1 EXE Estandar y 1 DLL ActiveX

Cuando ejecutaba el EXE Estandar y el DLL ActiveX cada uno en un proyecto separado, pues sucede que todo me funcionaba bien excepto que cuando trataba de recuperar los datos de mi clase que actuaba como origen de datos no se podia. Sucede que se me ocurrio agregar el proyecto DLL Active X a mi proyecto EXE Estandar y lo ejecute Zaz que creen FUNCIONO mi clase origen de datos que no me devolvia los datos ahora ya lo hacia, lo que aun no logro esclarecer es porque no se puede lograr lo mismo cuando ejecuto los proyectos por separado. Por favor si alguien puede resolver mi duda lo agradeceria bastante, por el momento ya logre lo que no podia pero aun esta en codigo la prueba realmente de fuego sera cuando sea implementado en la empresa a donde va a parar mi programa.

Bueno eso es todo compañeros, espero que este aporte sea de utilidad para uds

Saludos
zeekel

PD: El code lo posteare en cuanto corrija algunas cosas como para dejar un ejemplo funcional en su totalidad. :D
TP-Systems
our knowledge is our power!

9tnix

  • Miembro MUY activo
  • ***
  • Mensajes: 165
  • Nacionalidad: pe
    • Ver Perfil
Re: Obtener Origen De Datos En Clase
« Respuesta #3 en: Miércoles 28 de Marzo de 2007, 02:27 »
0
Saludos compañeros del foro

Aqui dejo el programa que intentaba hacer, espero que este pequeño proyecto acerca de el uso de clases que sean origenes de datos les sirva y si hay alguna otra idea la puedan postear para compartirla.

Gracias compañeros
Saludos zeekel

PD: El proyecto es un grupo de proyectos esta formado por 1 EXE Estandar y 1 DLL ActiveX asi que no lo carguen por separado usa una base de datos de access.
El mensaje contiene 1 archivo adjunto. Debes ingresar o registrarte para poder verlo y descargarlo.
TP-Systems
our knowledge is our power!