Italian community of Lazarus and Free Pascal

Programmazione => Generale => Topic aperto da: Nicola - Giugno 29, 2015, 06:01:45 pm

Titolo: TRadioGroup
Inserito da: Nicola - Giugno 29, 2015, 06:01:45 pm
Ciao al gruppo:
ho creato un RadioGroup aggiungendo gli elementi da programma:
Codice: [Seleziona]
for I:=1 to idxAz do RgAz.Items.Add(ArrAz[I].CogAzi);
gli elementi vengono correttamente creati;
ora vorrei cancellare i vari elementi cosi facendo:
Codice: [Seleziona]
for I:= RgAz.items.count-1  downto 0 do RgAz.items.Delete(i);
ma mi segnala questo errore "il progetto ha sollevato una eccezzione di classe 'External:SIGSEGV' all'indirizzo
FF808080'
proprio non capisco perchè, gli elementi erano 3 vengono mostrati corettamente, ma poi si blocca.
Grazie per l'aiuto
Titolo: Re:TRadioGroup
Inserito da: bonmario - Giugno 29, 2015, 07:49:09 pm
Ciao, ho appena provato con questo codice e non mi da nessun errore:
Codice: [Seleziona]
procedure TForm1.Button1Click(Sender: TObject);
const idxAz=3;
var i:integer;
begin
  for I:=1 to idxAz do RgAz.Items.Add(IntToStr(I));
  for I:= RgAz.items.count-1  downto 0 do RgAz.items.Delete(i);
end;

Lazarus 1.5 r49211 FPC 2.6.4 x86_64-linux-gtk 2

Se disabilito la riga delle cancellazioni, ho i miei 3 radio.

Ciao, Mario
Titolo: Re:TRadioGroup
Inserito da: Nicola - Giugno 29, 2015, 10:31:09 pm
Non capisco, se faccio una prova in un applicativo esterno, funziona perfettamente,
mistero fitto  :'(
Titolo: Re:TRadioGroup
Inserito da: nomorelogic - Giugno 30, 2015, 10:06:02 am
per vuotare completamente la lista ti conviene fare in questo modo
Codice: [Seleziona]
while RgAz.items.Count > 0 do
    RgAz.items.Delete(0);
Titolo: Re:TRadioGroup
Inserito da: Nicola - Giugno 30, 2015, 10:40:55 am
Cosi' ho risolto; grazie  ;)