C/Visual C - Control OCX (Rejilla)

 
Vista:

Control OCX (Rejilla)

Publicado por Informatico Desesperado (12 intervenciones) el 03/01/2002 20:23:53
Hola
Tengo un problema, he creado una aplicacion en VisualC++ 6.0 y me funciona en mi maquina, pero cuando la he pasado a la gente le da el error =>Debug Assertion Failure!!!

He estado haciendo pruebas y he visto q el error lo da al crear un Control activo OCX, para mas datos una Rejilla. He probado a ejecutar el programa con todas las librerias q necesita, pero sigue fallando.

Quisiera sabes como puedo quitar este error, si es actualizando las librerias del sistemas por si existe algun bug, si hay q introducir hango en el setting del proyecto o q leche hay q haces. Es desesperante hacer un programa y no poder usarlo pq solo me funciona a mi...

Gracias

Un saludo Javi
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder

RE:Control OCX (Rejilla)

Publicado por Diego G. Ruiz (41 intervenciones) el 04/01/2002 17:02:16
¿Probaste registrando el OCX de la rejilla en las computadoras donde querés ejecutar tu programa?

Si la rejilla se llama rejilla.ocx, tienes que instarla con tu programa en la computadora cliente y luego ejecutar el comando "regsvr32 rejilla.ocx" para registrarla. Si estás utilizando un instalador tipo installshield lo debería hacer automáticamente.

Saludos.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

Muchas Gravias FUNCIONAA!!!!

Publicado por Javi (3 intervenciones) el 04/01/2002 19:24:55
Otra cosa mas... se puede insertar este .ocx en el programa... para no tener q registrar el ocx
MUCHAS GRACIAS :)
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

RE:Muchas Gravias FUNCIONAA!!!!

Publicado por Diego G. Ruiz (41 intervenciones) el 04/01/2002 20:06:40
Me alegro que te haya funcionado!

Si utilizas un instalador tipo installshield express el mismo se encarga de registrar los componentes OCX.

Sino podés hacerlo por código de la siguiente manera:

Primero utilizas la función LoadLibrary para cargar el control, después la función GetProcAddress para obtener la dirección del "DllRegisterServer" y después llamás a esta última función.

Te paso un pedazo de código que saqué de la documentación del Visual Studio que ejemplifica esto:

HINSTANCE hLib = LoadLibrary(pszDllName);

if (hLib < (HINSTANCE)HINSTANCE_ERROR)
{
DisplayMessage(IDS_LOADLIBFAILED, pszDllName); //unable to load DLL
iReturn = FAIL_LOAD; //unable to load DLL
}

// Find the entry point.
(FARPROC&)lpDllEntryPoint = GetProcAddress(hLib,
_T(“DllRegisterServer”));
if (lpDllEntryPoint != NULL)
(*lpDllEntryPoint)();
else
//unable to locate entry point


Además hay un artículo en http://accesobinario.neptra.com en la sección Windows API/MFC que ejemplifica algo similar.

Espero que te sirva de algo. Saludos.

Diego G. Ruiz
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar