PDA

Ver la Versión Completa : Acceder a Objetos desde una funcion


darkmir
28-11-2013, 16:50:04
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:


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

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

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


Saludos :)

darkmir
28-11-2013, 18:50:53
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.