Diese Seite mit anderen teilen ...

Informationen zum Thema:
Forum:
WinDev Forum
Beiträge im Thema:
3
Erster Beitrag:
vor 9 Jahren, 10 Monaten
Letzter Beitrag:
vor 9 Jahren, 10 Monaten
Beteiligte Autoren:
robert zhong, KenKnight

Windev12 - What am I doing wrong ?

Startbeitrag von robert zhong am 16.07.2008 01:56

Hi, Windev experts

I have following code

IntCurrentSelectedEmployeeID is int = FileContactPersons.FileEmployeeID // = 29

Intresult is int = Open(Windowxxx,IntCurrentSelectedEmployeeID ) // =18

after this code , WHY on earth IntCurrentSelectedEmployeeID =18 NOW ?

please help

robert zhong

Antworten:

Hi Robert,

By default a parameter is passed to a procedure by reference, this means that if the IntcurrentSelectedEmployeeID is modified in the Windowxxx, then it will be reflected in the calling procedures code. So if you modify the value of the variable in Windowxxx and then the line beneath place a trace(IntCurrentSelectedEmployeeID), it will be different (like you're seeing).


To simply pass by value, use the keyword LOCAL before the variable name in the window definition global area;

PROCEDURE Windowxxx( LOCAL nIntCurrentSelectedEmployeeID )

Hope this helps.

Cheers!
Ken





von KenKnight - am 16.07.2008 02:16
Ken, Thanks
robert zhong

von robert zhong - am 16.07.2008 13:49
Zur Information:
MySnip.de hat keinen Einfluss auf die Inhalte der Beiträge. Bitte kontaktieren Sie den Administrator des Forums bei Problemen oder Löschforderungen über die Kontaktseite.
Falls die Kontaktaufnahme mit dem Administrator des Forums fehlschlägt, kontaktieren Sie uns bitte über die in unserem Impressum angegebenen Daten.