Supportnet Computer
Planet of Tech

Supportnet / Forum / Anwendungen(Java,C++...)

Globale Variable im VB wie geht das??





Frage

Hallo kann mir einer diese einfache Frage beantworten. Gibt es da ein oder zwei möglichkeiten. mfg Froschkoenig

Antwort 1 von KSKS

Hi,
meinste das z.B.
Public a as String
Public i as Integer
??? oder so.
mfg Klaus


Antwort 2 von misterUE

Wenn du das, was Klaus geschrieben hat, im Modul machst, brauchst du nicht mehr den Formularnamen davorzuschreiben!

mfg, ÜM!T

Antwort 3 von PotzBlitz

Hallo Froschkoenig,

schau dir diese Übersicht an, die sollte alle Varianten abdecken.

′----- Modul1.bas Anfang ---------
Option Explicit

′ Variable ist im gesamten Projekt sichtbar für alle Formulare, Module usw.
Public Beispiel1 As String

′ Variable ist nur innerhalb dieses Modul sichtbar, alle Prozeduren und Funktionen dieses Moduls können sie nutzen.
Private Beispiel2 As String

Private Sub TestProzedur()
   ′ Diese Variable ist nur innerhalb dieser Prozedur sichtbar _
   und stirbt nach Abarbeitung der Prozedur
   Dim Beispiel3 As String
End Sub
′----- Modul1.bas Ende ---------

Gruss
PotzBlitz


Antwort 4 von Froschkoenig

Hallo

Und Danke für die schnellen Antworten.

mfg Froschkoenig

Antwort 5 von Froschkoenig

Sorry

Warum der unterschied bei deinen letzten beiden Beispielen??? Die Variablen sind doch auch immer nur in einer Prozedur oder Modul gültig, oder??

mfg Froschkoenig

Antwort 6 von PotzBlitz

Hallo Froschkoenig,

ich verstehe nicht ganz, was du meinst. Wenn du dich auf meine drei Variablen beziehst, dann sollten die Kommentarzeilen eigentlich eindeutig genug sein. Eine Variable innerhalb einer Prozedur ist NUR in DIESER Prozedur verfügbar, eine andere Prozedur in diesem Modul oder sonstwo hat keinen Zugriff auf die Variablen dieser Prozedur. Dagegen ist eine privat deklarierte Variable in einem Modul (ganz oben am Modulanfang) für alle Prozeduren und Funktionen in DIESEM Modul verfügbar. Jede Prozedur in diesem Modul kann daran herumfummeln, wodurch öfters mal so genannte "magic values" entstehen: Urplötzlich hat sich der Wert der Variable geändert und keiner weiss - mangels Übersicht bei der Programmierung - warum. :-)

Gruss
PotzBlitz

Antwort 7 von AgentWiko

Es besteht auch die Möglichkeit der folgenden declaration (z.B.):

Global Variable1 as Long

Das Schlüsselwort "Global" macht die Variable "Variable1" gloabal. Das Schlüsselwort darf aber nur in Modulen außerhalb einer Protzedur verwendet werden, um globale Variablen festzulegen.

Man muss bei VB mit dem Wort Global jedoch vorsichtig umgehen, weil es in VB genaugenomen keine globalen Variablen gibt. Wenn man z.B. in VB eine DLL-Datei programiert, die z.B. ActiveX-Objecte enthält werden die globalen Variablen, die in der DLL festgelegt sind von dem Rest des Processes, zu dem die DLL angedockt wurde, nicht gesehen. Sie sind also so gesehen nicht global. Wirklich globale Variablen gibt es nur in C++!

Ich möchte kostenlos eine Frage an die Mitglieder stellen:


Ähnliche Themen:


Suche in allen vorhandenen Beiträgen: