Foros Club Delphi

Foros Club Delphi (https://www.clubdelphi.com/foros/index.php)
-   OOP (https://www.clubdelphi.com/foros/forumdisplay.php?f=5)
-   -   Codigo en los Items de un Combobox (https://www.clubdelphi.com/foros/showthread.php?t=33685)

juanjoassenza 13-07-2006 21:22:31

Codigo en los Items de un Combobox
 
Necesitaria cargar en los items de un combobox tanto el codigo como la descripcion.

Por ejemplo al cargar clientes tengo que mostrar en el combo los nombres de los mismos, y en algun lado guardar si Id, de manera que al seleccionar uno de alguna forma pueda recuperar su id.

Gracias

roman 13-07-2006 21:29:10

¿Estás trabajando con bases de datos? Porque de ser así te convendría más usar un TDBLookupComboBox.

De lo contrario puedes usar la propiedad Items.Objects del combo:

Código Delphi [-]
ComboBox.Items.AddObject('pepe', Pointer(84));

y lo recuperas con

Código Delphi [-]
Id := Integer(ComboBox.Items.Objects[i]);

// Saludos

juanjoassenza 20-07-2006 03:49:40

Como decis es para cargar desde una base de datos. Pero usando TDBLookupComboBox, luego de hacer alguna transaccion se me cierra y tengo que andar abriendola de vuelta.. voy a probar con el tema de objetos que me decis?, despues hay que liberar objeto por objeto, o al liberar el combo se liberan los objetos?..

Gracias

Lepe 20-07-2006 10:19:03

Depende de lo que añadas al combo con AddObject:

- Si haces uso de Pointer(84), realmente lo que guardas es un número en el espacio disponible del combo, por tanto, no tienes que liberar nada.

- Si añades un objeto existente, Por ejemplo puedes añadir un TField de un Dataset, No deberías liberarlo, ya que ese TField lo ha creado Delphi y Delphi se encargará de Liberarlo.

- Si tú creas un objeto, con:
Código Delphi [-]
miObjeto := TMiClase.Create;
Aquí si debes liberarlo por código, y antes de hacer un Combo.Clear, ya que que al hacer el Clear, se borra los items y despues no tendrás acceso a los Objetos asociados.

Saludos


La franja horaria es GMT +2. Ahora son las 22:09:29.

Powered by vBulletin® Version 3.6.8
Copyright ©2000 - 2026, Jelsoft Enterprises Ltd.
Traducción al castellano por el equipo de moderadores del Club Delphi