FTP | CCD | Buscar | Trucos | Trabajo | Foros |
|
Registrarse | FAQ | Miembros | Calendario | Guía de estilo | Temas de Hoy |
|
Herramientas | Buscar en Tema | Desplegado |
#1
|
|||
|
|||
Objecto como parámetro
Tengo el siguiente código que se encarga de llenar un TComboBoxEx con los datos de un dataset ya definido con el fin de agregar una opción que es "Todos" y ademas usar el campo ID como identificador en el arreglo generado para los elementos del TComboBoxEx:
Código:
procedure TfmPrincipal.CargarBloques(); begin if dmDatos.qyBloques.Active = False then dmDatos.qyBloques.Active := True else dmDatos.qyBloques.Refresh; if dmDatos.qyBloques.RecordCount > 0 then begin dmDatos.qyBloques.First; cbBloques.Items.Clear; cbDetBloques.Items.Clear; cbBloques.Items.AddObject('Todos', TObject(0)); while dmDatos.qyBloques.Eof = False do begin cbBloques.Items.AddObject(dmDatos.qyBloquesDESCRIPCION.AsString, TObject(dmDatos.qyBloquesID.AsInteger)); dmDatos.qyBloques.Next; end; cbBloques.ItemIndex := 0; end; end; Mi duda es, si ese código lo necesito para cargar otros combos en otras formas, como puedo hacer para que este sea independiente del TComboBoxEx que este llenando, pasando el TComboBoxEx que voy a llenar como parámetro. De antemano, Gracias. |
#3
|
|||
|
|||
Objeto como Variable
Roman,
Haciendo honor a tu cita, como bien comentas si lo paso de esta manera funciona correctamente dentro de la misma unidad, pero como te comento tengo varios forms que cargan el mismo dataset, como hago para que estos utilicen el mismo procedimiento. De antemano, Gracias. |
#4
|
||||
|
||||
En estos casos, yo sigo unos sencillos pasos:
(1) Eliminar el procedimiento del formulario, para hacerlo no dependiente de esa clase. Crear la cabecera fuera de la clase del form. Esto lo cambias por esto otro:
En la parte de Interface deberás definir esa función:
Ahora si compilas, es posible que te devuelva fallos de "objetos" que no encuentra. Los que antes estaban en la misma clase del form y ahora no. Esos serán los que debas pasar como parámetros. (2) Crear los parámetros. Si falla cbBloques, deberás crear un parámetro para ese objeto (como a comentado Román); Le añades una "A" delante para diferenciarlo:
Y vas repitiendo el proceso con el resto de variables que "fallen". Cuando ya los tengas todos sustituídos, para hacer la llamada has de usar los objetos que has cambiado anteriormente.
__________________
Germán Estévez => Web/Blog Guía de estilo, Guía alternativa Utiliza TAG's en tus mensajes. Contactar con el Clubdelphi P.D: Más tiempo dedicado a la pregunta=Mejores respuestas. |
|
|
Temas Similares | ||||
Tema | Autor | Foro | Respuestas | Último mensaje |
Que objecto es ejecutado cuando se llama una opcion del menu | ASAPLTDA | OOP | 1 | 20-05-2008 18:29:04 |
¿Cómo pasar la clave de conexión como parámetro en una bd de mysql? | D@byt | Conexión con bases de datos | 2 | 30-01-2007 13:52:21 |
Objecto OLE. Access | Noela | Tablas planas | 6 | 14-01-2005 18:19:56 |
Como obtener y pasar como parametro un Documento XML | Ana Daniela | Internet | 1 | 21-08-2004 02:35:04 |
Propiedad DataSource del objecto TCrystalReport | jlfuentes | Impresión | 0 | 20-08-2004 11:23:03 |
|