Jump to content

Problem with ClassNameNN


Recommended Posts

Hi,

I've noticed a (serious) problem. The ClassNameNN that has been given back by the Active Window Info application is not constant and not correct.

I have for example a Window with some fill-in controls on it.

I started scripting this window last monday and used the function ControlSend to Control TCatsMaskEdit8, 9, 10 and 11

Yesterday the names given back by the Active Window Infor application have been changed to TCatsMaskEdit12, 13, 14 and 15 (while no development had taken place on the Form/Window). Additional information: This is a tab(bed) window and when a do a forward and a backward tab the Controls are named TCatsMaskEdit8, 9, 10 and 11 again.

Just to check my story I've asked a developer to give me the names of the Controls in development mode and I've come to the conclusion that the Control names really are TCatsMaskEdit1, 2, 3 and 4.

Mind that this is a complex form with several tabs on it. But in anyway this should work properly (At least that's what I think).

Does anyone know this and can it be solved?

Kind regards,

Dennis Stinissen

Link to comment
Share on other sites

Hi,

I've noticed a (serious) problem. The ClassNameNN that has been given back by the Active Window Info application is not constant and not correct.

I have for example a Window with some fill-in controls on it.

I started scripting this window last monday and used the function ControlSend to Control TCatsMaskEdit8, 9, 10 and 11

Yesterday the names given back by the Active Window Infor application have been changed to TCatsMaskEdit12, 13, 14 and 15 (while no development had taken place on the Form/Window). Additional information: This is a tab(bed) window and when a do a forward and a backward tab the Controls are named TCatsMaskEdit8, 9, 10 and 11 again.

Just to check my story I've asked a developer to give me the names of the Controls in development mode and I've come to the conclusion that the Control names really are TCatsMaskEdit1, 2, 3 and 4.

Mind that this is a complex form with several tabs on it. But in anyway this should work properly (At least that's what I think).

Does anyone know this and can it be solved?

Kind regards,

Dennis Stinissen

<{POST_SNAPBACK}>

Difficult to help you without the application.

Can you provide an application (not too complex to put inplace) so I can reproduce the problem :)

Link to comment
Share on other sites

Hmmm, that's difficult because the .exe can not be executed without the database. :-( And it's very large ...

<{POST_SNAPBACK}>

I was afraid of that.

On what API rely the application?

Under what it is developped?

...

Link to comment
Share on other sites

Don't know what API ... Not that technical :-(

It's developed in Delphi ...

And by the way I'm using AutoIt 3.1.1

<{POST_SNAPBACK}>

Thanks

From the point of view of your problem no change between 3.1.1 and 3.1.1++

If you get a simpler application just send me. (I am not developping in Delphi :)

Link to comment
Share on other sites

I'm looking for a workaround for my problem.

Forward and then backward tab isn't a sollution, because some undesirable events will happen at that point.

Perhaps anyone else know a command to (re)initialize the current tab?

<{POST_SNAPBACK}>

did you look at the controlcommand function?
Link to comment
Share on other sites

Some addition information:

The script works perfect when I'm am using it like:

ControlSend("Title", "Text", "ClassNameNN", "Value")

But when I use it as followed it gives problems:

$Value = $array[Random(1,x,1)]

ControlSend("Title", "Text", "ClassNameNN", $Value)

x = maximum number of items of $array

$array[0] = value x

'just like filling an array from a file'

Perhaps this helps you ...

Link to comment
Share on other sites

FYI the script I use:

$fillnaam = $voornaam[ Random( 1, $voornaam[0], 1) ]

$fillinit = StringLeft( $fillnaam, 1 ) & "."

$fillanaam = $achternaam[ Random( 1, $achternaam[0], 1) ]

$fillplaats = $plaats[ Random( 1, $plaats[0], 1) ]

$fillstraat = $straat[ Random( 1, $straat[0], 1) ]

$fillnr = Random( 1, 500, 1 )

$title = "KERN Aanmelding toevoegen"

WinWaitActive ( $title )

If $i = $count Then

SelectCheckbox ( $title, "TCatsCheckEdit1" ) ; Uitzetten volgende

EndIf

ControlSend ( $title, "", "TCatsMaskEdit11", $fillanaam )

ControlSend ( $title, "", "TCatsMaskEdit10", $fillinit )

ControlSend ( $title, "", "TCatsMaskEdit9", $fillnaam )

ControlSend ( $title, "", "TCatsMaskEdit8", $fillnaam )

ControlSend ( $title, "", "TCatsDateEdit3", "1-1-1980" )

ControlSend ( $title, "", "TCatsMaskEdit7", $fillplaats )

Link to comment
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now
 Share

  • Recently Browsing   0 members

    • No registered users viewing this page.
×
×
  • Create New...