Grazie !
Ci sono arrivato a colpi di debug ...
Nel programma in questione, ho 9 TMemo.
Per ognuna di esse lancio una funzione che contiene questa istruzione:
WrkMemo.VertScrollBar.Position:=Riga;
Con "Riga" che corrisponde alla penultima riga della memo e che è sempre > di zero. Ho verificato in debug che il valore di Riga è corretto.
L'intera funzioncina che contiene quell'istruzione è dentro una try/except, proprio per evitare che dia errori.
Quando la lancio, solo per una di queste TMemo, nel momento in cui esegue quell'istruzione probabilmente va storto qualcosa, ma invece di andare nella "except", chiude il programma
Credo che sia un bug, ma non saprei nemmeno come segnalarlo, visto che il comportamento è comunque "strano"
Ciao !
Ahhh, io non uso le scrollbar ... in Delphi non è pubblicata quella proprietà (magari sono rimasto indietro io).
Per posizionarmi su una specifica riga io uso (funziona in Windows):
procedure GoToLine(Memo: TMemo; NumeroRiga: Integer);
begin
// Riga esistente ?
if (NumeroRiga >= 0) and (NumeroRiga < Memo.Lines.Count) then
begin
// Restituisce l'indice del carattere iniziale della riga
Memo.SelStart := Memo.Perform(EM_LINEINDEX, NumeroRiga, 0);
// Azzero la selezione
Memo.SelLength := 0;
end;
end;
//Uso:
GoToLine(Memo1, 35);