vb@rchiv
VB Classic
VB.NET
ADO.NET
VBA
C#
Mails senden, abrufen und decodieren - ganz easy ;-)  
 vb@rchiv Quick-Search: Suche startenErweiterte Suche starten   Impressum  | Datenschutz  | vb@rchiv CD Vol.6  | Shop Copyright ©2000-2025
 
zurück

 Sie sind aktuell nicht angemeldet.Funktionen: Einloggen  |  Neu registrieren  |  Suchen

Visual-Basic Einsteiger
Re: By Val 
Autor: unbekannt
Datum: 23.03.02 17:27

Hi Paranoid,

das ist relativ einfach:

In den Übergabeparametern an Funktionen (Function) oder Prozeduren (Sub) wird von der Parameterdeklaration (Typdeklaration) entweder Byref oder Byval gestellt. Byval heißt: Übergib nur den Wert der Variable. Byref heißt: Übergib die Referenz der Variable. Defaulteinstellung ist Byref. Alle Objekte oder Klassen werden mit Byref übergeben, also nur die Objektinstanz nicht das Objekt selbst.

Byval also nur der Wert, ein Beispiel und eine Darstellung, warum bei manchen in Programmen ab und zu nicht funktioniert:

X = 5
Y = 6
 
Msgbox Rechne(x,y)
Msgbox x
 
Function Rechne(Byval x As Long, Byval y As Long) As Long
     Rechne = (x + y)
     x = x + 1
End Function
In diesem Beispiel wird durch Byval also nur der Wert übergeben, 5 und 6. Ergebnis wird angezeigt: 11 und 5

Gleiches Beispiel, aber Byref!

X = 5
Y = 6
 
Msgbox Rechne(x,y)
Msgbox x
 
Function Rechne(x As Long, y As Long) As Long
     Rechne = (x + y)
     x = x + 1
End Function
In diesem Beispiel wird wegen Byref die Variable selbst! übergeben. Ergebnis wird angezeigt: 11 und 6! Sprich: Die Funktion hat wegen Byref die übergebene Variable verändert, was mit Byval nicht passiert wäre.


cu
Lordchen
alle Nachrichten anzeigenGesamtübersicht  |  Zum Thema  |  Suchen

 ThemaViews  AutorDatum
By Val47Paranoid23.03.02 17:13
Re: By Val213unbekannt23.03.02 17:27
thx/Winsock29Paranoid23.03.02 17:50
Re: thx/Winsock186unbekannt23.03.02 18:09
Danke Lordchen ....183ModeratorMoni23.03.02 18:15
Du meinst für FAQ ...190unbekannt23.03.02 18:30
thx again, und wie umgehe ich dass??24Paranoid23.03.02 18:43
Re: thx again, und wie umgehe ich dass??25Brainbug23.03.02 20:50
Re: Du meinst für FAQ ...191ModeratorMoni23.03.02 21:46

Sie sind nicht angemeldet!
Um auf diesen Beitrag zu antworten oder neue Beiträge schreiben zu können, müssen Sie sich zunächst anmelden.

Einloggen  |  Neu registrieren

Funktionen:  Zum Thema  |  GesamtübersichtSuchen 

nach obenzurück
 
   

Copyright ©2000-2025 vb@rchiv Dieter Otter
Alle Rechte vorbehalten.
Microsoft, Windows und Visual Basic sind entweder eingetragene Marken oder Marken der Microsoft Corporation in den USA und/oder anderen Ländern. Weitere auf dieser Homepage aufgeführten Produkt- und Firmennamen können geschützte Marken ihrer jeweiligen Inhaber sein.

Diese Seiten wurden optimiert für eine Bildschirmauflösung von mind. 1280x1024 Pixel