Ver Mensaje Individual
  #1 (permalink)  
Antiguo 08/12/2007, 17:46
chcma
 
Fecha de Ingreso: junio-2003
Ubicación: Asturias
Mensajes: 2.429
Antigüedad: 21 años, 9 meses
Puntos: 7
C# 2.0 Duda extraña sobre DataTables tipados y proyectos.

Buenas noches foreros,

Tengo una solucion con cuatro proyectos:
PROYECTO PRESENTACION
PROYECTO NEGOCIO
PROYECTO DATOS
PROYECTO GENERAL


Todos tienen una referencia a PROYECTO GENERAL, en el cual, entre otras cosas tengo un DataSet creado en modo diseño con DataTables tipados creados en el diseñador.


En PROYECTO DATOS, tengo una funcion para llamar a procedimientos almacenados que se pasa por referencia un DataTable:
Código:
public bool SPLectura(string txtNombreSP, ref DataTable tbDatos){..


Desde PROYECTO NEGOCIO, creo una instancia de mi DataTable tipado (tbUsuarios) e intento pasar este DataTable tipado por referencia a la funcion del PROYECTO DATOS:
Código:
//Creo la instancia del DataTable
dsIntercambiacasa.tusuariosDataTable tbDataTable = new dsIntercambiacasa.tusuariosDataTable();

//Creo el objeto de PROYECTO DATOS
HerramientasBD.clsHerramientaBd obj = new HerramientasBD.clsHerramientaBd(HerramientasBD.TipoAcceso.PostgreSql, txtCadenaConexion);

//Llamo a la funcion de lectura de procedimiento almacenado:
obj.SPLectura("", ref tbDataTable);

Bueno, pues en esta ultima linea me sale el siguiente error:
Código:
Error	1	The best overloaded method match for 'HerramientasBD.clsHerramientaBd.SPLectura(string, ref System.Data.DataTable)' has some invalid arguments	C:\Documents and Settings\Administrador\Mis documentos\Visual Studio 2008\Projects\IntercambioCasas\IntercambioCasas.Negocio\ClsLogin.cs	26	13	IntercambioCasas.Negocio
Error	


2	Argument '2': cannot convert from 'ref IntercambioCasas.General.dsIntercambiacasa.tusuariosDataTable' to 'ref System.Data.DataTable'	C:\Documents and Settings\Administrador\Mis documentos\Visual Studio 2008\Projects\IntercambioCasas\IntercambioCasas.Negocio\ClsLogin.cs	26	35	IntercambioCasas.Negocio

Sin embargo, si creo una funcion en el mismo PROYECTO NEGOCIO, que reciba como parametro un DataTable, no me da error:
Código:
dsIntercambiacasa.tusuariosDataTable tbDataTable = new dsIntercambiacasa.tusuariosDataTable();

MiPrueba(ref tbDataTable );

private void MiPrueba(ref DataTable tbDatos)
{
}


Saben por que no me hace la conversion de DataTables entre dos proyectos diferentes y por que si me la hace cuando la funcion esta dentro del mismo proyecto?


En fin, espero puedan ayudarme, por que me estoy comiendo demasiado la cabeza y no se por que es...
__________________
Charlie.

Última edición por chcma; 08/12/2007 a las 17:54