#1535 closed Bug (No Bug)
ControlSend changes case of text
Reported by: | dave.gibson@… | Owned by: | |
---|---|---|---|
Milestone: | Component: | AutoIt | |
Version: | 3.3.6.0 | Severity: | None |
Keywords: | ControlSend Case | Cc: |
Description
I was using ControlSend() to set the text of an edit box and noticed that some characters within the text would have their case changed. It became a problem because the edit box is a drive\path specification and sometimes the colon would become a semi-colon (c:\ became c;\), which broke the validation code on the form.
I saw an old bug from a previous version of AutoIt which suggested using ControlSetText(). That works OK for me, I've had to add a couple of extra lines to set focus on the control then tab away to fire off the controls change code, but that's no problem.
The form/control I'm having this issue with is within Symantec Backup Exec System Recovery 2010, specifically when adding a backup path.
Offending line of code was...
(((
ControlSend("", "", "[CLASS:Edit; INSTANCE:1]", "C:\Path")
)))
Let me know if you need any more info
Regards
Dave
Attachments (0)
Change History (4)
comment:1 Changed 15 years ago by Zedna
comment:2 Changed 15 years ago by Zedna
This my topic is the most important according to this problem and its workarounds
http://www.autoitscript.com/forum/index.php?showtopic=30171&view=findpost&p=215442
comment:3 Changed 15 years ago by Valik
- Resolution set to No Bug
- Status changed from new to closed
comment:4 Changed 14 years ago by DrapDv
I have had the same issue come up, and I am on an English (United States) keyboard. It has come up when submitting numbers to a website but there is a bit of Javascript going on when those textboxes are populated so I won't include that.
However, this other program is about as basic as it gets (wIntegrate), and there is still an issue with case-inversion from time to time. It may be tied to the fact that both of these ControlSends are sending data from arrays, I don't know. Anyhoo, here's the offending code:
(((
ControlSend("", "", "[CLASS:Afx:10000000:b:00010011:00000000:00000000; INSTANCE:1]", "PARTS IN ACCESSORY SOURCES ON DLT STATUS")
)))
This will occasionally show up as "PARTS IN ACCESSORY SOURCES ON dLT STATUS" or similar. NOT often, mind you, but often enough to be an issue as this program does not promote interaction and trying to catch things like this can be very difficult.
Not isolated:
http://www.autoitscript.com/forum/index.php?showtopic=111347&st=0&gopid=814773&
It seems like everyone who has the problem is having it intermittently so I'm not sure how much anyone can really do...Appreciate all your time and effort, gentlemen!
Guidelines for posting comments:
- You cannot re-open a ticket but you may still leave a comment if you have additional information to add.
- In-depth discussions should take place on the forum.
For more information see the full version of the ticket guidelines here.
This is a known problem with non-english keyboard layouts.
There are some limitations and you can use ControlSetText() or change keyboard layout to English before ControlSend() as workaround.
Look at these topics:
http://www.autoitscript.com/forum/index.php?showtopic=30180&view=findpost&p=215501
http://www.autoitscript.com/forum/index.php?showtopic=32584&view=findpost&p=233517