Foros Club Delphi

Foros Club Delphi (https://www.clubdelphi.com/foros/index.php)
-   C++ Builder (https://www.clubdelphi.com/foros/forumdisplay.php?f=13)
-   -   Acceder a Objetos desde una funcion (https://www.clubdelphi.com/foros/showthread.php?t=84727)

darkmir 28-11-2013 16:50:04

Acceder a Objetos desde una funcion
 
Hola a todos estoy intentando acceder a un Listbox y un Edit desde una función , pero me manda un error de declaración, mi código , en si genérico es el siguiente:

Código:

...
...
void Leer();
//-----------------------------------------------------
void __fastcall TForm1::ListBox1Click(TObject *Sender)
{

}
//------------------------------------------------------
void __fastcall TForm1::Edit1Change(TObject *Sender)
{

}
//-----------------------------------------------------
void Leer()
{

  AnsiString mensaje = "Hola Mundo";

  ListBox1->Items->Add(mensaje);
  Edit1->Text = mensaje;

}

pero me sale este error :

[bcc32 Error] Unit1.cpp(64): E2451 Undefined symbol 'Listbox1'
[bcc32 Error] Unit1.cpp(65): E2451 Undefined symbol 'Edit1'

Creo que es por que estan como privados y no puedo llamarlos desde otra función, podria hacerlo pasando parámetros "void Leer(char *mensaje)" pero no es lo que exactamente quiero, sino que la misma función haga el llamado en tiempo real del Listbox1 y Edtit1.

Gracias y Saludos.

ecfisa 28-11-2013 18:41:18

Holar darkmir.

Según tu código, estas intentando llamar desde una función no-miembro a miembros de la instancia Form1 sin especificar esta última.

Tendrías que hacer:
Código:

void Leer()
{
  AnsiString mensaje = "Hola Mundo";

  Form1->ListBox1->Items->Add(mensaje);
  Form1->Edit1->Text = mensaje;
}

Saludos :)

darkmir 28-11-2013 18:50:53

Gracias.
 
Hola ecfisa,

Nuevamente gracias,mas bien disculpa por las preguntas que parecen tan simples, yo programaba en consola nada más, y recien estoy entrando a programar en esto de objetos, eventos,formularios,etc. y estoy que me baso mi estudio solo por internet.

Saludos.^\||/

aguml 09-12-2013 00:12:41

puedes crear una funcion mas generica a la que le metas como parametro un puntero al objeto y el texto con lo que tu le indicas a la funcion a que objeto le quieres insertar el texto y que texto insertar.


La franja horaria es GMT +2. Ahora son las 19:56:57.

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