function argliste optional

12/11/2007 - 10:21 von Thomas Schied | Report spam
hi newsgroup,

habe mit erstaunen festgestellt, daß ausgangs-werte, die in einer
FUNCTION-anweisung als OPTIONAL übergeben werden, geàndert werden!

beispiel (sehr vereinfacht dargestellt):

Str1 = "Ursprung"
Ergebnis = GetKunDat(1, Str1)

Public Function GetKunDat(ByVal iKNr As Integer, Optional sWert as String "Test") As String
if iKNr = 1 then sWert = "Änderung"
...
wenn ich in der Function den Wert 'sWert' àndere, dann wird auch der wert
'Str1' außerhalb der Function geàndert !!!!

das geht leider aus KEINER dokumentation bzw. hilfedatei hervor ... und
hat mich ziemlich überrascht. kann mir von euch jemand sagen, ob ich das so
korrekt verstanden habe bzw. wo man dieses verhalten detailliert nachlesen
kann.

besten dank im voraus. Tom
 

Lesen sie die antworten

#1 Andreas Sperl
12/11/2007 - 10:37 | Warnen spam
Hallo Tom,

Thomas Schied schrieb:

habe mit erstaunen festgestellt, daß ausgangs-werte, die in einer
FUNCTION-anweisung als OPTIONAL übergeben werden, geàndert werden!



schau mal in der OH unter dem Stichwort ByRef nach. So übergibst Du
nàmlich deine Variable 'sWert'.

HTH

Andreas

Ähnliche fragen