Page 1 of 1

Problem after update to 8.2

Posted: Thu Jul 05, 2018 11:09 am
by yaro2o
Hi we heave a big problem after update to 8.2 version. Our application is written in delphi and after the update, the tracker suspends its operation until it either kills it or ranorex. previously there was no problem

Re: Problem after update to 8.2

Posted: Thu Jul 05, 2018 11:13 am
by yaro2o

Code: Select all

DEBUG|Ranorex.Plugin.DelphiFlavorElement|Could not get attribute value: DelphiAutomation.GetValue:A type exception was thrown 'Ranorex.Core.HwndInvokerException'. Window Handle: 656848. Win32 Error: The operation has been returned because the timeout has been exceeded.
2018-07-05 12:09:09.766
|ERROR|Ranorex.Plugin.DelphiChildrenRule|DelphiAutomation.GetChildren: A type exception was thrown 'Ranorex.Core.HwndInvokerException'. Window Handle: 329704. Win32 Error: The operation has been returned because the timeout has been exceeded.

Re: Problem after update to 8.2

Posted: Fri Jul 06, 2018 2:46 pm
by yaro2o
I add snapshot

Re: Problem after update to 8.2

Posted: Mon Jul 09, 2018 9:06 pm
by Support Team
Hello yaro2o,

I'm sorry to hear you are having an issue after upgrading; I would be more than happy to help.

To aid in narrowing down the culprit, please answer the following questions to the best of your ability:
  • Please reproduce the issue and then upload the internal log files for analysis
    - - To create internal logs, first enabling Tracing level logs in Ranorex -> Settings -> Plugins tab -> Tracing section -> "Trace level" set to "Trace"
    - - Next open Ranorex and track a few controls on your application. You should then find a Delphi log at C:\Users\<USER NAME>\Documents\Ranorex\Logs
    - - Please include the logs within your reply
  • What version of Delphi is your AUT using?
    - - The Ranorex Delphi plugin in Ranorex 8.2 currently supports XE2 (x86), XE3 and later (x86 and x64)
  • Are these custom controls? I'm not finding anything with the class TZuiDBGrid and TZuiPageControl
    - - To see a list of supported controls, please visit this link: https://www.ranorex.com/help/latest/int ... edcontrols
  • Are we able to get access to your application under test?
I know I've asked for quite a bit of information, so I would completely understand if you would rather use a more private form of communication. If you wish to continue troubleshooting via email for more privacy, please create a support query at the below link and reference this post. If you do open a ticket, please try to include as much of the above information as possible. If you have trouble with any steps or have questions, please let me know as I would be happy to clarify.

Support portal: https://www.ranorex.com/support-query/

I hope this helps and I look forward to hearing from you!

Regards,

Jon

Re: Problem after update to 8.2

Posted: Mon Jul 09, 2018 9:12 pm
by sheafox
I am also getting this error from my Delphi AUT:

DelphiAutomation.GetChildren: Exception of type 'Ranorex.Core.HwndInvokerException' was thrown. Window Handle: 330772. Win32 Error: This operation returned because the timeout period expired.

Re: Problem after update to 8.2

Posted: Wed Jul 11, 2018 9:23 am
by yaro2o
Hi thx for your replay. I added the code we were talking about , there was a small change, ranorex tracked the object after a longer wait but erroneously. I add the log file. Our application is written in delphi xe7.

Code: Select all

Ranorex.Core.ElementEngine.Instance.Flavors["delphi"].Enabled = false;
And some warn in ICSharpCode.SharpDevelop.BuildWorker40 log

Code: Select all

2018-07-11 10:06:42.142|DEBUG|Ranorex.Core.Config.SolutionSettingsContext|Search solution config file in C:\Users\Ranorex\Documents\Ranorex\RanorexStudio Projects\test2\test2\bin\Debug\.
2018-07-11 10:06:42.142| INFO|Ranorex.Core.Config.SolutionSettingsContext|Register solution config file C:\Users\Ranorex\Documents\Ranorex\RanorexStudio Projects\test2\test2\bin\Debug\Ranorex.rxsettings
2018-07-11 10:06:42.142| WARN|Ranorex.Libs.ValueConverterImpl|TryDeserializeFromBase64 failed. System.FormatException: Dane wejściowe nie są prawidłowym ciągiem Base-64, ponieważ zawierają znak o podstawie innej niż 64, więcej niż dwa znaki wypełnienia lub niedozwolony znak wśród znaków wypełnienia. 
   w System.Convert.FromBase64_ComputeResultLength(Char* inputPtr, Int32 inputLength)
   w System.Convert.FromBase64CharPtr(Char* inputPtr, Int32 inputLength)
   w System.Convert.FromBase64String(String s)
   w Ranorex.Libs.ValueConverterImpl.TryDeserializeFromBase64(String serializedValue, Object& value)
2018-07-11 10:06:42.142| WARN|Ranorex.Core.Configuration|Failed to set configuration parameter 'imaging.defaultfindoptions' from string value '{Similarity=1; Preprocessing=None; Clipping={X=0,Y=0,Width=0,Height=0}; BestMatch=True; DownsizeTargetCosts=10000000; Timeout=0ms}'. Ranorex.RanorexException: Failed to convert string value '{Similarity=1; Preprocessing=None; Clipping={X=0,Y=0,Width=0,Height=0}; BestMatch=True; DownsizeTargetCosts=10000000; Timeout=0ms}' to type 'Ranorex.Imaging+FindOptions'.
   w Ranorex.Libs.CoreTypes.TryThrowRxException(String errorMsg, Exception innerexception)
   w Ranorex.Libs.ValueConverterImpl.FromString(String value, Type targetType)
   w Ranorex.Core.Configuration.ConfigurationParam.SetFromString(String valueString)
   w Ranorex.Core.Configuration.ConfigurationParam.SetFromXml(XmlNode xmlNode)
2018-07-11 10:06:42.142| WARN|Ranorex.Libs.ValueConverterImpl|TryDeserializeFromBase64 failed. System.FormatException: Dane wejściowe nie są prawidłowym ciągiem Base-64, ponieważ zawierają znak o podstawie innej niż 64, więcej niż dwa znaki wypełnienia lub niedozwolony znak wśród znaków wypełnienia. 
   w System.Convert.FromBase64_Decode(Char* startInputPtr, Int32 inputLength, Byte* startDestPtr, Int32 destLength)
   w System.Convert.FromBase64CharPtr(Char* inputPtr, Int32 inputLength)
   w System.Convert.FromBase64String(String s)
   w Ranorex.Libs.ValueConverterImpl.TryDeserializeFromBase64(String serializedValue, Object& value)
2018-07-11 10:06:42.142| WARN|Ranorex.Core.Configuration|Failed to set configuration parameter 'imaging.defaultfindoptions' from string value '1;None;0,0,0,0;True;10000000;0ms'. Ranorex.RanorexException: Failed to convert string value '1;None;0,0,0,0;True;10000000;0ms' to type 'Ranorex.Imaging+FindOptions'.
   w Ranorex.Libs.CoreTypes.TryThrowRxException(String errorMsg, Exception innerexception)
   w Ranorex.Libs.ValueConverterImpl.FromString(String value, Type targetType)
   w Ranorex.Core.Configuration.ConfigurationParam.SetFromString(String valueString)
   w Ranorex.Core.Configuration.ConfigurationParam.SetFromXml(XmlNode xmlNode)
2018-07-11 10:06:42.142| WARN|Ranorex.Libs.ValueConverterImpl|TryDeserializeFromBase64 failed. System.FormatException: Dane wejściowe nie są prawidłowym ciągiem Base-64, ponieważ zawierają znak o podstawie innej niż 64, więcej niż dwa znaki wypełnienia lub niedozwolony znak wśród znaków wypełnienia. 
   w System.Convert.FromBase64_ComputeResultLength(Char* inputPtr, Int32 inputLength)
   w System.Convert.FromBase64CharPtr(Char* inputPtr, Int32 inputLength)
   w System.Convert.FromBase64String(String s)
   w Ranorex.Libs.ValueConverterImpl.TryDeserializeFromBase64(String serializedValue, Object& value)
2018-07-11 10:06:42.142| WARN|Ranorex.Core.Configuration|Failed to set configuration parameter 'imaging.defaultfindoptions' from string value '{Similarity=1; Preprocessing=None; Clipping={X=0,Y=0,Width=0,Height=0}; BestMatch=True; DownsizeTargetCosts=10000000; Timeout=0ms}'. Ranorex.RanorexException: Failed to convert string value '{Similarity=1; Preprocessing=None; Clipping={X=0,Y=0,Width=0,Height=0}; BestMatch=True; DownsizeTargetCosts=10000000; Timeout=0ms}' to type 'Ranorex.Imaging+FindOptions'.
   w Ranorex.Libs.CoreTypes.TryThrowRxException(String errorMsg, Exception innerexception)
   w Ranorex.Libs.ValueConverterImpl.FromString(String value, Type targetType)
   w Ranorex.Core.Configuration.ConfigurationParam.SetFromString(String valueString)
   w Ranorex.Core.Configuration.ConfigurationParam.SetFromXml(XmlNode xmlNode)
2018-07-11 10:06:42.142| WARN|Ranorex.Libs.ValueConverterImpl|TryDeserializeFromBase64 failed. System.FormatException: Dane wejściowe nie są prawidłowym ciągiem Base-64, ponieważ zawierają znak o podstawie innej niż 64, więcej niż dwa znaki wypełnienia lub niedozwolony znak wśród znaków wypełnienia. 
   w System.Convert.FromBase64_Decode(Char* startInputPtr, Int32 inputLength, Byte* startDestPtr, Int32 destLength)
   w System.Convert.FromBase64CharPtr(Char* inputPtr, Int32 inputLength)
   w System.Convert.FromBase64String(String s)
   w Ranorex.Libs.ValueConverterImpl.TryDeserializeFromBase64(String serializedValue, Object& value)
2018-07-11 10:06:42.142| WARN|Ranorex.Core.Configuration|Failed to set configuration parameter 'imaging.defaultfindoptions' from string value '1;None;0,0,0,0;True;10000000;0ms'. Ranorex.RanorexException: Failed to convert string value '1;None;0,0,0,0;True;10000000;0ms' to type 'Ranorex.Imaging+FindOptions'.
   w Ranorex.Libs.CoreTypes.TryThrowRxException(String errorMsg, Exception innerexception)
   w Ranorex.Libs.ValueConverterImpl.FromString(String value, Type targetType)
   w Ranorex.Core.Configuration.ConfigurationParam.SetFromString(String valueString)
   w Ranorex.Core.Configuration.ConfigurationParam.SetFromXml(XmlNode xmlNode)

Re: Problem after update to 8.2

Posted: Wed Jul 11, 2018 9:31 am
by yaro2o
Links to logs, file is too big to add here

https://ufile.io/fu89k
https://ufile.io/7h4ib

Re: Problem after update to 8.2

Posted: Thu Jul 12, 2018 1:24 am
by Paydon
I'm seeing the same issue, have reported to Support but am downgrading as I don't have time as a release is due

Re: Problem after update to 8.2

Posted: Fri Jul 13, 2018 7:59 am
by yaro2o
Hi, i also reported this bug to Support and now i'm w8 and downgrade to 8.1.2

Re: Problem after update to 8.2

Posted: Fri Jul 13, 2018 8:03 pm
by Support Team
Hello all,

Thank you for the feedback.

If you are experiencing an issue with the Delphi plugin after upgrading to 8.2 I would recommend first checking to ensure that your Delphi application under test and or controls are supported:

https://www.ranorex.com/help/latest/int ... edcontrols

You can also disable the Delphi plugin at runtime if needed. To do this, create a new user code module and place it in your test suite so that it is the first module that is executed. I would recommend placing this in a setup section of the test suite. Once you have the user code module in place, double-click it to enter the editor. There are two lines you need to add in order to disable the Delphi plugin at runtime:
disableDelphi.png
Please find the aformention lines below:

Code: Select all

using System.Linq; //Add this line to the top of the user code module with the other using statements

(Ranorex.Core.PluginManager.Instance.LoadedPlugins["delphi"] as FlavorPlugin).Flavors.ToList().ForEach(f => f.Enabled = false); //Add this right after the line 'Delay.SpeedFactor = 1.0;' within the 'void ITestModule.Run()' method

//If the above line isn't working for you, try replacing it with this one:
Ranorex.Core.ElementEngine.Instance.Flavors["delphi"].Enabled = false;
It is also possible to temporarily disable any plugin manually through the GUI within the about dialog. Open your Ranorex Studio solution and in Ranorex Studio go to Help -> About. Here you should see a list of plugins and to disable one temporarily simply right-click it -> Disable Temporarily. The Delphi plugin is called 'Delphi':
disableDelphi2.png
If you have any questions or concerns regarding the above information please let me know!

I hope this helps and I look forward to hearing from you!

Regards,

Jon