Firemonkey: Ler a propriedade SelectedValue de um combobox ou listbox.

1,686 views
Skip to first unread message

Jousival Vilela

unread,
May 22, 2014, 1:32:57 PM5/22/14
to dug...@googlegroups.com

Saudações!

Estou utilizando Delphi XE5 e num projeto Firemonkey Desktop não consigo ler a propriedade SelectedValue de um combobox ou listbox. 

Para exemplificar criei um projeto simples, utilizando um PrototypeBindSource como fonte de dados, um combobox, um botão e um label, onde via livebindings liguei 
o campo ColorsName1 (campo com o texto a ser apresentado) a propriedade Item.text do combobox e o campo AlphaColor1 (campo id a ser retornado) a propriedade Item.LookupData e para que seja retornado o id ao label, liguei a propriedade SelectedValue do combo a propriedade Text do label. Estes relacionamentos pode ser observado no arquivo em anexo.


O Problema é que não consigo ler via código a propriedade SelectedValue do combo box. 

O Mais proximo que cheguei foi:

if Assigned(ComboBox1.Selected) then
ShowMessage(IntToStr(Integer(ComboBox1.Selected.Data)));

ou

ShowMessage(ComboBox1.ListItems[ComboBox1.ItemIndex].ItemData.Text);

Mas estão retornando vazio ao invés do id do registro.

Agradeço a quem poder ajudar.

Imagem1.jpg

Rodrigo Duarte

unread,
May 28, 2014, 1:24:30 PM5/28/14
to dug...@googlegroups.com
Jousival,


Estou desenvolvendo um módulo mobile de uma aplicação desktop, encontrei dificuldades em utilizar o ComboBox1.Items.AddObject, quando vou adicionar o objeto no Combo, ele dá um erro de Segmentation falt(11).
Você está utilizando o ComboBox1.Items.AddObject?

Abraço.

Jorge Mesquita

unread,
May 29, 2014, 2:32:13 PM5/29/14
to dug...@googlegroups.com
Tente ligar no livebinding o sync do combobox 
--
--
Você recebeu esta mensagem porque está inscrito no "DUG-RS -
Delphi Users Group Rio Grande do Sul" em Grupos do Google.
Acesse o nosso BLOG em http://www.dug-rs.org e contribua com a comunidade Delphi do Rio Grande do Sul
Para postar neste grupo, envie um e-mail para dug...@googlegroups.com
Para cancelar a sua inscrição neste grupo, envie um e-mail para
dug-rs-un...@googlegroups.com
Para ver mais opções, visite este grupo em
http://groups.google.com.br/group/dug-rs?hl=pt-BR

Twitter: @dugrs
http://www.facebook.com/groups/dugrs/
http://www.Vimeo.com/dugrs

---
You received this message because you are subscribed to the Google Groups "DUG-RS - Delphi Users Group Rio Grande do Sul" group.
To unsubscribe from this group and stop receiving emails from it, send an email to dug-rs+un...@googlegroups.com.
For more options, visit https://groups.google.com/d/optout.

Rodrigo Duarte

unread,
May 29, 2014, 3:53:54 PM5/29/14
to dug...@googlegroups.com
Meu exemplo é simples: Crio um projeto mobile e adiciono um combobox e na sequencia, no create do combo faço um for bem simples, como abaixo:

procedure TForm2.FormCreate(Sender: TObject);
var
i: Integer;
begin
i := 0;
for I := 1 to 10 do
begin
ComboBox1.Items.AddObject(IntToStr(i), TObject(i));
end;
end;

Já na primeira passada lança a exceção. Não estou utilizando o live binds.
Reply all
Reply to author
Forward
0 new messages