• Viernes 4 de Julio de 2025, 09:28

Mostrar Mensajes

Esta sección te permite ver todos los posts escritos por este usuario. Ten en cuenta que sólo puedes ver los posts escritos en zonas a las que tienes acceso en este momento.


Temas - xouba

Páginas: [1]
1
C# / Problema de Framework utilizar mi aplicación en otros ordenadores
« en: Jueves 19 de Enero de 2012, 02:02 »
Buenas! He mirado en otros temas pero no he conseguido solucionar mi problema. Resumiendo. Tengo una aplicación generada en modo release (dos archivos, la aplicación.exe y una biblioteca dll), en mi ordenador funciona perfectamente, pero tengo instalado visual studio 2010 y las bibliotecas que esto conlleva.
Pues bien en otros ordenadores como es lógico, le instalo el framework 4.0 client profile para ejecutar mi aplicación, en unos funciona sin problema y en otro me da un error de llamada a la dll.
Agradecería cualquier ayuda, muchas gracias!!!

2
C/C++ / messageBox error lnk2028
« en: Sábado 24 de Diciembre de 2011, 16:05 »
Hola a todos, espero estar en el foro correcto ya que mi duda es la siguiente. He realizado una solución en visual studio 2010 que consta de un proyecto de biblioteca de clases en c++(mi Entrenar.dll) y un proyecto de windows forms en c# (la interfaz). He utilizado dll(import)de la siguiente manera.

Entrenar.h
Código: C++
  1.  
  2. #pragma once
  3.  
  4. using namespace System;
  5.  
  6.  
  7.  
  8. extern "C"
  9. {
  10.         __declspec(dllexport) int __cdecl Error(char* Mensaje,char* Titulo, int  tipo);
  11. }
  12.  
  13. class __declspec(dllexport) Func_Exportadas
  14.         {
  15.         public:
  16.                 static int Error    (char* Mensaje,char* Titulo, int  tipo);
  17. };

Entrenar.cpp
Código: C++
  1. #include "Stdafx.h"
  2. #include <windows.h>
  3. #include <stdlib.h>
  4. #include <stdio.h>
  5. #include <math.h>
  6. #include <time.h>
  7. #include "Entrenar.h"
  8.  
  9. int  Error          (char* Mensaje, char* Titulo, int  tipo)    {return Func_Exportadas::Error(Mensaje,Titulo,tipo);};
  10.  
  11.  
  12. int  Func_Exportadas::Error(char* Mensaje,char* Titulo,int tipo)
  13. {      
  14.        
  15.        
  16.         LPCTSTR Mensaje_Cast;
  17.         Mensaje_Cast=(LPCTSTR)Mensaje;
  18.         LPCTSTR Titulo_Cast;
  19.         Titulo_Cast=(LPCTSTR)Titulo;
  20.        
  21.        
  22.  switch (tipo)
  23.  {
  24.                        
  25.         case  1:   MessageBox(NULL,Mensaje_Cast,Titulo_Cast,MB_ICONSTOP|
  26.                                                         MB_TASKMODAL);
  27.                                   return(FALSE);
  28.         case  2:   MessageBox(NULL,Mensaje_Cast,Titulo_Cast,MB_ICONINFORMATION|
  29.                                                         MB_TASKMODAL);
  30.                                   return(FALSE);
  31.         case  3:   MessageBox(NULL,Mensaje_Cast,Titulo_Cast,MB_ICONSTOP|
  32.                                                         MB_TASKMODAL);
  33.                                   return(FALSE);
  34.         case  4:   MessageBox(NULL,Mensaje_Cast,Titulo_Cast,MB_ICONEXCLAMATION|
  35.                                                         MB_TASKMODAL);
  36.                                   return(FALSE);
  37.                                  
  38.  }
  39.  return (TRUE);
  40. }

interfaz.cs
Código: C#
  1. namespace Interfaz
  2. {
  3.     public partial class Fm_Principal : Form
  4.     {
  5.  
  6.  
  7.         public Fm_Principal()
  8.         {
  9.             InitializeComponent();
  10.          }
  11.  
  12.  [DllImport("Entrenar.dll")]
  13.         public static extern int Error(string Mensaje, string Titulo, int tipo);
  14.  
  15. Error("Hola","prueba",2);
  16.    }
  17. }
  18.  

No pongo todo el código pues sería imposible, realizo todos los using necesarios en c# y el proyecto en sí funciona perfectamente en modo Debug. Ahora bien, al ponerlo en modo Release me surgen estos errores:



Error   1   error LNK2028: se hace referencia al símbolo (token) sin resolver (0A0000D3) "extern "C" int __stdcall MessageBoxW(struct HWND__ *,wchar_t const *,wchar_t const *,unsigned int)" (?MessageBoxW@@$$J216YGHPAUHWND__@@PB_W1I@Z) en la función "extern "C" int __cdecl MessageBox(struct HWND__ *,wchar_t const *,wchar_t const *,unsigned int)" (?MessageBox@@$$J0YAHPAUHWND__@@PB_W1I@Z)   C:\Users\Asus\Documents\Visual Studio 2010\Projects\Interfaz\Entrenar\Entrenar.obj   Entrenar
Error   2   error LNK2019: símbolo externo "extern "C" int __stdcall MessageBoxW(struct HWND__ *,wchar_t const *,wchar_t const *,unsigned int)" (?MessageBoxW@@$$J216YGHPAUHWND__@@PB_W1I@Z) sin resolver al que se hace referencia en la función "extern "C" int __cdecl MessageBox(struct HWND__ *,wchar_t const *,wchar_t const *,unsigned int)" (?MessageBox@@$$J0YAHPAUHWND__@@PB_W1I@Z)   C:\Users\Asus\Documents\Visual Studio 2010\Projects\Interfaz\Entrenar\Entrenar.obj   Entrenar
Error   3   error LNK1120: 2 externos sin resolver   C:\Users\Asus\Documents\Visual Studio 2010\Projects\Interfaz\Release\Entrenar.dll   Entrenar
Error   4   No se encuentra el ensamblado de referencia "C:\Users\Asus\Documents\Visual Studio 2010\Projects\Interfaz\Release\Entrenar.dll". Si este ensamblado lo genera otro de sus proyectos, asegúrese de compilar ese proyecto primero.   Interfaz

Tengo otras muchas funciones exportadas de la misma manera que funcionan perfectamente tanto en debug como en release el problema se centra en MessageBox ya que si comento el switch completo de Entrenar.cpp (es decir, no se llama nunca a messageBox) el código compila y se genera perfectamente en release, pero el problema es que me hace falta sí o sí. Siento mucho el rollo y agredecería cualquier ayuda o idea por pequeña que sea. Muchas gracias.

3
C# / Realizar Zoom en Chart
« en: Miércoles 14 de Diciembre de 2011, 16:50 »
¡Hola! Me gustaría saber si se puede realizar zoom en los gráficos de un control chart en visual studio 2010 y cómo.
Proyecto de Windows Forms en c#.

Gracias.

4
C/C++ / Exportar funciones desde c++
« en: Miércoles 6 de Julio de 2011, 01:23 »
Hola, estoy empezando a programar desde el entorno visual studio 2010. Mi duda es la siguiente:
Teniendo un código en c++ me gustaria utilizarlo como un dll, para ello creo un proyecto en visual c++ y como biblioteca de clases, entonces, entiendo que el código debe ubicarse en el archivo .cpp y si quiero exportar funciones a otro proyecto en otro lenguaje por ejemplo c# ¿Qué debería hacer? ¿Poner los enunciados de las funciones en el archivo .h?
Muchas gracias y perdón si repito post pero navengando por el foro no solucioné mis dudas.

Páginas: [1]