![]() |
![]() |
| Paypal | FTP | CCD | Buscar | Trucos | Trabajo | Foros |
|
|||||||
| Registrarse | FAQ | Miembros | Calendario | Guía de estilo | Buscar | Temas de Hoy | Marcar Foros Como Leídos |
![]() |
|
|
Herramientas | Buscar en Tema | Desplegado |
|
|
|
#1
|
||||
|
||||
|
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();
}
|
|
#2
|
||||
|
||||
|
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.
![]() |
|
#3
|
||||
|
||||
|
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. |
|
#4
|
||||
|
||||
|
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;
}
|
![]() |
| Herramientas | Buscar en Tema |
| Desplegado | |
|
|
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 |
|