FTP | CCD | Buscar | Trucos | Trabajo | Foros |
|
Registrarse | FAQ | Miembros | Calendario | Guía de estilo | Temas de Hoy |
|
Herramientas | Buscar en Tema | Desplegado |
#1
|
|||
|
|||
¿BCB6 Como Cambiar valor Variable que esta en otra unit?
Tengo este problema que no entiendo.
tengo un form principal desde el cual llamo una funcion void Código:
void __fastcall inicializa() { DirUserDoc = "super mira nada mas"; } este header tiene una variable strign DirUserDoc pero no se muestra el cambio. al llamarla desde el form principal no se muestra el texto Obvio en delphi si puedo hacer esto de llamar procedures funciones que modifican variables y obtener su valor desde cualquier unit pogo el code de las units y sus headers. Header principal que llama a la funcion en otro archivos unit Código:
//--------------------------------------------------------------------------- #ifndef Unit1H #define Unit1H //--------------------------------------------------------------------------- #include <Classes.hpp> #include <Controls.hpp> #include <StdCtrls.hpp> #include <Forms.hpp> //--------------------------------------------------------------------------- class TForm1 : public TForm { __published: // IDE-managed Components TButton *Button1; TButton *Button2; TButton *Button3; void __fastcall Button1Click(TObject *Sender); void __fastcall Button2Click(TObject *Sender); private: // User declarations public: // User declarations __fastcall TForm1(TComponent* Owner); }; //--------------------------------------------------------------------------- extern PACKAGE TForm1 *Form1; //--------------------------------------------------------------------------- #endif Código:
//--------------------------------------------------------------------------- #include <vcl.h> #pragma hdrstop #include <String> #include "Unit1.h" #include "Unit2.h" #include "Unit3.h" //--------------------------------------------------------------------------- #pragma package(smart_init) #pragma resource "*.dfm" TForm1 *Form1; //--------------------------------------------------------------------------- __fastcall TForm1::TForm1(TComponent* Owner) : TForm(Owner) { } //--------------------------------------------------------------------------- /* Form2 = new TForm2(Application); Form2->ShowModal(); delete Form2; } */ void __fastcall TForm1::Button1Click(TObject *Sender) { TForm2 *Form2; Form2 = new TForm2( Application ); try { Form2->Label1->Caption = "dasdsads"; Form2->mivar = "mnega"; Form2->ShowModal(); ShowMessage(Form2->mivar); } __finally { Form2->Free(); } } //--------------------------------------------------------------------------- void __fastcall TForm1::Button2Click(TObject *Sender) { inicializa; // desde la funcion se debe de cambir el valor de un string pero no lo cambia sale en blanco ShowMessage(DirUserDoc); // esto si funciona pero son numeros ShowMessage( IntToStr( sum(5,5)) ); resultadosuma = sum(40,50); ShowMessage(IntToStr(resultadosuma)); } //--------------------------------------------------------------------------- Código:
//--------------------------------------------------------------------------- #ifndef Unit3H #define Unit3H //--------------------------------------------------------------------------- #include <Classes.hpp> #include <Controls.hpp> #include <StdCtrls.hpp> #include <String> bool inicializado; String DirUserDoc; int resultadosuma; void __fastcall inicializa(); void __fastcall desinicializa(); int sum(int a, int b); //--------------------------------------------------------------------------- #endif Código:
//--------------------------------------------------------------------------- #pragma hdrstop #include "Unit3.h" #include <String> #include "Unit1.h" #include "Unit2.h" #include <vcl.h> //--------------------------------------------------------------------------- #pragma package(smart_init) //--------------------------------------------------------------------------- void __fastcall inicializa() { DirUserDoc = "super mira nada mas"; } void __fastcall desinicializa() { DirUserDoc = "na nanay"; } int sum(int a, int b) { return(a+b); } |
|
|
Temas Similares | ||||
Tema | Autor | Foro | Respuestas | Último mensaje |
Cómo hacer para retornar valores de una Unit a otra | karo | Varios | 6 | 14-03-2009 20:57:28 |
Como averiguar si una unit o datamodule ya está abierto | jjoliveras | OOP | 2 | 20-06-2007 11:28:56 |
como usar el valor de una variable | jesusomarsanche | OOP | 4 | 17-08-2006 19:17:55 |
Ayuda!!Cambiar valor de una variable en biblioteca | pepecharlie67 | Varios | 8 | 13-11-2005 19:17:14 |
¿Como puedo llamar un Procedure desde otra unit? | athal | Lazarus, FreePascal, Kylix, etc. | 11 | 17-05-2004 01:05:20 |
|