Globale Variable Problem

enricohofmann

Grünschnabel
hallo ich bin gerade dabei ein client - server applikation zu schreiben, bin noch nicht wirklich so sehr mit vb6 vertraut, bis jetzt immer nur webapplicationen auf linuxbasis gemacht. aber nun muss ich halt auch mal in die hölle des löwen.

also fakt:
ich habe zwei forms

in dem einen form erhalte ich durch ein event eine variable. diese muss ich jedoch in dem anderen form public machen. am besten wäre es wenn ich sie in einer extra modul datei definieren kann.

Dim userid As Integer < so geht es nur leider nicht

kann mir bitte jemand helfen.

für eine aussagekräftige antwort bin ich jetzt schon dankbar ;)

mfg gigo
 
Hallo!

Das Problem hatte ich auch mal...
...war gar nicht mal so einfach, das zu lösen! :-)

Zuerst musst du in einem eigenen Modul eine eigene Variable deklarieren, zB
Dim globVar As Integer

Anschließend benötigst du eine Funktion und eine Prozedur.
Prozedur:
Sub setVar ( irgendwas As Integer )
globVar = irgendwas
End Sub


Funktion:
Function getVar ()
getVar = globVar
End Function


Wenn du jetzt einen Wert abspeichern möchtest, rufst du einfach die Prozedur setVar(...) auf, und übergibst als Parameter den Wert, der gespeichert werden soll.
Jetzt kannst du dieses Formular schließen, und das neue Formular öffnen.
Um den gespeicherten Wert wieder abzurufen, musst du nur die Funktion irgendeineVariable=getVar() aufrufen.

Stehe für weitere Fragen gerne zur Verfügung, ;)

lg D;-]c
 
vielen dank hat geklappt ;)

jetzt noch ne kleine frage. wie müsste es denn jetzt aussehen, da ich ja vieleicht mehrer variablen brauch und ich nen mensch bin der sparsam mit code umgehe

ich möchte nun sagen

public sub var_write(varname, value)
'WAS MUSS ICH JETZT MACHEN; WEIL varname ist in dem sinne nich der name der variable
end sub

mfg gigo
 
Das ist ganz einfach mit select und case zu implementieren:

Public Sub varWrite(varname, value)
Select Case varname
Case "Variable1"
irgendwas1 = value
Case "Variable2"
irgendwas2 = value
Case "Variable3"
irgendwas3 = value
...
End Sub

lg D;-]c
 
ok danke für die schnelle antwort aber das ist eigentlich nicht das was ich meinte

in php habe ich zb die möglich einen string als phpcode auszuführen und somit das zu realisieren. also mit der eval funktion

eval("\$".$variablenename." = \"".$value."\");

gibt es sowas auch für visual basic

mfg gigo
 
Nein, davon hab ich in VisualBasic noch nie was gehört, tut mir leid...

Ich bezweifle, dass es dies in VB geben wird, da die Sprache an sich nicht so "dynamisch" aufgebaut ist (im Gegensatz zu PHP, JavaScript, ...).

Es gibt zwar eine eval-Funktion, aber die ist für dein Problem ungeeignet.

lg D;-]c
 
Zurück