FTP | CCD | Buscar | Trucos | Trabajo | Foros |
|
Registrarse | FAQ | Miembros | Calendario | Guía de estilo | Temas de Hoy |
|
Herramientas | Buscar en Tema | Desplegado |
|
#1
|
||||
|
||||
¿Y ese delete fSelRec que tienes en el case 0 no tendrá algo que ver?
LineComment Saludos |
#2
|
||||
|
||||
Fíjate que después del delete hay un return con lo que el resto del código no se ejecuta. No obstante después de poner el mensaje seguí haciendo pruebas y el problema no está dónde yo creía. He cambiado un poco la estructura del programa y lo he dejado así:
Código:
lPrueba = false; nFcargo = 1; switch (nListView) { case 0: delete fSelRec; Mensaje(3, "No seleccionó ningún recibo.", "Volver"); Button2Click(NULL); return; case 1: DecodeDate(dFcargo, Year, Month, Day); for (nItem = 0; nItem < fSelRec->Lista->Items->Count; nItem ++) if (fSelRec->Lista->Items->Item[nItem]->Checked && StrToInt(fSelRec->Lista->Items->Item[nItem]->SubItems->Strings[4]) == Month) { lPrueba = true; break; } } fForBln->Show(); fForBln->IniBarra("Preparando recibos"); fForBln->Barra->MaxValue = fSelRec->Lista->Items->Count; if (!lPrueba) { cAux = "¿Desea generar los recibos seleccionados con fecha de cargo " + dFcargo.FormatString("dd/mm/yyyy', '") + "\nen la fecha propuesta u otra fecha?"; nFcargo = Mensaje(2, cAux, dFcargo.FormatString("dd/mm/yyyy") + "\nFecha propuesta\nOtra fecha"); } Código:
void __fastcall TfForBln::IniBarra(AnsiString cMensaje) { Barra->MaxValue = 0; Barra->MinValue = 0; Barra->Progress = 0; LblBar->Caption = cMensaje; Application->ProcessMessages(); this->Refresh(); } |
#3
|
||||
|
||||
Sigo haciendo pruebas y dejando el código como en el primer mensaje que subí, con los dos case y el default, he comprobado que si ejecuta la llamada nFcargo = Mensaje(2,... también se "borra" el contenido del TLIstView; es como si por el simple hecho de llamar a otro formulario se borraran elementos del formulario activo.
|
#4
|
||||
|
||||
Aveces errores a distancia se manifiestas en zanas de código que no deberían y eso es porque la ejecusión en windows no es lineal l las fugas de memoria tienen efectos tardíos. Vigila lo que hace tu función Mensaje y eventos que puedan estar saltando y que usen mal algún puntero.
Sobre el fragmento con el delete: Código:
switch (nListView) { case 0: delete fSelRec; Mensaje(3, "No seleccionó ningún recibo.", "Volver"); Button2Click(NULL); return; Saludos. |
#5
|
||||
|
||||
Button2Click(NULL) es esto:
Código:
void __fastcall TfGenRec::Button2Click(TObject *Sender) { if (RadioGroup1->Enabled) this->Close(); else { FormCreate(NULL); MaxFec->OnExit = FechaExit; MinFec->OnExit = FechaExit; } return; } |
|
|
Temas Similares | ||||
Tema | Autor | Foro | Respuestas | Último mensaje |
Usar TServerSocket y TClientSocket para enviar "streams" más o menos "grandes" | dec | Internet | 9 | 04-08-2015 16:11:50 |
Mostrar un "Balloon Hint" usando un componente "TTrayIcon" | JuanOrtega | Varios | 3 | 29-11-2014 19:34:43 |
El programa se queda "colgado" mientras copia y luego "despierta" | NeWsP | OOP | 5 | 10-03-2010 22:05:40 |
El caracter "+" me desaparece | papulo | PHP | 1 | 09-03-2008 04:44:31 |
Necesito llamar a métodos de clases "hija" desde su clase "padre" | Flecha | OOP | 17 | 20-04-2007 00:03:53 |
|