Var = 'Passed by Value' do passcheck with Var wait window Var proc passcheck lparam tVar tVar = 'Passed by Reference' endproc Now Try Var = 'Passed by Value' do passcheck with (Var) wait window Var proc passcheck lparam tVar tVar = 'Passed by Reference' endprocNotice the only differnce is the DO line. Am I missing the point again?