Pregunta Envoltorio ActiveX AYUDA!!!

  • jueves, 10 de marzo de 2011 18:40
     
     

    Maestros,

    les cuento hace unas semanas me llego una DLL que no podia ser referenciada a un proyecto .net

    despues de un estudio me di cuenta que la dll estava echa para un excel, mi pregunta es se podra convertir a una dll para .net?

    en caso de que no se pueda, me consegi los fuentes (.h,.cpp,.lib) pero no se como convertirla a dll he buscado referencias en la web pero nada parecido a un HOW TO dll.

     

    he tratado de crear un proyecto en vc++ pero cuando incluyo los archivos fuentes y compilo me dice que no logra encontrar los .h, cuando logro solucionar eso, me pide mas .h como por ejemplo el stdio.h math.h y termine adjuntandole casi toda la biblioteca de .h, no se me ocurre mas 

     

    alguna ayuda!!

     

    ayuda!!!!

Todas las respuestas

  • viernes, 11 de marzo de 2011 12:55
     
     

    Como no te expliques un poco mejor me parece que va a ser imposible ayudarte

     

  • viernes, 11 de marzo de 2011 17:41
     
     

    Como no te expliques un poco mejor me parece que va a ser imposible ayudarte

     

    Maestro que no entiendes?

    1.- tengo que armar una dll para un proyecto web (ASP.NET) , con los fuentes descritos mas arriba (.h,.cpp) y no se como, he buscado pero no encuentro nada parecido.

    2.- alguien me recomendo crear un envoltorio en activeX, pero tampoco se como.

    alguna ayuda?

  • viernes, 11 de marzo de 2011 18:19
     
     

    Maestro que no entiendes?

    1.- tengo que armar una dll para un proyecto web (ASP.NET) , con los fuentes descritos mas arriba (.h,.cpp) y no se como, he buscado pero no encuentro nada parecido.

    2.- alguien me recomendo crear un envoltorio en activeX, pero tampoco se como.

    alguna ayuda?

  • lunes, 14 de marzo de 2011 8:42
     
     

    Ahora ya he entendido lo que quieres hacer :)

    Para generar una DLL ActiveX con Visual C++, creo que la forma más sencilla es crear un proyecto ATL

     

  • lunes, 14 de marzo de 2011 12:31
     
     

    Ahora ya he entendido lo que quieres hacer :)

    Para generar una DLL ActiveX con Visual C++, creo que la forma más sencilla es crear un proyecto ATL

     

    Gracias maestro por responder, 

    he estado trantado de crear una dll mediante un proyecto de tipo aplicación de consola CLR, pero cuando trato de ejecutar el proyecto, me pide las librerías que usan los archivos (.h,.cpp del que tengo que crear la dll, entregados por mi cliente), hasta el momento todo bien, le he aregado los archivos que pide, las cuales son librerias estandar,(vectos.h,dwrite.h,etc), pero he llegado al punto donde dan algunos errores como por ejemplo:

    Error 2 error C2953: 'std::pair' : ya se ha definido la plantilla de clase

    los cuales no he podido resolver, tratare de hacer lo que me dices, por lo demas tengo una consulta.

    puedo crear un envoltorio activeX a una dll??? si se puede alguien sabe como?

    gracias!

  • lunes, 14 de marzo de 2011 14:22
     
     

    Pero tu no quieres crear una aplicación de consola, sino una DLL ActiveX, ¿no?

    En ese caso, como te he dicho antes, creo que lo más sencillo es crear un proyecto nuevo de tipo proyecto ATL

     

  • lunes, 14 de marzo de 2011 15:08
     
     

    Maestro, he creado el proyecto, le agrego los fuentes que me enviaron,pero no consigo compilar, 

     

    me saltan los siguientes errores (horrores)

    Error 2 error C2653: 'CWindowIterator' : no es un nombre de clase o espacio de nombres c:\documents and settings\asilva\escritorio\2inter\src bagoptim\src\cwindowiterator.cpp 6 inter

    Error 3 error C4430: falta el especificador de tipo; se presupone int. Nota: C++ no admite default-int c:\documents and settings\asilva\escritorio\2inter\src bagoptim\src\cwindowiterator.cpp 7 inter

    Error 4 error C2550: 'CWindowIterator' : las listas de inicializadores de constructor sólo se permiten en las definiciones de constructor c:\documents and settings\asilva\escritorio\2inter\src bagoptim\src\cwindowiterator.cpp 8 inter

    Error 5 error C2065: 'm_hwnds' : identificador no declarado c:\documents and settings\asilva\escritorio\2inter\src bagoptim\src\cwindowiterator.cpp 9 inter

    Error 6 error C2065: 'm_nAlloc' : identificador no declarado c:\documents and settings\asilva\escritorio\2inter\src bagoptim\src\cwindowiterator.cpp 10 inter

    Error 8 error C2653: 'CWindowIterator' : no es un nombre de clase o espacio de nombres c:\documents and settings\asilva\escritorio\2inter\src bagoptim\src\cwindowiterator.cpp 13 inter

    Error 9 fatal error C1903: no se puede recuperar de errores anteriores; se detiene la compilación c:\documents and settings\asilva\escritorio\2inter\src bagoptim\src\cwindowiterator.cpp 13 inter

    Error 11 fatal error C1083: No se puede abrir el archivo incluir: 'DEBagBuild.h': No such file or directory c:\documents and settings\asilva\escritorio\2inter\src bagoptim\src\debagbuild.cpp 9 inter

    Error 13 error C2065: 'gsl_histogram' : identificador no declarado c:\documents and settings\asilva\escritorio\2inter\src bagoptim\src\histogram.cpp 31 inter

    Error 14 error C2065: 'hist' : identificador no declarado c:\documents and settings\asilva\escritorio\2inter\src bagoptim\src\histogram.cpp 31 inter

    Error 15 error C2062: tipo 'double' inesperado c:\documents and settings\asilva\escritorio\2inter\src bagoptim\src\histogram.cpp 32 inter

    Error 16 error C2143: error de sintaxis : falta ';' delante de '{' c:\documents and settings\asilva\escritorio\2inter\src bagoptim\src\histogram.cpp 33 inter

    Error 17 error C2447: '{' : falta el encabezado de función (¿lista formal de estilo anterior?) c:\documents and settings\asilva\escritorio\2inter\src bagoptim\src\histogram.cpp 33 inter

    Error 19 error C2653: 'CSolverThread' : no es un nombre de clase o espacio de nombres c:\documents and settings\asilva\escritorio\2inter\src bagoptim\src\wkrthreads.cpp 8 inter

    Error 20 error C4430: falta el especificador de tipo; se presupone int. Nota: C++ no admite default-int c:\documents and settings\asilva\escritorio\2inter\src bagoptim\src\wkrthreads.cpp 8 inter

    Error 21 error C2550: 'CSolverThread' : las listas de inicializadores de constructor sólo se permiten en las definiciones de constructor c:\documents and settings\asilva\escritorio\2inter\src bagoptim\src\wkrthreads.cpp 9 inter

    Error 23 error C2653: 'CSolverThread' : no es un nombre de clase o espacio de nombres c:\documents and settings\asilva\escritorio\2inter\src bagoptim\src\wkrthreads.cpp 11 inter

    Error 24 error C2065: 'DESolver' : identificador no declarado c:\documents and settings\asilva\escritorio\2inter\src bagoptim\src\wkrthreads.cpp 11 inter

    Error 25 error C2065: 'pDESolver' : identificador no declarado c:\documents and settings\asilva\escritorio\2inter\src bagoptim\src\wkrthreads.cpp 11 inter

    Error 26 error C2448: 'CSolverThread' : el inicializador de estilo de función parece ser una definición de función c:\documents and settings\asilva\escritorio\2inter\src bagoptim\src\wkrthreads.cpp 12 inter

    Error 27 error C2143: error de sintaxis : falta ';' delante de ':' c:\documents and settings\asilva\escritorio\2inter\src bagoptim\src\wkrthreads.cpp 12 inter

    Error 28 error C2065: 'pDESolver' : identificador no declarado c:\documents and settings\asilva\escritorio\2inter\src bagoptim\src\wkrthreads.cpp 12 inter

    Error 29 error C2448: 'pSolver' : el inicializador de estilo de función parece ser una definición de función c:\documents and settings\asilva\escritorio\2inter\src bagoptim\src\wkrthreads.cpp 13 inter

    Error 30 error C2653: 'CSolverThread' : no es un nombre de clase o espacio de nombres c:\documents and settings\asilva\escritorio\2inter\src bagoptim\src\wkrthreads.cpp 15 inter

    Error 31 error C2065: 'LPDESTARTUPINFO' : identificador no declarado c:\documents and settings\asilva\escritorio\2inter\src bagoptim\src\wkrthreads.cpp 17 inter

    Error 32 error C2146: error de sintaxis : falta ';' delante del identificador 'si' c:\documents and settings\asilva\escritorio\2inter\src bagoptim\src\wkrthreads.cpp 17 inter

    Error 33 error C2065: 'si' : identificador no declarado c:\documents and settings\asilva\escritorio\2inter\src bagoptim\src\wkrthreads.cpp 17 inter

    Error 34 error C2065: 'CEvent' : identificador no declarado c:\documents and settings\asilva\escritorio\2inter\src bagoptim\src\wkrthreads.cpp 18 inter

    Error 35 error C2065: 'eventFinish' : identificador no declarado c:\documents and settings\asilva\escritorio\2inter\src bagoptim\src\wkrthreads.cpp 18 inter

    Error 36 error C2065: 'si' : identificador no declarado c:\documents and settings\asilva\escritorio\2inter\src bagoptim\src\wkrthreads.cpp 20 inter

    Error 37 error C2065: 'DESOLVERTHREADPARAM' : identificador no declarado c:\documents and settings\asilva\escritorio\2inter\src bagoptim\src\wkrthreads.cpp 20 inter

    Error 38 error C2059: error de sintaxis : ')' c:\documents and settings\asilva\escritorio\2inter\src bagoptim\src\wkrthreads.cpp 20 inter

    Error 39 error C2065: 'eventFinish' : identificador no declarado c:\documents and settings\asilva\escritorio\2inter\src bagoptim\src\wkrthreads.cpp 21 inter

    Error 40 error C2065: 'DESOLVERTHREADPARAM' : identificador no declarado c:\documents and settings\asilva\escritorio\2inter\src bagoptim\src\wkrthreads.cpp 21 inter

    Error 41 error C2059: error de sintaxis : ')' c:\documents and settings\asilva\escritorio\2inter\src bagoptim\src\wkrthreads.cpp 21 inter

    Error 42 error C2065: 'pSolver' : identificador no declarado c:\documents and settings\asilva\escritorio\2inter\src bagoptim\src\wkrthreads.cpp 22 inter

    Error 43 error C2227: el operando izquierdo de '->Solve' debe señalar al tipo class/struct/union/generic c:\documents and settings\asilva\escritorio\2inter\src bagoptim\src\wkrthreads.cpp 22 inter

    Error 44 error C2065: 'si' : identificador no declarado c:\documents and settings\asilva\escritorio\2inter\src bagoptim\src\wkrthreads.cpp 22 inter

    Error 45 error C2227: el operando izquierdo de '->dwMaxGenerations' debe señalar al tipo class/struct/union/generic c:\documents and settings\asilva\escritorio\2inter\src bagoptim\src\wkrthreads.cpp 22 inter

    Error 46 error C2065: 'si' : identificador no declarado c:\documents and settings\asilva\escritorio\2inter\src bagoptim\src\wkrthreads.cpp 22 inter

    Error 47 error C2227: el operando izquierdo de '->dwEnergyEvalPeriod' debe señalar al tipo class/struct/union/generic c:\documents and settings\asilva\escritorio\2inter\src bagoptim\src\wkrthreads.cpp 22 inter

    Error 48 error C2065: 'si' : identificador no declarado c:\documents and settings\asilva\escritorio\2inter\src bagoptim\src\wkrthreads.cpp 23 inter

    Error 49 error C2227: el operando izquierdo de '->minEnergyGradient' debe señalar al tipo class/struct/union/generic c:\documents and settings\asilva\escritorio\2inter\src bagoptim\src\wkrthreads.cpp 23 inter

    Error 50 error C2065: 'eventFinish' : identificador no declarado c:\documents and settings\asilva\escritorio\2inter\src bagoptim\src\wkrthreads.cpp 24 inter

    Error 51 error C2227: el operando izquierdo de '->Set' debe señalar al tipo class/struct/union/generic c:\documents and settings\asilva\escritorio\2inter\src bagoptim\src\wkrthreads.cpp 24 inter

    Error 52 error C2653: 'CSolverUiThread' : no es un nombre de clase o espacio de nombres c:\documents and settings\asilva\escritorio\2inter\src bagoptim\src\wkrthreads.cpp 36 inter

    Error 53 error C4430: falta el especificador de tipo; se presupone int. Nota: C++ no admite default-int c:\documents and settings\asilva\escritorio\2inter\src bagoptim\src\wkrthreads.cpp 38 inter

    Error 54 error C2550: 'CSolverUiThread' : las listas de inicializadores de constructor sólo se permiten en las definiciones de constructor c:\documents and settings\asilva\escritorio\2inter\src bagoptim\src\wkrthreads.cpp 43 inter

    Error 55 error C2065: 'bIsWindowAllocHere' : identificador no declarado c:\documents and settings\asilva\escritorio\2inter\src bagoptim\src\wkrthreads.cpp 44 inter

    Error 57 error C2653: 'CSolverUiThread' : no es un nombre de clase o espacio de nombres c:\documents and settings\asilva\escritorio\2inter\src bagoptim\src\wkrthreads.cpp 47 inter

    Error 58 error C2065: 'pst' : identificador no declarado c:\documents and settings\asilva\escritorio\2inter\src bagoptim\src\wkrthreads.cpp 47 inter

    Error 59 error C2065: 'hInst' : identificador no declarado c:\documents and settings\asilva\escritorio\2inter\src bagoptim\src\wkrthreads.cpp 47 inter

    Error 60 error C2275: 'HINSTANCE' : uso no válido de este tipo como expresión c:\documents and settings\asilva\escritorio\2inter\src bagoptim\src\wkrthreads.cpp 47 inter

    Error 61 error C2275: 'UINT' : uso no válido de este tipo como expresión c:\documents and settings\asilva\escritorio\2inter\src bagoptim\src\wkrthreads.cpp 48 inter

    Error 62 error C2146: error de sintaxis : falta ')' delante del identificador 'resId' c:\documents and settings\asilva\escritorio\2inter\src bagoptim\src\wkrthreads.cpp 48 inter

    Error 63 error C4430: falta el especificador de tipo; se presupone int. Nota: C++ no admite default-int c:\documents and settings\asilva\escritorio\2inter\src bagoptim\src\wkrthreads.cpp 48 inter

    Error 64 error C2365: 'CSolverUiThread' : nueva definición; la definición anterior era 'función' c:\documents and settings\asilva\escritorio\2inter\src bagoptim\src\wkrthreads.cpp 48 inter

    Error 65 error C2078: hay demasiados inicializadores c:\documents and settings\asilva\escritorio\2inter\src bagoptim\src\wkrthreads.cpp 48 inter

    Error 66 error C2275: 'UINT' : uso no válido de este tipo como expresión c:\documents and settings\asilva\escritorio\2inter\src bagoptim\src\wkrthreads.cpp 48 inter

    Error 67 error C2059: error de sintaxis : ')' c:\documents and settings\asilva\escritorio\2inter\src bagoptim\src\wkrthreads.cpp 48 inter

    Error 68 error C2065: 'pst' : identificador no declarado c:\documents and settings\asilva\escritorio\2inter\src bagoptim\src\wkrthreads.cpp 49 inter

    Error 69 error C4430: falta el especificador de tipo; se presupone int. Nota: C++ no admite default-int c:\documents and settings\asilva\escritorio\2inter\src bagoptim\src\wkrthreads.cpp 49 inter

    Error 70 error C2550: 'void __cdecl `dynamic initializer for 'pSolverThread''(void)' : las listas de inicializadores de constructor sólo se permiten en las definiciones de constructor c:\documents and settings\asilva\escritorio\2inter\src bagoptim\src\wkrthreads.cpp 49 inter

    Error 71 error C4430: falta el especificador de tipo; se presupone int. Nota: C++ no admite default-int c:\documents and settings\asilva\escritorio\2inter\src bagoptim\src\wkrthreads.cpp 49 inter

    Error 72 error C2065: 'pst' : identificador no declarado c:\documents and settings\asilva\escritorio\2inter\src bagoptim\src\wkrthreads.cpp 50 inter

    Error 73 error C2227: el operando izquierdo de '->pSolver' debe señalar al tipo class/struct/union/generic c:\documents and settings\asilva\escritorio\2inter\src bagoptim\src\wkrthreads.cpp 50 inter

    Error 74 error C4430: falta el especificador de tipo; se presupone int. Nota: C++ no admite default-int c:\documents and settings\asilva\escritorio\2inter\src bagoptim\src\wkrthreads.cpp 50 inter

    Error 75 error C2371: 'pSolver' : nueva definición; tipos básicos distintos c:\documents and settings\asilva\escritorio\2inter\src bagoptim\src\wkrthreads.cpp 50 inter

    Error 76 fatal error C1903: no se puede recuperar de errores anteriores; se detiene la compilación c:\documents and settings\asilva\escritorio\2inter\src bagoptim\src\wkrthreads.cpp 50 inter


  • martes, 15 de marzo de 2011 11:42
     
     

    ¡Qué barbaridad! Te faltan un motón de #includes, ¿seguro que tienes todos los ficheros de código fuente del proyecto completo?

  • martes, 15 de marzo de 2011 12:49
     
     

    Si, pero me pide las otras librerias(basicas) conio.h, stdio.h, etc. el problema es que los que descargo de internet tienen problemas de declaraciones y cosas asi entonces todo se complica

    de todo lo que he leido, al parecer estos son lo pasos basicos

    para poder utilizar las librias tengo que darle una cabecera llamada dllimpor() a las funciones, pero te imaginas darle ese encabezado a todoas las librerias que me faltan?

    tiene que haber otra forma no?

  • martes, 15 de marzo de 2011 14:22
     
     

    Creo que no vas por el camino correcto.

    Esas librerías básicas conio.h, stdio.h, etc. son los archivos de inclusión estándar de C++ y no te lo deberías descargar de Internet. Se instalan con el Visual Studio.

    Yo en tu lugar buscaría un buen tutorial de VC++ para aprender todos estos conceptos básicos.