Club Delphi  
    FTP   CCD     Buscar   Trucos   Trabajo   Foros

Retroceder   Foros Club Delphi > Otros entornos y lenguajes > C++ Builder
Registrarse FAQ Miembros Calendario Guía de estilo Temas de Hoy

Respuesta
 
Herramientas Buscar en Tema Desplegado
  #1  
Antiguo 17-10-2014
Avatar de Angel.Matilla
Angel.Matilla Angel.Matilla is offline
Miembro
 
Registrado: ene 2007
Posts: 1.350
Poder: 19
Angel.Matilla Va por buen camino
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)
que uso para la ayuda de varios campos (códigos postales, pobleciones, provincias, etc.). Me funciona a la perfección salvo en el caso de las pobalciones.

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;
Form->Poblacion->Tag  = Query->FieldByName("Registro")->AsInteger;
donde Formulario es el formulario en que se encuentran los TEdit y que va en la declaración de la función, pero al compilar me dice que 'Poblacion' is not a member of 'TForm'

¿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.

Última edición por Angel.Matilla fecha: 17-10-2014 a las 18:52:38.
Responder Con Cita
  #2  
Antiguo 17-10-2014
Avatar de ecfisa
ecfisa ecfisa is offline
Moderador
 
Registrado: dic 2005
Ubicación: Tres Arroyos, Argentina
Posts: 10.508
Poder: 36
ecfisa is a splendid one to beholdecfisa is a splendid one to beholdecfisa is a splendid one to beholdecfisa is a splendid one to beholdecfisa is a splendid one to beholdecfisa is a splendid one to beholdecfisa is a splendid one to behold
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
__________________
Daniel Didriksen

Guía de estilo - Uso de las etiquetas - La otra guía de estilo ....
Responder Con Cita
  #3  
Antiguo 17-10-2014
Avatar de Angel.Matilla
Angel.Matilla Angel.Matilla is offline
Miembro
 
Registrado: ene 2007
Posts: 1.350
Poder: 19
Angel.Matilla Va por buen camino
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.
Responder Con Cita
  #4  
Antiguo 17-10-2014
Avatar de aguml
aguml aguml is offline
Miembro
 
Registrado: may 2013
Posts: 885
Poder: 12
aguml Va por buen camino
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?
Responder Con Cita
  #5  
Antiguo 17-10-2014
Avatar de Angel.Matilla
Angel.Matilla Angel.Matilla is offline
Miembro
 
Registrado: ene 2007
Posts: 1.350
Poder: 19
Angel.Matilla Va por buen camino
Cita:
Empezado por aguml Ver Mensaje
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?
Para saber sobre que campo estoy pidiendo la ayuda.
Responder Con Cita
  #6  
Antiguo 17-10-2014
Avatar de ecfisa
ecfisa ecfisa is offline
Moderador
 
Registrado: dic 2005
Ubicación: Tres Arroyos, Argentina
Posts: 10.508
Poder: 36
ecfisa is a splendid one to beholdecfisa is a splendid one to beholdecfisa is a splendid one to beholdecfisa is a splendid one to beholdecfisa is a splendid one to beholdecfisa is a splendid one to beholdecfisa is a splendid one to behold
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:
...
#include "Unit2.h"  // Formulario de ayuda

void __fastcall TForm1::Button1Click(TObject *Sender)
{
  
Poblacion->Text "un texto";
  
Poblacion->Tag  1;
  if (
frmAyuda == NULL)
    
frmAyuda = new TfrmAyuda(this);
  
frmAyuda->Show();
  
frmAyuda->Ayuda(Form1Poblacion);
}
... 
Ayuda.

.h
Código PHP:
...
class 
TfrmAyuda : public TForm
{
  
__published:    // IDE-managed Components
  
...
  
void __fastcall FormClose(TObject *SenderTCloseAction &Action);
  
void __fastcall FormDestroy(TObject *Sender);
 public:        
// User declarations
  
void __fastcall Ayuda(TFormFormTEditEdit);
 ...

form:
Código PHP:
...
void __fastcall TfrmAyuda::Ayuda(TFormFormTEditEdit)
{
  
// aquí lo que desees hacer con los argumentos
  
ShowMessage(Form->Name " - " Edit->Name " ,contenido: "+Edit->Text);
}

void __fastcall TfrmAyuda::FormClose(TObject *SenderTCloseAction &Action)
{
  
Action caFree;
}

void __fastcall TfrmAyuda::FormDestroy(TObject *Sender)
{
  
frmAyuda NULL;

Saludos
__________________
Daniel Didriksen

Guía de estilo - Uso de las etiquetas - La otra guía de estilo ....
Responder Con Cita
  #7  
Antiguo 17-10-2014
Avatar de aguml
aguml aguml is offline
Miembro
 
Registrado: may 2013
Posts: 885
Poder: 12
aguml Va por buen camino
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.
Responder Con Cita
Respuesta



Normas de Publicación
no Puedes crear nuevos temas
no Puedes responder a temas
no Puedes adjuntar archivos
no Puedes editar tus mensajes

El código vB está habilitado
Las caritas están habilitado
Código [IMG] está habilitado
Código HTML está deshabilitado
Saltar a Foro

Temas Similares
Tema Autor Foro Respuestas Último mensaje
Quien es el propietario del dominio? rgstuamigo Varios 3 09-08-2011 20:41:33
Diez ventajas del software libre y propietario Arcioneo La Taberna 11 26-09-2007 23:29:50
Cambiar el propietario de un archivo ingel Varios 8 13-10-2005 21:15:19
Obtener usuario propietario de un proceso walrus API de Windows 2 06-09-2005 17:48:13
WinZip cambia de propietario. marcoszorrilla Noticias 0 18-07-2005 22:15:17


La franja horaria es GMT +2. Ahora son las 08:17:28.


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
Copyright 1996-2007 Club Delphi