Forum > LCL

[Risolto] TStringGrid dispettosa

(1/6) > >>

Maxx:
Buonasera!

Qualcuno, cortesemente, mi può testare queste istruzioni (che mi mandano in crash il programma come se NON ESISTESSE la proprietà .RowCount di StringGrid)?

     if Grid_Incassi.RowCount > 1 then;
        for i := 1 to Grid_Incassi.RowCount do
         Grid_Incassi.Rows.Delete(i); 

Posizionandomi su .RowCount durante il debug mi esce in pop-up il messaggio:

Grid_Incassi.RowCount = Type TSTRINGGRID has no component named ROWCOUNT.

nomorelogic:
Il problema dovrebbe essere nell'uso del for (che è un loop predeterminato). Prova ad usare il while che verifica la correttezza della condizione prima di ogni iterazione.

Editato:
Correzione errore da autocompletamento

xinyiman:
Inoltre un consiglio, quando cancellate le cose partite sempre dall'ultimo elemento e poi tornate indietro. Qualcosa simile a


--- Codice: ---
i:= Grid_Incassi.RowCount-1;
while i>=0 do
begin
    Grid_Incassi.Rows.Delete(i);
    Dec(i);
end; 


--- Termina codice ---
Altrimenti quando cancelli l'id 0, id 1 diventa l'id 0 e tu con il ciclo cancelli l'id 1 mangiandoti una voce dalla cancellazione e così via.

Maxx:
Ciao xinyi.
Hai fatto una prova su strada del ciclo che hai dato a me? Perché copiando pari-pari (Ctrl-C, Ctrl-V :) ) il tuo, dà gli stessi errori sintattici che dava a me:

urepdata.pas(69,27) Error: Wrong number of parameters specified for call to "GetRows"
grids.pas(10623,28) Error: Found declaration: GetRows(LongInt):TStrings;

A questo punto non vorrei avere una versione sballata del pacchetto LCL.
Grazie, as usual!

xinyiman:
No, io ho scritto quel codice per indicarti che la strada corretta per cancellare è il ciclo a ritroso. Non ho provato. Era solo un consiglio.

Comunque quando si hanno questi problemi è buona norma che chi chiede aiuto crei un piccolo sorgente che isola la problematica e lo alleghi alla richiesta d'aiuto. Così chi ti vuole aiutare possa eseguire lo stesso codice che usi tu.

Navigazione

[0] Indice dei post

[#] Pagina successiva

Vai alla versione completa