Foros del Web » Programación para mayores de 30 ;) » C/C++ »

[SOLUCIONADO] hurgar en un formulario desde otro formulario

Estas en el tema de hurgar en un formulario desde otro formulario en el foro de C/C++ en Foros del Web. ando actualizando una antigua bobada. como me daba problemas me encapriche en poner un Memo (una cuadricula donde escribir simple) para hacer en el un ...
  #1 (permalink)  
Antiguo 21/10/2013, 06:27
 
Fecha de Ingreso: octubre-2013
Mensajes: 2
Antigüedad: 10 años, 6 meses
Puntos: 0
hurgar en un formulario desde otro formulario

ando actualizando una antigua bobada.

como me daba problemas me encapriche en poner un Memo (una cuadricula donde escribir simple) para hacer en el un trace.

pero no hay manera, le di la vuelta a internet, mire ejemplos,,,

por elegancia las tipas del programa estan en cn.cpp, con dos objetos (no vine a cuento pero son TablaClass, y MainClass), desde aqui quiero escribir en el Memo del formulario1, pero no hay manera,

y es logico, Memo1 es cosa del objeto Form1,

Memo1->Lines->Add("paso por aqui");

esto funciona en Unit1.cpp , pero no desde mi cn.cpp por ser otros objetos, y eso que le puse a todo todos los includes que pude.

Form1->Memo1->Lines->Add("paso por aqui");

esto lo COMPILA en los dos lados, logico, pero DA ERROR "access violation at address,,,," en el mio, no en el Unit1.cpp

y es que me hago un lio con los punteros, a este nivel ya no llego.

Código:
#include <Classes.hpp>
#include <Controls.hpp>
#include <StdCtrls.hpp>
#include <Forms.hpp>
//---------------------------------------------------------------------------
class TForm1 : public TForm
{
__published:	// IDE-managed Components
        TMemo *Memo1;
        void __fastcall FormCreate(TObject *Sender);
private:	// User declarations
public:		// User declarations
        __fastcall TForm1(TComponent* Owner);
};
//---------------------------------------------------------------------------
extern PACKAGE TForm1 *Form1;
//---------------------------------------------------------------------------
os dejo parte del unit.h con las definiciones de Memo1 y Form1 parece que ambos apunterados.

en resumen: ¿QUE PALABRITAS MAGUICAS DEBO PONER PARA CONJURAR EL MAL?


* hombre, tambien podria en Unit1 hacerme una funcion puente, creo que sabria y saldria, pero no me parece elegante, huir del problema y bordearlo mal asunto.
  #2 (permalink)  
Antiguo 21/10/2013, 12:22
 
Fecha de Ingreso: octubre-2013
Mensajes: 2
Antigüedad: 10 años, 6 meses
Puntos: 0
Respuesta: hurgar en un formulario desde otro formulario

Retiro lo dicho, esta funcionando, solo falla en el constructor y derivados

Cita:
tablaclass::tablaclass(void){ //constructor
// form1->memo1.lines.add("constructor"); //no hay manera
// form1->memo1->lines->add("cons"); //tampoco
init();
}

void tablaclass::init(void){ //
// form1->memo1->lines->add("init"); //tampoco
strncpy(nombre," ",10); error='0';
stat=0; cntr=0;
reset();
}

void tablaclass::reset(void){ //
// form1->memo1->lines->add("reset"); //tampoco
max=0; min=0; sigma=0; palanca=0;
a=0; z=1; over_a=0; over_z=0;
for(ki=0;ki<dimension;ki++){ mat[ki]=0;}
}

void tablaclass::dump(void){ //
form1->memo1->lines->add("dump"); //aqui funciona
f=fopen(nombre,"wt"); /**/
fprintf(f,"\n %s",nombre);
fprintf(f,"\n error= \t%c",error); if(error!='0'){fprintf(f," e r r o r ! ! !");}
,,,,,,
fprintf(f,"\n over_a= \t%#1.6e",over_a); fprintf(f,"\n over_z= \t%#1.6e",over_z);
for(ki=0;ki<dimension;ki++){ fprintf(f,"\n%#1.6e",mat[ki]);}
fclose (f);
}

void tablaclass::error(char c){ //
form1->memo1->lines->add("error"); //y aqui
error=c; bit1(stat,bit_error);
}

void tablaclass::incre(double f, double i){ //
form1->memo1->lines->add("incre"); //y aqui
,,,,

Etiquetas: dificil, formulario, puntero
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 15:14.