Ver Mensaje Individual
  #16  
Antiguo 10-05-2011
mizzard mizzard is offline
Miembro
NULL
 
Registrado: feb 2011
Posts: 100
Reputación: 14
mizzard Va por buen camino
Hola aams01,

Al final tras muchos intentos consigo quitar el foco, pero estableciéndoselo a otro elemento no funciona. Buscando por el foro he encontrado este que sí que funciona (aporte de escafandra):

Código:
    TGridRect NoRect;
    NoRect.Top = NoRect.Left = NoRect.Right = NoRect.Bottom = -1;
    frmMain->StrGridTique->Selection=NoRect;
El caso es que funciona, pero nuevamente vuelvo a tener problemas. En mi StringGrid cambio a la opcion de editar cuando hago clic en una columna, en el resto de casos deshabilito la opcion de editar (esto parece que funciona bien).

El error en concreto sale cuando al terminar de realizar rellenar el StringGrid y de realizar las operaciones pertinentes (únicamente cuando edito un dato en una celda, si no lo edito no sale el error), quito la celda seleccionada, la limpio de información y entonces aparece un mensaje de error, a continuación muestro el codigo y cuándo aparece el mensaje:

Cuando termino de operar con el StringGrid... (hasta aquí sin problemas) hago lo siguiente:

Código:
quitarFocoGrid(); // función que contiene el código de arriba

// Limpiamos el Grid de información
// RowCount-2 porque no me interesa la fila fija ni la que se crea despues de la que contiene informacion (esto probado a parte funciona)
        for (int cont = frmMain->StrGridTique->RowCount-2; cont > 0; cont--) {
            frmMain->StrGridTique->Rows[cont]->Clear();
            frmMain->StrGridTique->RowCount=frmMain->StrGridTique->RowCount-1;
        }
        frmMain->StrGridTique->Cells[0][0]="";
        frmMain->StrGridTique->Cells[1][0]="";
        frmMain->StrGridTique->Cells[2][0]="";
        frmMain->StrGridTique->Cells[3][0]="";

// Mostramos un mensaje informativo
Application->MessageBoxA(L"Puede retirar la tarjeta.",L"Información",MB_OK+ MB_ICONINFORMATION);
Y cuando le doy a aceptar sale el siguiente mensaje de error:

EListError with message 'List indexof bounds (-1)'

He probado a poner la de quitar el foco al final del borrado de la tabla y pasa lo mismo pero el mensaje sale en otra parte del código, por lo que el problema es el mismo.

Alguna idea de cómo puedo hacer el borrado y quitar la fila seleccionada (o al revés) sin que dé este problema??

Muchas gracias y un saludo!

Última edición por mizzard fecha: 10-05-2011 a las 11:47:44.
Responder Con Cita