• Domingo 15 de Diciembre de 2024, 11:35

Autor Tema:  Problemas De Ejecución Programa En C++  (Leído 1236 veces)

nostromo

  • Miembro MUY activo
  • ***
  • Mensajes: 134
    • Ver Perfil
    • http://win32cpp.cjb.net
Problemas De Ejecución Programa En C++
« en: Miércoles 22 de Febrero de 2006, 23:49 »
0
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: Text
  1.  
  2. AppName: aserrio.exe   AppVer: 0.0.0.0   ModName: ntdll.dll
  3. ModVer: 5.1.2600.0   Offset: 000036f9
  4.  
  5.  

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: Text
  1.  
  2. LRESULT CALLBACK Radio1Proc(HWND rmc,UINT msj, WPARAM wp,LPARAM lp)
  3. {
  4.     switch(msj)
  5.     {
  6.         case WM_SETCURSOR: SetCursor(lcr); return TRUE;
  7.         case WM_LBUTTONDOWN:
  8.             SetCursor(lcra);
  9.             sf(Rad1);//-->function SetFocus()
  10.             marca(Rad1,Rad2,Rad3,Rad4,Rad5);
  11.             ew(VerVol,TRUE);//->function EnableWindow()
  12.             return TRUE;
  13.         case WM_KEYDOWN:
  14.             if(wp == VK_TAB || wp == 40) sf(Rad2);
  15.             if(wp == 38) sf(Cantidad);
  16.             if(wp == 13) { marca(Rad1,Rad2,Rad3,Rad4,Rad5); ew(VerVol,TRUE); }
  17.             break;
  18.     }
  19.     return CallWindowProc(NRad1Proc,rmc,msj,wp,lp);
  20. }
  21.  
  22.  

En WM_CREATE en el WinProc :

Código: Text
  1.  
  2. Rad1 = CreateWindowEx(0,ctl[3]," m3",str_rad,20,197,45,15,hwnd,(HMENU)0,inst,NULL);
  3. Rad2 = CreateWindowEx(0,ctl[3]," p3",str_rad,20,220,41,15,hwnd,(HMENU)0,inst,NULL);
  4. Rad3 = CreateWindowEx(0,ctl[3]," pp",str_rad,20,245,40,15,hwnd,(HMENU)0,inst,NULL);
  5. Rad4 = CreateWindowEx(0,ctl[3]," P'm",str_rad,20,270,50,15,hwnd,(HMENU)0,inst,NULL);
  6. Rad5 = CreateWindowEx(0,ctl[3]," P''m",str_rad,20,295,52,15,hwnd,(HMENU)0,inst,NULL);
  7.  
  8. NRad1Proc = (WNDPROC)SetWindowLong(Rad1,GWL_WNDPROC,(LONG)Radio1Proc);
  9. ProcRadio1 = (FARPROC)GetWindowLong(Rad1,GWL_WNDPROC);
  10.  
  11.  

Si necesitan más datos pidan...

Nos vemos.

Eternal Idol

  • Moderador
  • ******
  • Mensajes: 4696
  • Nacionalidad: ar
    • Ver Perfil
Re: Problemas De Ejecución Programa En C++
« Respuesta #1 en: Jueves 23 de Febrero de 2006, 08:40 »
0
¿Lo depuraste? Seguro que te sera mucho mas facil siguiendo la ejecucion del programa que leyendo el codigo.

Nacional y Popular En mi país la bandera de Eva es inmortal.


Queremos una Argentina socialmente justa, económicamente libre y  políticamente soberana.
¡Perón cumple, Evita dignifica!


La mano invisible del mercado me robo la billetera.

nostromo

  • Miembro MUY activo
  • ***
  • Mensajes: 134
    • Ver Perfil
    • http://win32cpp.cjb.net
Re: Problemas De Ejecución Programa En C++
« Respuesta #2 en: Jueves 23 de Febrero de 2006, 21:56 »
0
Holas:

Pasa que llevo una bitácora de los códigos que ingreso tal día, antes del fallo no habia colocado lo siguiente:

free()

En el evento click del static o bien; WM_LBUTTONDOWN, capturo 4 edit y los coloco en una variable strEsp, etc....:

GetWindowText(Esp,strEsp,10);

Al final de los calculos y el correspodiente resultado libero los string que capturo, el problema era ese, los coloque o los emplee muy mal.

Ahora funciona muy bien y en el administrador de tareas la cantidad de memoria que ocupa esta estable, antes subia de forma alarmante. Hasta que quedaba colgado mi programa.

En cuanto a la depuración no funciona muy bien y por flojera no actualizo a la versión 5 del Dev-C++.

Nos vemos.