bom eu faco dessa maneira ...

  TMyComboObject = class
   private
     { Private declarations }
     FId: Integer;
     FNome: String;
     FPrd : String;
   public
     { Public declarations }
     constructor Create(Id: Integer; Nome: String ; Prd:String);
     property Id: Integer read fId;
     property Name: String read FNome;
     property Prd : String read FPrd;
   end;



constructor TMyComboObject.Create(Id: Integer; Nome: String; Prd:String);
begin
   fId := Id * 15;
   fNome := Name;
   fPrd  := Prd;
end;

procedure TfrmCadativ.ClearComboBox;
var
   I: Integer;
begin
   if ComboBox1.Items.Count > 0 then
      begin
        for I := 0 to ComboBox1.Items.Count - 1 do
          TMyComboObject(ComboBox1.Items.Objects[I]).Free;
        ComboBox1.Clear;
      end;
end;



para carregar ...

      while not query.Eof do
         begin
           inc(idx);
           ComboBox1.Items.AddObject(query.Fields[1].AsString, 
TMyComboObject.Create(idx,query.Fields[1].AsString,query.Fields[0].AsString));

            query.Next;
         end;


att Marcio / Blumenau-SC.






At 10:36 3/5/2010 -0300, you wrote:
>
>
>Pessoal,
>
>Tenho esta estrutura para guardar mais de um valor no ComboBox:
>
>cbxUsuarios.Properties.Items.AddObject(dtsOracle.FieldByName('LOGIN').AsString,
> 
>
>TObject(dtsOracle.FieldByName('ID_USUARIO').AsInteger));
>
>Para recuperar este valor faco o seguinte:
>
>intIDUsuario :=
>LongInt(cbxUsuarios.Properties.Items.Objects[cbxUsuarios.ItemIndex]);
>
>O problema estah em: Como liberar estes objetos da memoria?
>
>Nao sei fazer o FREE para esta estrutura.
>
>OBS.:
>Se ajudar, peguei esta dica em:
><http://www.scalabium.com/faq/dct0094.htm>http://www.scalabium.com/faq/dct0094.htm
>
>Obrigado.
>MuriloCunha
>
>


[As partes desta mensagem que não continham texto foram removidas]

Responder a