# Public Variable as Integer



## Blatt (22. Juni 2006)

Hi, Ich würde gerne wissen ob der Befehl Public im Code eines Formulars irgendeinen Sinn hat. ^^
Also in einem Modul macht er eine Variable für alle Formulare zugängig, aber im Formular-Code funktioniert sowas doch gar nicht oder?
Danke für Hilfe =)


----------



## codeman (22. Juni 2006)

Hallo,

"[...]Ich würde gerne wissen ob der Befehl Public im Code eines Formulars irgendeinen Sinn hat.[...]" - Sinn? Rein objektorientiert gesehen natürlich schon, aber ob du einen Public in einem Formular verwendest oder nur im Modul ist deine Sache, ich finde ihn ganz praktisch, da er, wie der Name schon sagt, Zugriffe von einem anderen Modul(Formular, Klasse, ...) erlaubt.

"[...]aber im Formular-Code funktioniert sowas doch gar nicht [...]"
Public funktioniert natürlich auch im Formular.


----------



## Blatt (22. Juni 2006)

Ok, aber warum funktioniert dies hier nicht:

Formular1:

```
Public var as string
private sub form_load()
var="Hi"
unload me
form2.show
end sub
```
Formular2:

```
private sub form_load()
msgbox varend sub
```

[Fehler: undefinierte Variable]

Aber hier das schon?:

Formular:

```
private sub form_load()
var="Hi"
unload me
form2.show
end sub
```
Modul:

```
Public var as string
```
Formular2:

```
private sub form_load()
msgbox varend sub
```


----------



## Fr3dd1 (22. Juni 2006)

Wenn du eine Variable in einem Form declarirst, wird auch die Variable mit dem "Unload me" Befehl gelöscht (denke ich) ein Modul dagegen bleibt ja weiterhin bestehen wird ja nicht wie das Form geclosed.

mfg Freddy 

berichtigt mich wenns Falsch ist


----------



## Blatt (22. Juni 2006)

Funktioniert trotzdem nicht =/


----------



## Blatt (22. Juni 2006)

Ok, Hab herausgefunden warum es nicht klappt, die Kapselung hat gefehlt.
Danke an alle die mir geholfen haben ^^


----------



## Shakie (23. Juni 2006)

Wenn du auf eine in einem Formular (z.B. Form1) als Public deklarierte Variable zugreifen willst, dann geht das in dem du "Form1." vor die Variable schreibst:

```
Form1.Variable = "Irgendwas"
```


----------

