Pregunta: | 998 - CARGAR EXE´S DE C++ QUE RETORNAN VALORES EN VB |
Autor: | Luigi |
Hola soy Luigi estudiante de Ingeniería de Sistemas. Estoy actualmente realizando un programador de memorias EPROM (hardware y su respectivo software)controlado por el puerto paralelo LPT1, el hardware ya está creado, el software también está listo en C y Visual Basic 5.0, pero la velocidad de lectura en VBasic(con la librería InpOut32.dll) es muy pobre(el código ya está ´optimizado´ para funcionar lo más rápido posible), la lectura completa de una memoria dura alrededor de 3 horas. En C el código está escrito en asembler con(asm{})yes mucho más rápido. La idea es crear una función que reciba y retorne valores en C, compilarla y llamar el EXE desde Vbasic y tomar el valor retornado. Ya probé con el SHELL de Windows y no he podido tomar valores devueltos, además de que abre la ventana del emulador de DOS de windows. Quisiera saber si existe otra forma de llamar ejecutables de DOS que retornen valores o si existe otra manera de corregir el problema de la velocidad en Visual basic. |
Respuesta: | Alejandro de Jongh Puente |
Mira, yo tuve un problema similar conectando unas cajas registradoras a mi PC. Al final termine siguiendo los pasos: 1- Cree una DLL en Visual C++, con todas las fns de la tarjeta de conexion (en tu caso lo puedes hacer + facilmente, basta con incluir el .obj de tu programacion en ASM) 2- Hice la interfaz de VB, y en ella utilizo las fns de la DLL que habia construido. Francamente no se si esa es la solucion optima, pero fue lo mejor que pude encontrar |