| |||||||
Du magst keine Werbung? Wir auch nicht!
Einfach registrieren und die Werbung ist weg. Diese Nachricht sehen nur nicht registrierte Nutzer.
![]() |
| | LinkBack | Themen-Optionen | Ansicht |
| | #1 (permalink) |
| Neuer User Registriert seit: Dec 2005
Beiträge: 18
|
Hallo, Wie kann man an eine Flash-Funktion eine Variable übergeben die in der Funktion direkt geändert wird ? Bsp: Code: function getValue( arr, iReadPos ) : Number
{ return arr[iReadPos++];
}
arrTmp = new Array( 643, 827 );
iPos = 0;
val1 = getValue( arrTmp, iPos );
val2 = getValue( arrTmp, iPos ); Eine Möglichkeit wäre den return-Wert zu mißbrauchen und ein Array mit 2 Werten zurückzugeben (Wert und iReadPos), aber das wird bei größeren Projekten sehr unübersichtlich und ist außerdem extrem unschön. Gruß Plasm |
| | |
| | #2 (permalink) |
| voidboy Registriert seit: Sep 2004 Ort: München
Beiträge: 5.588
|
So auf die schnelle... PHP-Code: |
| | |
| | #3 (permalink) |
| Neuer User Registriert seit: Dec 2005
Beiträge: 18
|
Danke für die Antwort, aber das löst das Problem an sich nicht... Der Code war ja nur ein Beispiel um das Problem zu demonstrieren. Die eigentliche Funktion in der das Problem auftritt ist wesentlich komplexer. Da lässt sich das Problem nicht so einfach an eine andere Stelle verfrachten... |
| | |
| | #4 (permalink) |
| voidboy Registriert seit: Sep 2004 Ort: München
Beiträge: 5.588
|
Du kannst aber nicht die Variable in der Funktion hochzählen, da wie du schon richtig erkannt hast keinen Pointer dafür hast. Es gäbe noch die Möglickeit die Variable global zu definieren und diese in der Funktion hochzuzählen, dadurch würde auch der Parameter "iReadPos" wegfallen. Bsp.: PHP-Code: |
| | |
| | #5 (permalink) |
| Neuer User Registriert seit: Dec 2005
Beiträge: 18
|
Ja, daran habe ich auch schon gedacht, ist aber auch nicht unbedingt die sauberste Lösung. Vor allem in größeren Projekten, in denen es dann dadurch sehr viele globale Variablen geben wird die eigentlich nicht sein müssten, ist das sehr unschön. Tja, schade. Ich dachte es gibt so etwas wie die &-Referenz z.B. bei PHP. Da schreibt man einfach: Code: function getValue( $arr, &$iReadPos )
{ ...
} Trotzdem Danke! |
| | |
| | #6 (permalink) |
| voidboy Registriert seit: Sep 2004 Ort: München
Beiträge: 5.588
|
Ansonsten musst du dir selber ne klasse schreiben die eine Variable vom Datentyp Number enthält. Dann kannst du quasi eine Referenz auf die Instanz der Klasse, der Funktion übergeben und in der Funktion dann auf diese Variable zugreifen. Ist aber warscheinlich zuviel des guten... |
| | |
| | #7 (permalink) |
| helpQLODhelp Registriert seit: Feb 2002 Ort: Köln
Beiträge: 8.505
|
Das ist genau die richtige Lösung rendner[i], schliesslich wollen wir doch nicht die Eigenschaften von anderen Leuten, äh Instanzen verändern. Du musst im Prinzip eine Klasse schreiben, der du das Array als Referenz übergibst und die kann das Zählen und auch das Liefern des Werts übernehmen. mfg. r
__________________ Ralf Bokelberg™ - Flex & Flash Consulting |
| | |
![]() |
| Lesezeichen |
| Themen-Optionen | |
| Ansicht | |
| |