Wenn ich so ins Blaue denke, sind die übergebenen Variablen Protected. Allerdings sind die in deinem Beispiel NICHT null, da du beim Aufruf der Procedure Werte übergeben MUSST.
(Ich weiß ned, ob das schon im Forum dikustiert wurde, aber es passt gerade hier hinein..)
Gibt es sowas wie BYREF oder BYCOPY in PB?
Wenn ich das richtig verstehe, dann werden normale Variablen alle ByVal übergeben...
Gr33tz
Tafkadasom2k5
OpenNetworkConnection() hat geschrieben:Versucht eine Verbindung mit dem angegebenen Server aufzubauen. 'ServerName$' kann eine IP-Adresse oder ein voller Name sein (z.B.: "127.0.0.1" oder "ftp.home.net").
php-freak hat geschrieben:Ich hab die IP von google auch ned rausgefunden!
foo(var) ; <- in der proc hast du dann eine unabhängige/protected variable
;mit dem inhalt (wert) von dieser variable 'var'. (copy)
foo(@var) ; <- by ref: du kannst in der proc über die erhaltene addresse auf
;den inhalt der ursprünglichen variable 'var' zugreifen und ihn modifizieren
;(der pointer in der proc ist selbst aber dennoch protected)
<edit:> >>Wenn ich das richtig verstehe, dann werden normale Variablen alle ByVal übergeben...
pointer werden auch by value übergeben. wie es mit arrays/LLs ist weiß ich nicht genau. ein array ohne indices/ nur klammern wird glaub ich by reference übergeben..und LLs glaub in PB4 ich auch.
ich muß mich nochmal korrigieren:
bei meinem zweiten peispiel wird eigentlich auch by value übergeben, wobei der value eben nur eine addresse ist. das @ wird ja auf den identifier angewand, bevor die proc aufgerufen wird.
mk-soft hat geschrieben:Strukturen, Arrays und LL werden BYREF übergeben.
Wäre auch verdammt umständlich, wenn nicht -.-
OpenNetworkConnection() hat geschrieben:Versucht eine Verbindung mit dem angegebenen Server aufzubauen. 'ServerName$' kann eine IP-Adresse oder ein voller Name sein (z.B.: "127.0.0.1" oder "ftp.home.net").
php-freak hat geschrieben:Ich hab die IP von google auch ned rausgefunden!