Propietario de un objeto en una función externa
En BCB 6 tengo una función externa:
Código:
void Ayuda(TForm *Formulario, TCustomEdit *Edit) Me explico: Si voy por la ayuda de poblaciones además del nombre de la población saco su código postal y la provincia, pero al tratar de asignarlos a los Tedit correspondientes me da un error de compilación. Tengo este código: Código:
Form->Poblacion->Text = Query->FieldByName("Nombre")->AsString; ¿Cómo puedo llamar a un objeto de un formualrio en una función del estilo de la mostarda, teniendo en cuenta que en su declaración va implícito el formulario en que están los objetos? Había pensado a través de Owner o Parent del objeto, pero no se me ocurre cómo. |
Hola Angel.
La verdad es que no me queda para nada clara la situación... El código que mostras y que te genera el error, pareciera no tener relación con la función Ayuda que mencionas mas arriba. Supongo que Población es un TEdit, pero ¿ Donde está declarado ? ¿ Quién es su parent ? Saludos :) |
Hola ecfisa. A ver: Ayuda es un TForm que tiene un TListView y dos TButton nada más. Poblacion es un TEdit declarado en el formulario que va en la definición de la función: Supongamos que ese formulario se llamase Ficha; sería entonces Ficha->Poblacion, pero como esa función Ayuda la uso en distintos formularios por eso puse en la definición ese TForm *Formulario. Tengo un formulario Personas con esos datos (población, c. postal, provincia, etc.) y otro con los datos del propietario del programa que también lleva esos datos pero de dicha persona.
|
ademas pregunto yo algo mas. Supongo que el TEdit está en el form que le metes como parámetro asi que su parent será el form y mi pregunta es ¿Para que le pasa el puntero al TEdit si ya le pasas el del form y desde ese puedes acceder a todo lo que este contenga?
|
Cita:
|
Hola Angel.
Está un poco mas claro pero todavía no alcanzo a entender bién la situación... De todos modos fijate si te sirve de este modo. form invocador de la ayuda: Código PHP:
.h Código PHP:
Código PHP:
|
y digo yo, ¿No te interesa mas usar como parametrosel puntero al form y un enum(poblacion=1,nombre,apellido...) y dentro de la funcion usar un switch que dependiendo del valor use un edit u otro? Por ejemplo Ayuda(fomulario,localidad); y con eso te quitas complicaciones.
|
Yo tampoco tengo muy clara la situación pero si ayuda la declaras así:
Código PHP:
Código PHP:
|
Hola,
En este caso como la funcion Ayuda es genericay ademas esta compilada de forma externa te puede ser comodo utilizar los metodos FindComponent. Esto te va a permitir de forma dinamica acceder a cualquier objeto que tengas en el formulario que le pasas a la funcion ayuda. Código PHP:
|
La franja horaria es GMT +2. Ahora son las 11:41:23. |
Powered by vBulletin® Version 3.6.8
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
Traducción al castellano por el equipo de moderadores del Club Delphi