Ver Mensaje Individual
  #4 (permalink)  
Antiguo 13/08/2009, 08:53
Avatar de GabrielAizcorbe
GabrielAizcorbe
 
Fecha de Ingreso: mayo-2009
Ubicación: En la luna.
Mensajes: 30
Antigüedad: 15 años
Puntos: 3
Pregunta Respuesta: Mezclar VB y C# AYUDAAAAA

Hola Sico,

Segun entiendo tu tienes un proyecto C# que hace uso de una libreria dll.log, la cual tu usas para declarar una variable en tu funcion de C#.


Código Algunas preguntas para orientarme::
Ver original
  1. Te aseguraste en el proyecto VB / Propiedades en la parte de referencias de haber agregado el proyecto tuyo en C# ?
  2. Tienes un Using de ese proyecto de C# en la cabecera del archivo de VB?
  3. Tienes un Using de dll.log en la cabecera del archivo de VB?
  4.  
  5. La libreria dll.log la has creado tu o es de un tercero ?
  6. Has probado a compilar solamente el proyecto de C# ?


Yo primero aislaria el problema, lease, hacer una solucion nueva con dos proyectos nuevos uno VB y otro C# y reduciria al minimo todo el codigo, digase la funcion C# primero tener un parametro solo string, y llamarla desde VB y asegurarme que anda, luego desde dentro de la funcion de C# declarar una varialbe dll.log eventos = new dll.log e intentar usar esa variable por ejemplo

Código:
public string MiFuncion (int numero, string cadena) 
{
     dll.log eventos = new dll.log     
     
     eventos.NoSeQuePropiedad="xxxx";
     eventos.AlgunaFuncionQueMuestreAlgo();
}
y ver si compila el solo (prj. C#) luego la solucion completa, usarlo desde VB... luego agregar una clase dentro del proyecto C# "MiClase" con un atributo y ponerla como parametro y usarla dentro de la funcion, p.ej.:

Código:
public class MiClase 
{
   private int numero;
   private string nombre;

   // Constructor por defecto:
   public MiClase() 
   {
      nombre = "N/A";
   }

   // Constructor:
   public MiClase(string nombre, int numero) 
   {
      this.nombre = nombre;
      this.numero = numero;
   }

   // Metodo de impresion:
   public void PrintMiClase() 
   {
      Console.WriteLine("Nombre: {0} - Numero: {1}.", nombre, numero);
   }
}

}


y entonces cambiar la signature de la funcion:

Código:
public string MiFuncion (int numero, string cadena, ref MiClase eventos) 
{
     dll.log eventos = new dll.log     
     
     eventos.NoSeQuePropiedad=eventos.nombre;
     eventos.NoSeQueOtraPropiedad=eventos.numero;
     eventos.AlgunaFuncionQueMuestreAlgo();
}


y ahi entonces la llamas desde VB, o sea ir aumentando la complejidad de a poco, porque intuyo que dll.log o no esta bien declarada o hay algun problema de uso.

Por ahi vamos

PD: lo otro que puedes hacer si quieres es mandarme un PM y vemos.

Última edición por GabrielAizcorbe; 13/08/2009 a las 09:15