your code: from Docs:

set i=stream.FindAt(-1,"Invalid password",x)+i

from Docs:
 

Find the first occurrence of target in the stream starting the search at position.
It returns the position at this match starting at the beginning of the stream.
If it does not find the target string then return -1.
If position=-1 then start searching from the current location and just return the offset from the last search,
useful for searching through the entire file.
If you are doing this you should pass in tmpstr by reference in every call which is used as
a temporary location to store information being read so the next call will start where the last one left off.
If you pass caseinsensitive=1 then the search will be case insensitive rather than the default case sensitive search.

 
So your line should work like this
while(stream.AtEnd=0){set i=stream.FindAt(-1,"Invalid password",.x)+i}
-----------------------------------------------------------------^
PASS BY REFERENCE should do the trick

Arun,
#1) the error <INVALID OREFF>  #2) goes away if you use Method BtnClickMe( ...)   instead of  ClassMethod BtnClickMe(....)

#2) setting title property turns out to be tricky since component DataCombo is a complex structure with multiple HTML elements
with multiple title properties.  The ZENmethod  setProperty() reaches only the first one.
Which is the Label (!) and if you didn't declare it in the ZEN class it is hidden and you will never see it.

As a consequence I found this code working:

<dataCombo 
    ......
    title=""  
    onmouseover="zenPage.BtnClick(event.currentTarget);
    />

event.currentTarget gives you the real browser component (<input...>) in hands

ClientMethod BtnClick(DTCOMBO) As %String [ Language = javascript ]
{
    var MyPriority=DTCOMBO.value;
    var result=zenPage.BtnClickMe(MyPriority);
        DTCOMBO.title=result ;
    return;
}

All settings of the page happen in client code. 

/// calculate content of title
/// actually a fake for testing
Method BtnClickMe(MyPriority) As %String [ ZenMethod ]
{
    set ^%Arun($i(^%Arun))=MyPriority
    quit MyPriority_"****"_^%Arun
}

Now as you do not depend on %page object now this could be a ClassMethod as well.

from last comment: 
https://www.sqlservercentral.com/Forums/Topic647815-145-1.aspx

Difference between varchar(max) and varchar(8000)
Varchar(8000) stores a maximum of 8000 characters. Varchar(max) stores a maximum of 2 147 483 647 characters. 

See Books Online, the page titled "char and varchar" for more info. 

Gail Shaw
Microsoft Certified Master: SQL Server, MVP, M.Sc (Comp Sci)
 

so it can be marked as done.

from: 
https://www.sqlservercentral.com/Forums/Topic647815-145-1.aspx

Difference between varchar(max) and varchar(8000)
Varchar(8000) stores a maximum of 8000 characters. Varchar(max) stores a maximum of 2 147 483 647 characters. 

See Books Online, the page titled "char and varchar" for more info. 

Gail Shaw
Microsoft Certified Master: SQL Server, MVP, M.Sc (Comp Sci)
 

Not sure if this is the real problem: Anyhow it is a problem.

   var result=this.BtnClickMe(MyPriority);   // here you expect a return value
    return;
}


ClassMethod BtnClickMe(MyPriority) as %String [ ZenMethod ]     // return something
{
 
  set ^%Arun($i(^%Arun))=$isObject(%page)    // JUST temporary for debugging // check for <INVALID OREF> 
    Set %page.%GetComponentById("Priority1").title=MyPriority
  quit $$$OK      // return something
}

Quite interesting on my WIN10_prof   I had no need of /S as I wante exactly THIS directory

And you are right. If the file exists already and is accessible nothing prevents you from modifying it.
You probably can't delete it as this requires access to directory.
And you are also right that ATTRIB doesn't propagate it.   

So I think the whole approach to check the directory is misleading.
Now we are back to the initial proposal.
Do an OPEN with timeout in this directory ("WN")  and on success you can write to the directory.
The test file can be removed by CLOSE file:"D"  if you didn't open with "WND" .

And it tells you can I write there YES/NO
And this is independent of any status and flags and don't know what in whatever filesystem I work on.


 

If you go in Atelier menu to Windows > Preferences
and in there to  General > Keys  you find the definition for Ctrl+right / Ctrl+left

This tells me it's deep embedded in Eclipse. But can be changed:

https://wiki.eclipse.org/FAQ_How_do_I_provide_a_keyboard_shortcut_for_my...

I found ~ 1800 keymaps on Eclipse Marketplace
and for MS Visual Studio keymap (which might be closest) still 83 hits.

To summarize: it's NOT a configuration issue as long as you don't have something ready to include.
It might take some time to find a useful one.