/ Forside / Teknologi / Udvikling / C/C++ / Nyhedsindlæg
Login
Glemt dit kodeord?
Brugernavn

Kodeord


Reklame
Top 10 brugere
C/C++
#NavnPoint
BertelBra.. 2425
pmbruun 695
Master_of.. 501
jdjespers.. 500
kyllekylle 500
Bech_bb 500
scootergr.. 300
gibson 300
molokyle 287
10  strarup 270
C++ builder 5, variabelerklæring
Fra : Jens Cortsen


Dato : 28-10-01 21:02

Hej

Hvor skal variabelerklæringen skrives, således den kan bruges i flere
forme.
Dvs. Overfører en værdi fra en form til en anden form.

Hilsen Jens


 
 
Mogens Hansen (29-10-2001)
Kommentar
Fra : Mogens Hansen


Dato : 29-10-01 10:31

"Jens Cortsen" <jens.cortsen@city.dk> wrote in message
news:3BDC6455.7277EA6E@city.dk...
>
> Hvor skal variabelerklæringen skrives, således den kan bruges i flere
> forme.

Der er mange muligheder.
En (eller flere) global variable er en mulighed - men ikke umiddelbart
anbefalelsesværdigt.
Følg hellere de naturlige afhængigheder i programmet.

> Dvs. Overfører en værdi fra en form til en anden form.

Hvis f.eks. den ene form er hovedformen, lad os kalde den TMainForm, og den
anden er en dialogboks, hvor brugeren skal indtaste information, lad og
kalde den TDialogForm. TMainForm åbner en TDialogForm, når et menupunkt
aktiveres.
De naturlige afhængigheder er at TMainForm kender TDialogForm, men
TDialogForm kender ikke TMainForm.
Det vil derfor være naturligt (for at følge de afhængigheder, der findes) at
TMainForm tilgår informationen i TDialogFrom via properties som TDialogForm
stiller til rådighed (skrevet frit fra leveren, og ikke compileret):

void __fastcall TMainForm::ButtonClick(TObject* Sender)
{
// ...
if(mrOK == dialogForm->ShowModel()) {
// ...
address = dialogFrom->AdressEdit->Text;
// ...
}
}

Venlig hilsen

Mogens Hansen



Jens Cortsen (29-10-2001)
Kommentar
Fra : Jens Cortsen


Dato : 29-10-01 20:25

Hej

Jeg vil gerne høre om "En (eller flere) global variable er en mulighed" da det
er lige sådan en tybe jeg skal bruge.

Hilsen Jens

Mogens Hansen wrote:

> "Jens Cortsen" <jens.cortsen@city.dk> wrote in message
> news:3BDC6455.7277EA6E@city.dk...
> >
> > Hvor skal variabelerklæringen skrives, således den kan bruges i flere
> > forme.
>
> Der er mange muligheder.
> En (eller flere) global variable er en mulighed - men ikke umiddelbart
> anbefalelsesværdigt.
> Følg hellere de naturlige afhængigheder i programmet.
>
> > Dvs. Overfører en værdi fra en form til en anden form.
>
> Hvis f.eks. den ene form er hovedformen, lad os kalde den TMainForm, og den
> anden er en dialogboks, hvor brugeren skal indtaste information, lad og
> kalde den TDialogForm. TMainForm åbner en TDialogForm, når et menupunkt
> aktiveres.
> De naturlige afhængigheder er at TMainForm kender TDialogForm, men
> TDialogForm kender ikke TMainForm.
> Det vil derfor være naturligt (for at følge de afhængigheder, der findes) at
> TMainForm tilgår informationen i TDialogFrom via properties som TDialogForm
> stiller til rådighed (skrevet frit fra leveren, og ikke compileret):
>
> void __fastcall TMainForm::ButtonClick(TObject* Sender)
> {
> // ...
> if(mrOK == dialogForm->ShowModel()) {
> // ...
> address = dialogFrom->AdressEdit->Text;
> // ...
> }
> }
>
> Venlig hilsen
>
> Mogens Hansen


Mogens Hansen (30-10-2001)
Kommentar
Fra : Mogens Hansen


Dato : 30-10-01 15:58


"Jens Cortsen" <jens.cortsen@city.dk> wrote

> Jeg vil gerne høre om "En (eller flere) global variable er en mulighed" da
det
> er lige sådan en tybe jeg skal bruge.
>

Det var egentligt ikke ment som en anbefaling (hvilket jeg også skrev).
Globale variable er typisk noget snavns, som giver problemer over tid.

En global variabel er en variabel, som er erklæret i globalt namespace, som
alle kan tilgå.

Hvis du alligevel vil gøre det, så kan du lave en header fil, hvor der
f.eks. står

extern int globalInt;

og en implementeringsfil, hvor der står

int globalInt;

Alle filer, der vil tilgå variablen skal blot includere headerfilen.

Jeg vil klart anbefale den anden løsning, som jeg skitserede.

Venlig hilsen

Mogens Hansen



Søg
Reklame
Statistik
Spørgsmål : 177558
Tips : 31968
Nyheder : 719565
Indlæg : 6408925
Brugere : 218888

Månedens bedste
Årets bedste
Sidste års bedste