Hallo!

> Also ich habs folgendermassen verstanden:
> Das Byref erm�glicht der Function das ver�ndern der in einer anderen
> Routine (script od. Funktion) erstellten Variablen [so hab ich die
Doku
> verstanden ;)]. Soweit, so klar. Aber dann versteh ich nicht, warum
ich
> beim dbopen schon das Byref einsetzen muss?? Diese Funktion erstellt
> doch erst die Variable / das Object. Wieso muss ich da das Object
schon
> per ByRef �bergeben, obwohl es noch gar nicht existiert?

Du kannst Variablen auf zwei Arten an eine Funktion �bergeben: "byref"
oder "byval". Mit "byval" wird die Variable kopiert (Stack) und deshalb
bleibt die urspr�ngliche Variable unver�ndert. Mit "byref" wird die
Variable nicht kopiert, die Funktion kann also den urspr�nglichen
Speicherbereich ver�ndern.

Wenn Du ein Objekt �bergibst (byval ist der Default-Wert), dann kann der
Speicherbereich nicht kopiert werden, die Variable m�sste referenziert
werden ("set myvar = ").

Jetzt frag aber nicht, warum Objektvariablen nicht automatisch "byref"
�bergeben werden. Das ist vielleicht ein fehlendes Feature oder ein Bug.
Andererseits finde ich es gut, wenn in Funktionen in Parametervariablen
nicht von vornherein ver�ndert werden k�nnen.

�brigens spricht aus meiner Sicht nichts dagegen, wenn Du Dein DB-Objekt
grunds�tzlich global definierst. Man sollte zwar so wenig wie m�glich
globale Variablen haben, aber es ist mitunter auch l�stig, wenn man gar
keine hat.

Freundliche Gr��e
Joachim van de Bruck



| [aspdedatabase] als [email protected] subscribed
| http://www.aspgerman.com/archiv/aspdedatabase/ = Listenarchiv
| Sie k�nnen sich unter folgender URL an- und abmelden:
| http://www.aspgerman.com/aspgerman/listen/anmelden/aspdedatabase.asp

Antwort per Email an