Foros del Web » Programación para mayores de 30 ;) » C/C++ »

Fallo de Programa en WinAPI C++

Estas en el tema de Fallo de Programa en WinAPI C++ en el foro de C/C++ en Foros del Web. Holas; Estoy realizando un programa con Dev-C++ 4.9.9.0 , Sistema Operativo XP Profesional . Hasta el día de ayer no presentaba problema de ejecución, ahora ...
  #1 (permalink)  
Antiguo 22/02/2006, 17:17
 
Fecha de Ingreso: diciembre-2004
Ubicación: Iquique, Chile
Mensajes: 150
Antigüedad: 19 años, 4 meses
Puntos: 0
Fallo de Programa en WinAPI C++

Holas;

Estoy realizando un programa con Dev-C++ 4.9.9.0, Sistema Operativo XP Profesional.

Hasta el día de ayer no presentaba problema de ejecución, ahora me el siguiente error, y no se, a que se debe:

Código:
AppName: aserrio.exe   AppVer: 0.0.0.0   ModName: ntdll.dll
ModVer: 5.1.2600.0   Offset: 000036f9
Tengo una entrada de datos y por radio button se escoje la salida del resultado, el hecho es que el si apreto 5 ó 6 veces en diferentes radioo button el programa deja de responder, a esto en el Administrador de Tareas parte el programa con Uso de Memoria de 1636 KB, cuando selecciono los diferentes Radiobutton sube a unos 1716 KB, pero cuando llega al quinto selección el Uso de Memoria sube repentinamente a unos 2416 KB en este momento deja de funcionar.

Necesito saber que esta pasando, tengo que cambiar el compilador, si quieren ver el listado de argumentos que utilizo no hay problema.

En los radio button tengo procedimientos de ventana, los cuales consisten en fijar el cursor, en los eventos WM_LBUTTONDOWN cambio el cursor a una que simula que aprieta el radiobutton:

Código:
LRESULT CALLBACK Radio1Proc(HWND rmc,UINT msj, WPARAM wp,LPARAM lp)
{
    switch(msj)
    {
        case WM_SETCURSOR: SetCursor(lcr); return TRUE;
        case WM_LBUTTONDOWN:
            SetCursor(lcra);
            sf(Rad1);//-->function SetFocus()
            marca(Rad1,Rad2,Rad3,Rad4,Rad5);
            ew(VerVol,TRUE);//->function EnableWindow()
            return TRUE;
        case WM_KEYDOWN:
            if(wp == VK_TAB || wp == 40) sf(Rad2);
            if(wp == 38) sf(Cantidad);
            if(wp == 13) { marca(Rad1,Rad2,Rad3,Rad4,Rad5); ew(VerVol,TRUE); }
            break;
    }
    return CallWindowProc(NRad1Proc,rmc,msj,wp,lp);
}
En WM_CREATE en el WinProc :

Código:
Rad1 = CreateWindowEx(0,ctl[3]," m3",str_rad,20,197,45,15,hwnd,(HMENU)0,inst,NULL);
Rad2 = CreateWindowEx(0,ctl[3]," p3",str_rad,20,220,41,15,hwnd,(HMENU)0,inst,NULL);
Rad3 = CreateWindowEx(0,ctl[3]," pp",str_rad,20,245,40,15,hwnd,(HMENU)0,inst,NULL);
Rad4 = CreateWindowEx(0,ctl[3]," P'm",str_rad,20,270,50,15,hwnd,(HMENU)0,inst,NULL);
Rad5 = CreateWindowEx(0,ctl[3]," P''m",str_rad,20,295,52,15,hwnd,(HMENU)0,inst,NULL);

NRad1Proc = (WNDPROC)SetWindowLong(Rad1,GWL_WNDPROC,(LONG)Radio1Proc);
ProcRadio1 = (FARPROC)GetWindowLong(Rad1,GWL_WNDPROC);
Si necesitan más datos pidan...

Nos vemos.
  #2 (permalink)  
Antiguo 23/02/2006, 13:16
Avatar de Eternal Idol  
Fecha de Ingreso: mayo-2004
Ubicación: Lucentum
Mensajes: 6.192
Antigüedad: 20 años
Puntos: 74
¿Lo depuraste? Seguro que te sera mucho mas facil siguiendo la ejecucion del programa que leyendo el codigo.
__________________
¡Peron cumple, Evita dignifica! VIVA PERON CARAJO
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 20:18.