Modify

Opened 10 years ago

Closed 10 years ago

Last modified 9 years ago

#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 10 years ago by Zedna

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

comment:2 Changed 10 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 10 years ago by Valik

  • Resolution set to No Bug
  • Status changed from new to closed

comment:4 Changed 9 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.

Add Comment

Modify Ticket

Action
as closed The ticket will remain with no owner.
Author


E-mail address and user name can be saved in the Preferences.

 
Note: See TracTickets for help on using tickets.