Problema com listview

Delphi

28/08/2009

No OnSelectItem do meu ListView eu faço assim:

var
  s : String;
begin
  s := ListView.Selected.caption;
....
esse código da erro de violação de acesso. Como contornar isso?


Paulo

Paulo

Curtidas 0

Respostas

Emerson Nascimento

Emerson Nascimento

28/08/2009

tente assim:
var
  s : String;
begin
  if ListView.SelCount > 0 then
    s := ListView.Selected.caption;


e assim:
var
  s: string;
begin
  s := Item.Caption;


e veja qual resultado mais lhe agrada.


GOSTEI 0
Pestana_

Pestana_

28/08/2009

[b:392e8dd45e]emerson[/b:392e8dd45e], tente fazer este teste.

procedure TfrmPedVenda.Button2Click(Sender: TObject);
begin
   if ListView1.SelCount > 0 then
     ShowMessage(ListView1.Selected.Caption);
end;


ao clicar no item do listView e depois no botão o código é executado exatamente como deveria ser, mas se clicar mais de uma vez no botão o foco que estava no listView some e fica no botão. O problema é que eu não entendo que este código ( if ListView1.SelCount > 0 then ) acusa que tem item selecionado. como assim?

estou perguntando que na época eu passei por este problema, o que eu fiz foi um looping para verificar se tem item selecionado.


Obrigado!


GOSTEI 0
POSTAR