﻿<?xml version="1.0" encoding="utf-8"?><?xml-stylesheet type=\'text/xsl\' href=\'rss.xsl\'?><rss version="2.0"><channel><title>Marvin Test Solutions - Forum: ATEasy General</title><link>https://www.marvintest.com/Forums/mainForum.aspx?CatID=3</link><description>General user discussion groups on ATEasy programming, installation, etc.</description><item><title>Run-time error - memory  access violation in 'ComClose' function - Created on Sunday, April 19, 2026</title><description>&lt;b&gt;By Raz A. on 4/19/2026 6:10:27 AM&lt;/b&gt;&lt;br&gt;I am using ATEASY version 7 142G&lt;br&gt;&lt;br&gt;I have two computers-&lt;br&gt;This first is windows 7 32bit&lt;br&gt;The second is windows 7 64bit&lt;br&gt;&lt;br&gt;For some reason i get runtime error of memory access violation in the 'ComClose' function at the 64bit version.&lt;br&gt;The specified Com port is valid and available.&lt;br&gt;&lt;br&gt;The SW is compiled at the 32bit windows.&lt;br&gt;&lt;br&gt;What can be the problem?&lt;br&gt;&lt;br&gt;</description><link>https://www.marvintest.com/Forums/Thread.aspx?ID=532</link><pubDate>4/19/2026 6:10:27 AM</pubDate></item><item><title>ATEasy 2023 and .NET Core/.NET Standard Compatibility - Created on Friday, February 27, 2026</title><description>&lt;b&gt;By Kevin S. on 2/27/2026 11:33:25 AM&lt;/b&gt;&lt;br&gt;Hello,&lt;br&gt;&lt;br&gt;I created a Class Library using .NET 8. It is a simple static class, with a single static method that returns "Hello, World!".&lt;br&gt;&lt;br&gt;I am able to import it into ATEasy under the .NET Assembly tab. However, when I call that function, I get the following error:&lt;br&gt;&lt;br&gt;"Run-time error #420: 'Object method or property 'ThisIsATest' failed (scode=0x80004005): Unspecified error' found in 'Untitled_Test2' in line 1"&lt;br&gt;&lt;br&gt;Is ATEasy compatible with .NET Core/.NET Standard?&lt;br&gt;&lt;br&gt;Thank you!&lt;br&gt;&lt;br&gt;&lt;b&gt;By John on 2/27/2026 11:58:11 AM&lt;/b&gt;&lt;br&gt;Hi Kevin,&lt;br&gt;&lt;br&gt;Yes, ATEasy is compatible with .NET libraries.&lt;br&gt;&lt;br&gt;There is an example project, DotNet.prj, that comes with ATEasy23 you can check out.&lt;br&gt;&lt;br&gt;Are you able to share the .NET library to this post?&lt;br&gt;&lt;br&gt;&lt;b&gt;By John on 2/27/2026 12:03:48 PM&lt;/b&gt;&lt;br&gt;Kevin, &lt;br&gt;&lt;br&gt;Currently, ATEasy does not support .Net Core, Only .Net Standard. &lt;br&gt;&lt;br&gt;.NET core will be supported in the next ATEasy version.&lt;br&gt;&lt;br&gt;John&lt;br&gt;&lt;br&gt;&lt;b&gt;By Kevin S. on 2/27/2026 12:09:41 PM&lt;/b&gt;&lt;br&gt;[Quote= John wrote:&lt;br&gt;Hi Kevin,&lt;br&gt;&lt;br&gt;Yes, ATEasy is compatible with .NET libraries.&lt;br&gt;&lt;br&gt;There is an example project, DotNet.prj, that comes with ATEasy23 you can check out.&lt;br&gt;&lt;br&gt;Are you able to share the .NET library to this post? =Quote]&lt;br&gt;&lt;br&gt;Hi John, sure! Please see the attached.&lt;br&gt;&lt;br&gt;&lt;b&gt;By Kevin S. on 2/27/2026 12:14:33 PM&lt;/b&gt;&lt;br&gt;[Quote= John wrote:&lt;br&gt;Hi Kevin,&lt;br&gt;&lt;br&gt;Yes, ATEasy is compatible with .NET libraries.&lt;br&gt;&lt;br&gt;There is an example project, DotNet.prj, that comes with ATEasy23 you can check out.&lt;br&gt;&lt;br&gt;Are you able to share the .NET library to this post? =Quote]&lt;br&gt;&lt;br&gt;Hi John, sure! Please see the attached.&lt;br&gt;&lt;br&gt;&lt;b&gt;By Kevin S. on 2/27/2026 12:14:45 PM&lt;/b&gt;&lt;br&gt;[Quote= John wrote:&lt;br&gt;Hi Kevin,&lt;br&gt;&lt;br&gt;Yes, ATEasy is compatible with .NET libraries.&lt;br&gt;&lt;br&gt;There is an example project, DotNet.prj, that comes with ATEasy23 you can check out.&lt;br&gt;&lt;br&gt;Are you able to share the .NET library to this post? =Quote]&lt;br&gt;&lt;br&gt;Hi John, sure! Please see the attached.&lt;br&gt;&lt;br&gt;&lt;b&gt;By Kevin S. on 2/27/2026 12:15:03 PM&lt;/b&gt;&lt;br&gt;Sorry, it's posting each time I refresh the page...&lt;br&gt;&lt;br&gt;&lt;b&gt;By John on 2/27/2026 12:32:05 PM&lt;/b&gt;&lt;br&gt;It looks like this is a .NET core library which is not currently supported.&lt;br&gt;&lt;br&gt;&lt;b&gt;By John on 3/2/2026 11:12:06 AM&lt;/b&gt;&lt;br&gt;It looks like this is a .NET core library which is not currently supported.&lt;br&gt;&lt;br&gt;&lt;b&gt;By Paul I. on 4/1/2026 3:11:12 AM&lt;/b&gt;&lt;br&gt;Hello, &lt;br&gt;I meet the same Issue. I need to import a lot of Librarys (C#.DLLs) created in VisualStudio. .NET Core is the new standard. Do the newer ATEasy version (2024/2026) supports the import of .NET Core Librarys ?&lt;br&gt;&lt;br&gt;&lt;b&gt;By DrATEasy (Ron Y.) on 4/1/2026 11:57:57 AM&lt;/b&gt;&lt;br&gt;Hosting both CoreCLR and .NetFramework within a single process is not officially supported by Microsoft. We will check if there is a way to do it in future ATEasy versions. If possible, we will add it to ATEasy 2027 or later this year for ATEasy 2026. ATEasy 2024/2026 currently does not support it.&lt;br&gt;&lt;br&gt;Ronnie&lt;br&gt;&lt;br&gt;&lt;b&gt;By Paul I. on 4/2/2026 2:10:40 AM&lt;/b&gt;&lt;br&gt;Dear Ronnie, thank You for Your quick response. If possible please pickup this topic for ATEasy 2026. I thing for all other customers, who works with .dll plugins from other softwares it will be very useful.&lt;br&gt;BestRegards&lt;br&gt;Paul&lt;br&gt;&lt;br&gt;</description><link>https://www.marvintest.com/Forums/Thread.aspx?ID=530</link><pubDate>2/27/2026 11:33:25 AM</pubDate></item><item><title>ATEASY 7 Install fail - Created on Monday, January 5, 2026</title><description>&lt;b&gt;By Raz A. on 1/5/2026 1:35:03 AM&lt;/b&gt;&lt;br&gt;I try to install the latest ATEASY 7 version on my windows 11&lt;br&gt;i get an error stating "Access is denied" (attached)&lt;br&gt;&lt;br&gt;i got this from event viewer-&lt;br&gt;&lt;br&gt;Faulting application name: un_ATEasy7-142g.exe, version: 14.0.0.162, time stamp: 0x4626b2f4&lt;br&gt;Faulting module name: ISRT.dll_unloaded, version: 14.0.0.162, time stamp: 0x4626b2c7&lt;br&gt;Exception code: 0xc000041d&lt;br&gt;Fault offset: 0x000434b0&lt;br&gt;Faulting process id: 0x2120&lt;br&gt;Faulting application start time: 0x1DC7E21DEB054A2&lt;br&gt;Faulting application path: C:\Downloads\un_ATEasy7-142g.exe&lt;br&gt;Faulting module path: ISRT.dll&lt;br&gt;Report Id: cad69bb4-7e4b-407e-98d7-aa2d14d38a4b&lt;br&gt;Faulting package full name: &lt;br&gt;Faulting package-relative application ID:&lt;br&gt;&lt;br&gt;&lt;b&gt;By DrATEasy (Ron Y.) on 1/5/2026 11:27:41 AM&lt;/b&gt;&lt;br&gt;Try to install the latest HW before installing 142g from:

https://www.marvintest.com/Search.aspx?Category=Download&amp;amp;SearchType=AllWords&amp;amp;kw=hw.exe

See: https://www.marvintest.com/KB/Q200362/ for more information.

Ronnie&lt;br&gt;&lt;br&gt;&lt;font color='red'&gt;*Changed by Moderator&lt;/font&gt;&lt;br&gt;&lt;br&gt;&lt;b&gt;By Raz A. on 1/10/2026 11:50:30 PM&lt;/b&gt;&lt;br&gt;I get the same error&lt;br&gt;Access is denied when installing the Hw64.sys&lt;br&gt;&lt;br&gt;&lt;b&gt;By Raz A. on 1/18/2026 5:00:01 AM&lt;/b&gt;&lt;br&gt;Eventually  i did the following - &lt;br&gt;Successfully installed ATEASY version 10&lt;br&gt;Then successfully installed ATEASY 7 with no issue&lt;br&gt;&lt;br&gt;</description><link>https://www.marvintest.com/Forums/Thread.aspx?ID=529</link><pubDate>1/5/2026 1:35:03 AM</pubDate></item><item><title>Just need a test executive (have used ATEasy in the past) - Created on Tuesday, September 23, 2025</title><description>&lt;b&gt;By Robert G. on 9/23/2025 3:58:00 AM&lt;/b&gt;&lt;br&gt;Hello,&lt;br&gt;&lt;br&gt;I used ATEasy at a previous company and after I got past the groaning stage I found it to work very well at what it does :)&lt;br&gt;&lt;br&gt;I've inherited an ATE solution with lots of Python scripts and need a good text executive.  Is the ATEasy test executive by itself a viable option?&lt;br&gt;&lt;br&gt;Thanks!&lt;br&gt;&lt;br&gt;&lt;b&gt;By DrATEasy (Ron Y.) on 9/23/2025 9:26:11 AM&lt;/b&gt;&lt;br&gt;Yes, ATEasy comes with a driver that uses embedded Python to run Python scripts from ATEasy.&lt;br&gt;Take a look at the Python.prj example that comes with ATEasy 2024.&lt;br&gt;&lt;br&gt;Ronnie&lt;br&gt;&lt;br&gt;</description><link>https://www.marvintest.com/Forums/Thread.aspx?ID=528</link><pubDate>9/23/2025 3:58:00 AM</pubDate></item><item><title>DLL Parameters:  passing by reference - Created on Monday, July 14, 2025</title><description>&lt;b&gt;By Eric J. on 7/14/2025 8:30:20 AM&lt;/b&gt;&lt;br&gt;Does anyone have an example that demonstrates a call to a dll with function of this type where ATEasy needs to provide a pointer to wchar_t?&lt;br&gt;&lt;br&gt;dll header:&lt;br&gt;&lt;br&gt;typedef wchar_t WideChar;&lt;br&gt;extern "C" {&lt;br&gt;   Word __cdecl getResponse( WideChar * cpResponse)&lt;br&gt;};&lt;br&gt;&lt;br&gt;This is to the Cirris Tester Access (CTA) dll.  I can't seem to get an ATEasy variable type to satisfy what Cirris is looking for to return data from various dll calls.  I've attached the CTA manual, and will follow up with a header.&lt;br&gt;&lt;br&gt;I have an open incident, but we're not quite there yet.  Any help is appreciated.&lt;br&gt;&lt;br&gt;Eric&lt;br&gt;&lt;br&gt;&lt;b&gt;By DrATEasy (Ron Y.) on 7/14/2025 9:19:41 AM&lt;/b&gt;&lt;br&gt;Hi,&lt;br&gt;&lt;br&gt;First determine what DLL you are using (ATEasy DLL properties) there are 2 versions 32 or 64 -  use the matching ATEasy 32 or 64-bit IDE.&lt;br&gt; &lt;br&gt;I could not find documentation in the manual for that function getResponse ?? &lt;br&gt;&lt;br&gt;In C wchar_t * in C is ambiguous, it is a pointer to 2 byte character but could also be pointer to array of 2 bytes used mostly for multi byte encoding of text. Since there is not documentation, I would probably allocate an array of Word and pass it to this function and try it:&lt;br&gt;&lt;br&gt;&lt;br&gt;aw: Word [10000] ! hopefully that enough&lt;br&gt;&lt;br&gt;&lt;br&gt;define the function in ATEasy as&lt;br&gt;&lt;br&gt;getresponse(awResponse : Var Word[]) : CDecl Word&lt;br&gt;&lt;br&gt;&lt;br&gt;call the function:&lt;br&gt;&lt;br&gt;print getRespomse(aw)&lt;br&gt;&lt;br&gt;&lt;br&gt;and see what is returned and printed.&lt;br&gt;&lt;br&gt;&lt;br&gt;Ronnie&lt;br&gt;&lt;br&gt;&lt;b&gt;By Eli G. on 7/14/2025 9:46:36 AM&lt;/b&gt;&lt;br&gt;Hello,&lt;br&gt;&lt;br&gt;I tried doing this...&lt;br&gt;&lt;br&gt;Temp="MyCaption"&lt;br&gt;bsMyCaption=Temp&lt;br&gt;Temp="MyMesssage"&lt;br&gt;bsMyMesssage=Temp&lt;br&gt;iTimeoutInMilliseconds=0&lt;br&gt;aw: Word[10000]&lt;br&gt;&lt;br&gt;wStatus=CTA.CirrisTesterAccess.ctaDisplayMessage(wConnectionID, bsMyCaption, bsMyMesssage, False, iTimeoutInMilliseconds, iResponseLength, aw)&lt;br&gt;&lt;br&gt;print wStatus; " = CTA.CirrisTesterAccess.ctaDisplayMessage(wConnectionID, bsMyCaption, bsMyMesssage, False, iTimeoutInMilliseconds, iResponseLength, bsResponse)"&lt;br&gt;&lt;br&gt;&lt;br&gt;...but it was telling me undefined symbol 'Word' so I defined Response as a "Word" within the "Variables" section of the program and tried this...&lt;br&gt;&lt;br&gt;wStatus=CTA.CirrisTesterAccess.ctaDisplayMessage(wConnectionID, bsMyCaption, bsMyMesssage, False, iTimeoutInMilliseconds, iResponseLength, Response)&lt;br&gt;&lt;br&gt;...which compiles and runs, but the function throws error code 1: buffer size too small. The passed message was "hello"&lt;br&gt;&lt;br&gt;&lt;b&gt;By DrATEasy (Ron Y.) on 7/14/2025 10:58:02 AM&lt;/b&gt;&lt;br&gt;Can't tell from the information you provided. How did you define Response? iResponseLength probably need to be initialized with the size of the Response buffer before calling the function.&lt;br&gt;&lt;br&gt;Ronnie&lt;br&gt;&lt;br&gt;&lt;b&gt;By Eli G. on 7/14/2025 11:38:49 AM&lt;/b&gt;&lt;br&gt;Hello,&lt;br&gt;&lt;br&gt;I tried doing this...&lt;br&gt;&lt;br&gt;Temp="MyCaption"&lt;br&gt;bsMyCaption=Temp&lt;br&gt;Temp="MyMesssage"&lt;br&gt;bsMyMesssage=Temp&lt;br&gt;iTimeoutInMilliseconds=0&lt;br&gt;aw: Word[10000]&lt;br&gt;&lt;br&gt;wStatus=CTA.CirrisTesterAccess.ctaDisplayMessage(wConnectionID, bsMyCaption, bsMyMesssage, False, iTimeoutInMilliseconds, iResponseLength, aw)&lt;br&gt;&lt;br&gt;print wStatus; " = CTA.CirrisTesterAccess.ctaDisplayMessage(wConnectionID, bsMyCaption, bsMyMesssage, False, iTimeoutInMilliseconds, iResponseLength, bsResponse)"&lt;br&gt;&lt;br&gt;&lt;br&gt;...but it was telling me undefined symbol 'Word' so I defined Response as a "Word" within the "Variables" section of the program and tried this...&lt;br&gt;&lt;br&gt;wStatus=CTA.CirrisTesterAccess.ctaDisplayMessage(wConnectionID, bsMyCaption, bsMyMesssage, False, iTimeoutInMilliseconds, iResponseLength, Response)&lt;br&gt;&lt;br&gt;...which compiles and runs, but the function throws error code 1: buffer size too small. The passed message was "hello"&lt;br&gt;&lt;br&gt;&lt;b&gt;By Eli G. on 7/14/2025 11:41:04 AM&lt;/b&gt;&lt;br&gt;Hi, got things working. I had to define cpResponse as Var Wchar[] and Response as WChar[1024]. Below is working code. Temp is BString.&lt;br&gt;&lt;br&gt;Temp="MyCaption"&lt;br&gt;bsMyCaption=Temp&lt;br&gt;Temp="MyMesssage"&lt;br&gt;bsMyMesssage=Temp&lt;br&gt;iTimeoutInMilliseconds=0&lt;br&gt;Response=Spaces(1024)&lt;br&gt;&lt;br&gt;wStatus=CTA.CirrisTesterAccess.ctaDisplayMessage(wConnectionID, bsMyCaption, bsMyMesssage, False, iTimeoutInMilliseconds, iResponseLength, Response)&lt;br&gt;&lt;br&gt;print wStatus; " = CTA.CirrisTesterAccess.ctaDisplayMessage(wConnectionID, bsMyCaption, bsMyMesssage, False, iTimeoutInMilliseconds, iResponseLength, bsResponse)"&lt;br&gt;print "iResponseLength = "; iResponseLength&lt;br&gt;Temp = Response&lt;br&gt;print Temp&lt;br&gt;&lt;br&gt;&lt;b&gt;By DrATEasy (Ron Y.) on 7/14/2025 11:43:42 AM&lt;/b&gt;&lt;br&gt;Great!&lt;br&gt;&lt;br&gt;&lt;b&gt;By Eric J. on 7/30/2025 12:05:46 PM&lt;/b&gt;&lt;br&gt;Test&lt;br&gt;&lt;br&gt;</description><link>https://www.marvintest.com/Forums/Thread.aspx?ID=526</link><pubDate>7/14/2025 8:30:20 AM</pubDate></item><item><title>email problem - Created on Monday, May 19, 2025</title><description>&lt;b&gt;By Eric Y. on 5/19/2025 7:22:33 PM&lt;/b&gt;&lt;br&gt;I have a problem with creating emailing function.&lt;br&gt;Is ATEasy have function to email context to an address?&lt;br&gt;&lt;br&gt;&lt;b&gt;By DrATEasy (Ron Y.) on 5/20/2025 9:14:07 AM&lt;/b&gt;&lt;br&gt;Take a look at the DotNet.prg Example, test 5.1 load the example form named FormEmail and btnSend.OnClick shows how to send the email. The example is using System.Web.Mail .Net assembly that you have to include under Libraries.&lt;br&gt;&lt;br&gt;Ronnie&lt;br&gt;&lt;br&gt;</description><link>https://www.marvintest.com/Forums/Thread.aspx?ID=524</link><pubDate>5/19/2025 7:22:33 PM</pubDate></item><item><title>DLL Problem - Created on Wednesday, March 12, 2025</title><description>&lt;b&gt;By Stefan W. on 3/12/2025 5:14:46 AM&lt;/b&gt;&lt;br&gt;Hello guys, &lt;br&gt;&lt;br&gt;i have a problem using ATEasy8  with DLL´s. I want to open the DLL and make some tasks. On my PC, everthing is running. On another PC there is the error i have attached as picture.&lt;br&gt;On both systems is the framework .Net 4.7.2 installed. &lt;br&gt;The problem occured if i generate a new object for the DLL, like "ReadCSV = new Read_CSV.WorkWith_CSV()" &lt;br&gt;&lt;br&gt;It is a problem to get access to the DLL`?&lt;br&gt;&lt;br&gt;&lt;b&gt;By Stefan W. on 3/12/2025 8:29:54 AM&lt;/b&gt;&lt;br&gt;To Add something to that, this problem occures if the DLL is on a network drive. If it is on a local drive, it works fine&lt;br&gt;&lt;br&gt;&lt;b&gt;By DrATEasy (Ron Y.) on 3/25/2025 9:27:58 AM&lt;/b&gt;&lt;br&gt;Hi,&lt;br&gt;&lt;br&gt;You can download and use the Dependencies app to check why your DLL will not load, it is probably uses another DLL that is missing or not in the correct folder. &lt;br&gt;&lt;br&gt;Here is a link to the tool:&lt;br&gt;https://github.com/lucasg/Dependencies&lt;br&gt;&lt;br&gt;Once you run it, open the DLL on both machine and compare and see what is missing.&lt;br&gt;&lt;br&gt;Ronnie&lt;br&gt;&lt;br&gt;&lt;b&gt;By Stefan W. on 4/1/2025 5:16:16 AM&lt;/b&gt;&lt;br&gt;Hey, &lt;br&gt;thanks for your answer. Is this GUI only for dependecies? It is possible to see if the dll is blocked or the rights for the dll (User) are not correct?&lt;br&gt;&lt;br&gt;&lt;b&gt;By DrATEasy (Ron Y.) on 4/1/2025 11:50:49 AM&lt;/b&gt;&lt;br&gt;Only dependencies, missing DLLs or a function that is called by you DLL.&lt;br&gt;If the GUI shows that nothing is wrong try to disable your Anti Virus or other security software.&lt;br&gt;&lt;br&gt;Ronnie&lt;br&gt;&lt;br&gt;</description><link>https://www.marvintest.com/Forums/Thread.aspx?ID=523</link><pubDate>3/12/2025 5:14:46 AM</pubDate></item><item><title>Creating Tasks During Runtime - Created on Thursday, February 20, 2025</title><description>&lt;b&gt;By Semrah O. on 2/20/2025 1:37:26 PM&lt;/b&gt;&lt;br&gt;I have a task that I do consistently but at 200+ frequencies. I want to go through each one even if a task fails. What I would like is for there to be a task for every single frequency. Besides for manually copying the task 200 times and changing the frequency variable is there way to automatically set a parameter and initiate a task during runtime?&lt;br&gt;&lt;br&gt;&lt;b&gt;By John on 2/20/2025 3:17:29 PM&lt;/b&gt;&lt;br&gt;Hello,&lt;br&gt;&lt;br&gt;You can create a procedure RepeateTest() in the Program and call it at the end of the Test you want to Run n Times&lt;br&gt;&lt;br&gt;The parameter you will pass is the nTimes you want to run the test. &lt;br&gt;&lt;br&gt;Procedure RepeatTest(nTimes):Void&lt;br&gt;----------------------------------&lt;br&gt;nTimes: Val Short&lt;br&gt;i: Long&lt;br&gt;s: String&lt;br&gt;{&lt;br&gt;TestStatus=NONE&lt;br&gt;&lt;br&gt;s=GetLogString(aLogStringCalcTestStatus)&lt;br&gt;i=Pos(Format(Test.Index+1, "00"), s)&lt;br&gt;s=Left(s, i)+Format(iTestIndex, "00")+Mid(s, i+Len(Format(Test.Index+1, "00")))&lt;br&gt;&lt;br&gt;&lt;br&gt;SetLogString(s)&lt;br&gt;if iTestIndex&lt;lTest-1&lt;br&gt;	iTestIndex=iTestIndex+1&lt;br&gt;	if (App.Flags and (aFlagsTestit or aFlagsDoitLoopit))=0&lt;br&gt;		Test endevents Test&lt;br&gt;	else&lt;br&gt;		iTestIndex=0&lt;br&gt;	endif&lt;br&gt;else&lt;br&gt;	iTestIndex=0&lt;br&gt;endif&lt;br&gt;}&lt;br&gt;&lt;br&gt;Define a test that you want to run.  Perform the test as normal(e.g setting frequency, test limits, etc.) Then Call RepeatTest(200) at the very end.&lt;br&gt;&lt;br&gt;You will need to define a program variable, iTestIndex to track how many times you test has run.&lt;br&gt;&lt;br&gt;John&lt;br&gt;&lt;br&gt;&lt;b&gt;By Semrah O. on 2/21/2025 8:34:19 AM&lt;/b&gt;&lt;br&gt;Awesome, this is great! Thank you for taking the time to write this out for me.&lt;br&gt;&lt;br&gt;</description><link>https://www.marvintest.com/Forums/Thread.aspx?ID=521</link><pubDate>2/20/2025 1:37:26 PM</pubDate></item><item><title>How to create a logarithmic chart plot to represent phase noise results - Created on Wednesday, February 19, 2025</title><description>&lt;b&gt;By Eric J. on 2/19/2025 1:03:09 PM&lt;/b&gt;&lt;br&gt;I have data back from a spectrum analyzer that represents the phase noise from a signal source.  The data is the magnitude data and comes back as x number of points across decades of frequencies.  This particular example is 195 points from 10Hz to 100MHz.&lt;br&gt;&lt;br&gt;In Excel I can recreate the plot using a scatter plot type chart where I pass in the X and Y components.  I can recreate the frequency logarithmically with a formula that disperses the 195 points across the 10Hz to 100MHz range.&lt;br&gt;&lt;br&gt;So far with ATEasy, I have not been able to find a way to provide X,Y pairs and have them plotted.  &lt;br&gt;&lt;br&gt;I understand that there is a log scale option for the x axis, but I don't know to provide it my 195 points.&lt;br&gt;&lt;br&gt;&lt;b&gt;By Eric J. on 2/19/2025 1:04:20 PM&lt;/b&gt;&lt;br&gt;Attaching result with log scale selected.&lt;br&gt;&lt;br&gt;&lt;b&gt;By DrATEasy (Ron Y.) on 2/20/2025 8:13:31 AM&lt;/b&gt;&lt;br&gt;Hi,&lt;br&gt;&lt;br&gt;Not sure what chart you are expecting to see. Can you provide a sample of the chart you are expecting to see from excel?&lt;br&gt;&lt;br&gt;According to your screenshot of ATEasy logarithmic plot, most of the noise signals were active at frequencies around 100Hz, instead of using fixed axis’s range of 1-100MHz, you could zoom into active frequencies only by setting X-Axis.AutoScale=True and Plot.AutoScale=True.&lt;br&gt;&lt;br&gt;Ronnie&lt;br&gt;&lt;br&gt;</description><link>https://www.marvintest.com/Forums/Thread.aspx?ID=520</link><pubDate>2/19/2025 1:03:09 PM</pubDate></item><item><title>How to create a backup or archive of an entire development? - Created on Wednesday, February 12, 2025</title><description>&lt;b&gt;By Eric J. on 2/12/2025 12:31:59 PM&lt;/b&gt;&lt;br&gt;Is there a tool or option to create a backup of a workspace or project such that everything that is needed to run is collected and archived into a package that can be exported or saved offline?   Similar to an Install package that can be delivered to other machines.&lt;br&gt;&lt;br&gt;&lt;b&gt;By DrATEasy (Ron Y.) on 2/13/2025 5:18:33 AM&lt;/b&gt;&lt;br&gt;There is no built in setup utility, you will need to use other tools to create your own setup (i.e. InstallSheild or similar, see https://www.edopedia.com/blog/best-installers-for-windows-programs/). To deploy ATEasy executable you can embed the ATEasy run-time to the executable (see the project properties). In addition, the ATEasy setup has a silent install that you can embed in your setup (see the help for more information about the setup command line options).&lt;br&gt;&lt;br&gt;Ronnie&lt;br&gt;&lt;br&gt;</description><link>https://www.marvintest.com/Forums/Thread.aspx?ID=519</link><pubDate>2/12/2025 12:31:59 PM</pubDate></item><item><title>How to set a in commands a function with parameter - Created on Thursday, December 26, 2024</title><description>&lt;b&gt;By Elik L. on 12/26/2024 9:47:58 AM&lt;/b&gt;&lt;br&gt;I have a function that I want to set in commands the command with a type. For example: function m_set(enumType).  The command is Set on and set off.&lt;br&gt;The types are in enumOn_Off are: enumOn_Off.ON , enumOn_Off.OFF.&lt;br&gt;Usually when attach a procedure you get in the command the syntax m_set(enumType).&lt;br&gt;How to make the command&lt;br&gt;Set&lt;br&gt;       Mode&lt;br&gt;                  On          m_set(enumOn_Off.ON)&lt;br&gt;                  Off         m_set(enumOn_Off.OFF)&lt;br&gt;&lt;br&gt;Thanks.&lt;br&gt;&lt;br&gt;&lt;b&gt;By DrATEasy (Ron Y.) on 12/27/2024 9:49:31 AM&lt;/b&gt;&lt;br&gt;Use the Command parameter replacement window (shown bellow the command tree) and type there the constant arguments you want to pass. Look in page 117 of ATEasy 2023 getting started for the image.&lt;br&gt;&lt;br&gt;Ron&lt;br&gt;&lt;br&gt;</description><link>https://www.marvintest.com/Forums/Thread.aspx?ID=518</link><pubDate>12/26/2024 9:47:58 AM</pubDate></item><item><title>Error while Installing ATEasy v10 - Created on Monday, September 16, 2024</title><description>&lt;b&gt;By Jason S. on 9/16/2024 10:41:33 AM&lt;/b&gt;&lt;br&gt;Trying to install v10 on Win 10 22H2 but get stuck on "Feature Transfer Error" Feature: Example Files. I've attempted installing on/off domain, installing to C:\, C:\Program Files (x86), D:\, tried "Custom" install removing example files - issue persists. Disabled DEP, disabled AV, checked ACLs, ran SFC, have full admin privs. &lt;br&gt;&lt;br&gt;Any suggestions appreciated. Thanks in advance.&lt;br&gt;&lt;br&gt;&lt;b&gt;By Jason S. on 9/16/2024 10:42:14 AM&lt;/b&gt;&lt;br&gt;Edit: Feature Transfer Error, Access Denied.&lt;br&gt;&lt;br&gt;&lt;b&gt;By Jason S. on 9/16/2024 12:16:16 PM&lt;/b&gt;&lt;br&gt;Edit: Feature Transfer Error, Access Denied.&lt;br&gt;&lt;br&gt;&lt;b&gt;By DrATEasy (Ron Y.) on 9/16/2024 12:20:01 PM&lt;/b&gt;&lt;br&gt;Can you attach screen capture of the setup + error message? so we can see what step is failing.  we have not see this before. Does this happen in one machine or more?&lt;br&gt;&lt;br&gt;Ronnie&lt;br&gt;&lt;br&gt;&lt;b&gt;By Jason S. on 9/16/2024 12:21:56 PM&lt;/b&gt;&lt;br&gt;Edit: Feature Transfer Error, Access Denied.&lt;br&gt;&lt;br&gt;&lt;b&gt;By Jason S. on 9/16/2024 12:32:10 PM&lt;/b&gt;&lt;br&gt;Unfortunately I cannot provide any screenshots. Happens to just one, tested on another and install goes through without issue WITH DEP enabled, WITH AV enabled and no exceptions, same version of Windows. &lt;br&gt;&lt;br&gt;The install kicks off and creates the parent folder and six sub folders including "C:\Program Files (x86)\Examples" with a semi-fully populated directory so it's not like it can't write to it. The issue is the same when I have full ownership of the parent folder (vs TrustedInstaller) so I know it's not ACLs. There is nothing found in EventViewer, it doesn't throw an install log even when I try to do a silent install, the log file is blank.&lt;br&gt;&lt;br&gt;Back to the install, the progress bar halts maybe 1/3 of the way through and a generic (application) window appears with the Feature Transfer Error, &lt;new line&gt; Feature: Example Files, &lt;New Line&gt; ... I'd have to go back to get the exact verbiage but it doesn't appear to be a Window Installer error, seems application specific.&lt;br&gt;&lt;br&gt;&lt;b&gt;By Jason S. on 9/16/2024 12:45:54 PM&lt;/b&gt;&lt;br&gt;Unfortunately I cannot provide any screenshots. Happens to just one, tested on another and install goes through without issue WITH DEP enabled, WITH AV enabled and no exceptions, same version of Windows. &lt;br&gt;&lt;br&gt;The install kicks off and creates the parent folder and six sub folders including "C:\Program Files (x86)\Examples" with a semi-fully populated directory so it's not like it can't write to it. The issue is the same when I have full ownership of the parent folder (vs TrustedInstaller) so I know it's not ACLs. There is nothing found in EventViewer, it doesn't throw an install log even when I try to do a silent install, the log file is blank.&lt;br&gt;&lt;br&gt;Back to the install, the progress bar halts maybe 1/3 of the way through and a generic (application) window appears with the Feature Transfer Error, &lt;new line&gt; Feature: Example Files, &lt;New Line&gt; ... I'd have to go back to get the exact verbiage but it doesn't appear to be a Window Installer error, seems application specific.&lt;br&gt;&lt;br&gt;&lt;b&gt;By Jason S. on 9/16/2024 12:48:54 PM&lt;/b&gt;&lt;br&gt;Unfortunately I cannot provide any screenshots. Happens to just one, tested on another and install goes through without issue WITH DEP enabled, WITH AV enabled and no exceptions, same version of Windows. &lt;br&gt;&lt;br&gt;The install kicks off and creates the parent folder and six sub folders including "C:\Program Files (x86)\Examples" with a semi-fully populated directory so it's not like it can't write to it. The issue is the same when I have full ownership of the parent folder (vs TrustedInstaller) so I know it's not ACLs. There is nothing found in EventViewer, it doesn't throw an install log even when I try to do a silent install, the log file is blank.&lt;br&gt;&lt;br&gt;Back to the install, the progress bar halts maybe 1/3 of the way through and a generic (application) window appears with the Feature Transfer Error, &lt;new line&gt; Feature: Example Files, &lt;New Line&gt; ... I'd have to go back to get the exact verbiage but it doesn't appear to be a Window Installer error, seems application specific.&lt;br&gt;&lt;br&gt;&lt;b&gt;By Jason S. on 9/16/2024 12:49:14 PM&lt;/b&gt;&lt;br&gt;Unfortunately I cannot provide any screenshots. Happens to just one, tested on another and install goes through without issue WITH DEP enabled, WITH AV enabled and no exceptions, same version of Windows. &lt;br&gt;&lt;br&gt;The install kicks off and creates the parent folder and six sub folders including "C:\Program Files (x86)\Examples" with a semi-fully populated directory so it's not like it can't write to it. The issue is the same when I have full ownership of the parent folder (vs TrustedInstaller) so I know it's not ACLs. There is nothing found in EventViewer, it doesn't throw an install log even when I try to do a silent install, the log file is blank.&lt;br&gt;&lt;br&gt;Back to the install, the progress bar halts maybe 1/3 of the way through and a generic (application) window appears with the Feature Transfer Error, &lt;new line&gt; Feature: Example Files, &lt;New Line&gt; ... I'd have to go back to get the exact verbiage but it doesn't appear to be a Window Installer error, seems application specific.&lt;br&gt;&lt;br&gt;&lt;b&gt;By Jason S. on 9/16/2024 1:40:12 PM&lt;/b&gt;&lt;br&gt;So it may actually be a MS error instead as this is the window that appears with the error information, just a different error.&lt;br&gt;&lt;br&gt;&lt;b&gt;By Jason S. on 9/16/2024 2:04:05 PM&lt;/b&gt;&lt;br&gt;Looks like a possible corrupted installation package, and the error window seems to be related to Microsoft's Foundation Classes libraries. Looking into updating those via an updated installer.&lt;br&gt;&lt;br&gt;&lt;b&gt;By DrATEasy (Ron Y.) on 9/16/2024 2:20:29 PM&lt;/b&gt;&lt;br&gt;Yes, it looks like it fails on Microsoft component (MFC).&lt;br&gt;&lt;br&gt;Try download and install the latest ATEasy 10 using this URL:&lt;br&gt;&lt;br&gt;https://www.marvintest.com/Downloads.aspx?Type=Setup%2fPackage&amp;keywords=&amp;filename=156e&amp;search=download&lt;br&gt;&lt;br&gt;Ronnie&lt;br&gt;&lt;br&gt;&lt;b&gt;By Jason S. on 9/16/2024 2:26:11 PM&lt;/b&gt;&lt;br&gt;Just to clarify, the image submitted was not the actual error. The error I am receiving does not reference MFC but specifically states Feature: Example Files, Component: &lt;null&gt;, File: &lt;null&gt;, Error: Access Denied.&lt;br&gt;&lt;br&gt;I am restricted to 156.e at the moment but will try a new burned copy and see if that helps. Thanks again!&lt;br&gt;&lt;br&gt;&lt;b&gt;By Jason S. on 9/17/2024 6:45:37 AM&lt;/b&gt;&lt;br&gt;Still getting Access Denied.&lt;br&gt;&lt;br&gt;&lt;b&gt;By DrATEasy (Ron Y.) on 9/17/2024 9:34:32 AM&lt;/b&gt;&lt;br&gt;We have not seen this issue before. Try to download the setup again also try another machine and see if this is still an issue.&lt;br&gt;&lt;br&gt;Ronnie&lt;br&gt;&lt;br&gt;&lt;b&gt;By Jason S. on 9/17/2024 10:48:37 AM&lt;/b&gt;&lt;br&gt;I understand this may be unprecedented, I guess what I'm looking for is WHERE the permissions required may be - i.e. is it a registry thing, is it c:\programdata, is it some place that I am missing. The problem I am facing is specific to this one machine. As previously mentioned, I can install on another box just fine. However, they are not interchangeable so I need this one specific instance to work. There are no install logs and no entries in event viewer so any guidance would be appreciated no matter how unprecedented this may be. Thank you in advance.&lt;br&gt;&lt;br&gt;&lt;b&gt;By DrATEasy (Ron Y.) on 9/17/2024 11:31:56 AM&lt;/b&gt;&lt;br&gt;Try is to install HW 5.0.7.0 on top of what you have it should sets the permission of these folders and than install ATEasy 10 156e. If it does not work, delete C:\Program Files (x86)\ATEasy 10.0\Examples and try to reinstall.&lt;br&gt;&lt;br&gt;Let me know if that worked,&lt;br&gt;Ronnie&lt;br&gt;&lt;br&gt;&lt;b&gt;By Jason S. on 9/17/2024 2:13:15 PM&lt;/b&gt;&lt;br&gt;It looks like the highest file version I have is HW 4.9.2.0, will that do?&lt;br&gt;&lt;br&gt;&lt;b&gt;By Jason S. on 9/17/2024 2:14:01 PM&lt;/b&gt;&lt;br&gt;Also, after I ack the error it rolls back the install so the C:\Program Files (x86)\ATEasy 10.0\ directory gets ripped by the installer.&lt;br&gt;&lt;br&gt;&lt;b&gt;By DrATEasy (Ron Y.) on 9/17/2024 2:19:02 PM&lt;/b&gt;&lt;br&gt;No recommended, Install 5.0.7.0, it is compatible with all ATEasy versions (the older versions have vulnerabilities that was fixed):&lt;br&gt;&lt;br&gt;https://www.marvintest.com/Search.aspx?Category=Download&amp;SearchType=AllWords&amp;kw=hw.exe&lt;br&gt;&lt;br&gt;&lt;b&gt;By Jason S. on 9/17/2024 3:21:14 PM&lt;/b&gt;&lt;br&gt;I tried 4.9.2.0 while waiting for a reply, received the same error, Access Denied.&lt;br&gt;&lt;br&gt;&lt;b&gt;By Jason S. on 9/17/2024 3:22:23 PM&lt;/b&gt;&lt;br&gt;Adding to my list, I've disabled UAC fully, and confirmed there are no policies running for AppLocker or WDAC&lt;br&gt;&lt;br&gt;&lt;b&gt;By DrATEasy (Ron Y.) on 9/17/2024 4:46:52 PM&lt;/b&gt;&lt;br&gt;Maybe see if Any folder above C:\Program Files (x86)\ATEasy 10.0\ have deny access or read-only permission. Maybe compare it to another machine that works. Also check registry permissions : HKEY_LOCAL_MACHINE\SOFTWARE\WOW6432Node\Marvin Test Solutions\ATEasy 10.0&lt;br&gt;&lt;br&gt;&lt;b&gt;By DrATEasy (Ron Y.) on 9/17/2024 4:48:00 PM&lt;/b&gt;&lt;br&gt;Also check the Windows events logs and see if there is a record of that.&lt;br&gt;&lt;br&gt;&lt;b&gt;By Jason S. on 9/18/2024 12:14:20 PM&lt;/b&gt;&lt;br&gt;Had to take ownership of C:\Windows\SysWOW64, installed successfully. Thank you for your assistance.&lt;br&gt;&lt;br&gt;</description><link>https://www.marvintest.com/Forums/Thread.aspx?ID=515</link><pubDate>9/16/2024 10:41:33 AM</pubDate></item><item><title>Python debugging - Created on Monday, September 16, 2024</title><description>&lt;b&gt;By Christoph B. on 9/16/2024 4:33:46 AM&lt;/b&gt;&lt;br&gt;is there any option to get the python traceback if an error occures?&lt;br&gt;&lt;br&gt;&lt;b&gt;By John on 9/16/2024 9:24:59 AM&lt;/b&gt;&lt;br&gt;Yes, you can.&lt;br&gt;Please see this post from stackoverflow:&lt;br&gt;https://stackoverflow.com/questions/1796510/accessing-a-python-traceback-from-the-c-api&lt;br&gt;&lt;br&gt;The second most popular answer can be implemented in ATEasy.  &lt;br&gt;In the Python Driver: Libraries&gt;Python&gt;Procedures; You will need to add PyErr_Fetch() and PyCallable_Check()in the DLL procedures: &lt;br&gt;----------------------------------------------------&lt;br&gt;Procedure PyErr_Fetch(): Void&lt;br&gt;exc:Var hPyObject&lt;br&gt;value:Var hPyObject&lt;br&gt;traceback:Var hPyObject&lt;br&gt;&lt;br&gt;----------------------------------------------------&lt;br&gt;Procedure PyErr_Fetch(): Long&lt;br&gt;pstO: Val hPyObject&lt;br&gt;&lt;br&gt;&lt;br&gt;&lt;br&gt;&lt;br&gt;John&lt;br&gt;&lt;br&gt;</description><link>https://www.marvintest.com/Forums/Thread.aspx?ID=514</link><pubDate>9/16/2024 4:33:46 AM</pubDate></item><item><title>Parallel testing - Created on Wednesday, August 28, 2024</title><description>&lt;b&gt;By Christoph B. on 8/28/2024 4:43:38 AM&lt;/b&gt;&lt;br&gt;My current goal is to set up a measuring station that can run four long-term measurements simultaneously. I want to be able to start and run the measurements as independently of each other as possible. &lt;br&gt;&lt;br&gt;Is there a function for parallelisation in ATEasy? Otherwise, my idea would be to simply start the created EXE several times.&lt;br&gt;&lt;br&gt;Ideally, each of the tests should be at a different location. For example: &lt;br&gt;- Test status 1 has just been started&lt;br&gt;- Test stand 2 is finished and the test person reloads it&lt;br&gt;- Test stand 3 is finished and waiting for reset&lt;br&gt;- Test stand 4 is running&lt;br&gt;&lt;br&gt;Translated with DeepL.com (free version)&lt;br&gt;&lt;br&gt;&lt;b&gt;By DrATEasy (Ron Y.) on 8/28/2024 9:21:30 AM&lt;/b&gt;&lt;br&gt;Yes, ATEasy support parallel testing in one instance. You can have 4 DUT tested at the same time. Each one of them will run on a different thread.  Please check the TestExecMultipleUut.prj in the example folder it show sequential and parallel testing. The help file has extensive detail of how to implement that using the TestExec "Look in the Index tab for 'Multiple UUT Testing'. There are also examples in the knowledge base, for example: https://www.marvintest.com/KB/Q200239/ and https://www.marvintest.com/KB/Q200242 and some example for semiconductor testing for multi site.&lt;br&gt;&lt;br&gt;Ronnie&lt;br&gt;&lt;br&gt;&lt;b&gt;By Christoph B. on 8/29/2024 12:46:24 AM&lt;/b&gt;&lt;br&gt;Thanks, that looks like what I'm looking for. Is there a way to start each task individually via user input after the tester has prepared the next DUT, or do all 4 tests always have to be started at the same time?&lt;br&gt;&lt;br&gt;&lt;b&gt;By DrATEasy (Ron Y.) on 8/29/2024 10:10:03 AM&lt;/b&gt;&lt;br&gt;The Start button starts all 4 of them. If you need to start them individually based on user input, you can use array of critical sections (one for DUT and on Init Program or OnInitTask they can wait (using WaitForSingleObject) until triggered from your user interface or other conditions.&lt;br&gt;&lt;br&gt;</description><link>https://www.marvintest.com/Forums/Thread.aspx?ID=512</link><pubDate>8/28/2024 4:43:38 AM</pubDate></item><item><title>ComSend with Escape-Sequence - Created on Tuesday, June 11, 2024</title><description>&lt;b&gt;By Hendrik R. on 6/11/2024 1:19:39 AM&lt;/b&gt;&lt;br&gt;Hello everyone!&lt;br&gt;I would like to send a string chain to a terminal device using the procedure. The current call looks like this:&lt;br&gt;&lt;br&gt;ComSend(Address, “”, 1000,, “\x01\xCE\x00\x00\x27\x60”)&lt;br&gt;&lt;br&gt;This also works. Now I would like to use the \xCE (CE is a command) as a variable. In other words:&lt;br&gt;&lt;br&gt;Variable1 = “0xCE”&lt;br&gt;&lt;br&gt;ComSend(Address, “”, 1000,, “\x01” + Variable1 + “\x00\x00\x27\x60”)&lt;br&gt;&lt;br&gt;However, I then have the problem that the \x00 is no longer sent. With the second command, I only see the following above the USB sniffer: 01 CE&lt;br&gt;However, I would like to see the following string in the USB sniffer:&lt;br&gt;01 CE 00 00 27 60&lt;br&gt;I also get this when I use the first ComSend command.&lt;br&gt;&lt;br&gt;Does anyone have a tip or an alternative procedure that I can use?&lt;br&gt;&lt;br&gt;Many thanks in advance!&lt;br&gt;&lt;br&gt;Translated with DeepL.com (free version)&lt;br&gt;&lt;br&gt;&lt;b&gt;By Paul T. on 6/11/2024 5:49:55 AM&lt;/b&gt;&lt;br&gt;Hi Hendrik&lt;br&gt;&lt;br&gt;I think you need the chr() command.&lt;br&gt;Try the to use „… + chr(Variable1)+ …“.&lt;br&gt;&lt;br&gt;&lt;br&gt;Best,&lt;br&gt;Paul&lt;br&gt;&lt;br&gt;</description><link>https://www.marvintest.com/Forums/Thread.aspx?ID=510</link><pubDate>6/11/2024 1:19:39 AM</pubDate></item><item><title>cmd.exe Problem - Created on Wednesday, April 3, 2024</title><description>&lt;b&gt;By Stefan W. on 4/3/2024 5:32:34 AM&lt;/b&gt;&lt;br&gt;Hey, &lt;br&gt;I tried to use this function "WinExec("cmd.exe")". It works fine and opends the command interface. But here is the problem. &lt;br&gt;I tried the command "tftp", but the program said "The command "tftp" is either misspelled or could not be found."&lt;br&gt;&lt;br&gt;If i use the cmd.exe without ATEasy, it works fine and i can use this command.  Are there any "Environment variables" like in Windows that i have to search in the setting of ATEasy. &lt;br&gt;&lt;br&gt;Can any body help me with my problem?&lt;br&gt;&lt;br&gt;&lt;b&gt;By Stefan W. on 4/4/2024 12:40:07 AM&lt;/b&gt;&lt;br&gt;ok, I find a solution (the problem). If I use ATEasy 2021 (64Bit) it works, if I use ATEasy 2021 (32Bit) it doesn´t work.&lt;br&gt;&lt;br&gt;&lt;b&gt;By DrATEasy (Ron Y.) on 4/4/2024 2:27:15 PM&lt;/b&gt;&lt;br&gt;Please take a look at the following article, it has many cmd execution examples, those example run on 32-bit or 64-bit of ATEasy:&lt;br&gt;&lt;br&gt;https://www.marvintest.com/KB/Q200173/Running-a-batch-file-or-command-prompt-from-ATEasy&lt;br&gt;&lt;br&gt;You can use environment variables, for example:&lt;br&gt;&lt;br&gt;WinExec("cmd.exe /k \"dir %temp%\"", aformShowNormal)&lt;br&gt;&lt;br&gt;&lt;br&gt;Ron&lt;br&gt;&lt;br&gt;</description><link>https://www.marvintest.com/Forums/Thread.aspx?ID=509</link><pubDate>4/3/2024 5:32:34 AM</pubDate></item><item><title>Upgrading from ATEasy 7.0 to 2023, problem with for-statement - Created on Thursday, January 25, 2024</title><description>&lt;b&gt;By Gerhard F. on 1/25/2024 7:28:56 AM&lt;/b&gt;&lt;br&gt;Hello,&lt;br&gt;we are using ATEASY 7.0 since many years and due to some performances issues we would like to upgrade to ATEasy 2023.&lt;br&gt;&lt;br&gt;So I was installing ATEasy 2023 and opening one of our workspaces.&lt;br&gt;&lt;br&gt;There were some warning but the main problem was that obviously the for-statement is interpreted differently between these two versions.&lt;br&gt;&lt;br&gt;Here a for-loop which worked fine under 7.0:&lt;br&gt;&lt;br&gt;For (dwIdx=0 ) To ( dwIdx &lt; 8) Do&lt;br&gt;		....do whatever&lt;br&gt;Next&lt;br&gt;&lt;br&gt;Under 2023 the statemant within the loop are not executed at all.&lt;br&gt;&lt;br&gt;It's clear to me that the used syntax isn't correct but worked under 7.0&lt;br&gt;&lt;br&gt;Is this a known behaviour?&lt;br&gt;&lt;br&gt;&lt;br&gt;many thanks in advance&lt;br&gt;&lt;br&gt;Gerhard&lt;br&gt;&lt;br&gt;&lt;b&gt;By DrATEasy (Ron Y.) on 1/25/2024 9:15:58 AM&lt;/b&gt;&lt;br&gt;Hi,&lt;br&gt;&lt;br&gt;This was a bug in v7.x that was fixed in a later version.&lt;br&gt;&lt;br&gt;'dwIdx&lt;8' produces boolean expression that can be TRUE (&lt;&gt;0 but -1 internally) or FALSE)(0), since  dwIdx is 0 initially -&gt; 0&lt;8 is TRUE (-1) and that is why the loop never execute the  do whatever...&lt;br&gt;&lt;br&gt;Regards,&lt;br&gt;Ronnie&lt;br&gt;&lt;br&gt;&lt;b&gt;By Gerhard F. on 1/30/2024 1:46:38 AM&lt;/b&gt;&lt;br&gt;Hello Ronnie,&lt;br&gt;&lt;br&gt;many thanks for clarifying this issue.&lt;br&gt;&lt;br&gt;Unfortunately I'm not able to test the changed workspace because our 30-day-trial license expired.&lt;br&gt;Would it be possible to get a new trial-license?&lt;br&gt;&lt;br&gt;Many thanks in advance!&lt;br&gt;&lt;br&gt;regards&lt;br&gt;Gerhard&lt;br&gt;&lt;br&gt;&lt;b&gt;By DrATEasy (Ron Y.) on 1/30/2024 8:29:06 AM&lt;/b&gt;&lt;br&gt;You can create a support incident requesting another 30 days evaluation license.&lt;br&gt;&lt;br&gt;https://www.marvintest.com/Magic/&lt;br&gt;&lt;br&gt;Ronnie&lt;br&gt;&lt;br&gt;&lt;b&gt;By Gerhard F. on 1/31/2024 6:09:19 AM&lt;/b&gt;&lt;br&gt;Hello Ronnie,&lt;br&gt;&lt;br&gt;thanks for the advice, I already created an Incident (#22727).&lt;br&gt;&lt;br&gt;regards&lt;br&gt;Gerhard&lt;br&gt;&lt;br&gt;</description><link>https://www.marvintest.com/Forums/Thread.aspx?ID=508</link><pubDate>1/25/2024 7:28:56 AM</pubDate></item><item><title>Vector Directions change after long duration of testing - Created on Tuesday, January 23, 2024</title><description>&lt;b&gt;By Chris G. on 1/23/2024 10:58:24 AM&lt;/b&gt;&lt;br&gt;I am trying to set up a test that runs back-to-back tests over an extended period of time. One of the major issues I have come across is the direction for each channel will either, shift or go completely random. I am currently initializing the gx5295 card at the beginning of each test, then loading the tests vectors with directions and settings. at the end of the test I am resetting the boards. When this issue occurs, the issue sticks around until I reset the computer. any Ideas on what could be causing this?&lt;br&gt;&lt;br&gt;&lt;b&gt;By DrATEasy (Ron Y.) on 1/23/2024 12:51:26 PM&lt;/b&gt;&lt;br&gt;This is a GX5295/GtDio/DioEasy support question. Please create a magic incident for that so we can support you better. You will find it under the Support menu in our website.&lt;br&gt;&lt;br&gt;Regards,&lt;br&gt;Ronnie&lt;br&gt;&lt;br&gt;</description><link>https://www.marvintest.com/Forums/Thread.aspx?ID=507</link><pubDate>1/23/2024 10:58:24 AM</pubDate></item><item><title>Test Executive Not Unloading - Created on Monday, October 2, 2023</title><description>&lt;b&gt;By Mark M. on 10/2/2023 12:32:01 PM&lt;/b&gt;&lt;br&gt;Running ATEasy 2021 (Build 160b)&lt;br&gt;&lt;br&gt;To Whom It May Concern,&lt;br&gt;&lt;br&gt;We have been running into issues with unloading TestExec.  To give some context, our application runs our own main window with TestExec running parallel to it, and semi-controlled by our window.  We force the user to close TestExec first, then our main window second.  Lately, when we unload TestExec, it stops drawing the window, but keeps this window handle and a process running in the background.  I've tried explicitly closing the window with an "Unload m_frmMain" statement, and stepped through the code.  It still had a non-zero window handle immediately after that line executed.  I need a fix for this since this software needs to work continuously without interruption.&lt;br&gt;&lt;br&gt;Thanks,&lt;br&gt;Mark McDaniel&lt;br&gt;Product Test Engineer&lt;br&gt;Apex Microtechnology&lt;br&gt;&lt;br&gt;&lt;b&gt;By DrATEasy (Ron Y.) on 10/2/2023 12:56:56 PM&lt;/b&gt;&lt;br&gt;Hi,&lt;br&gt;&lt;br&gt;- What ATEasy version/build are you using? &lt;br&gt;- How does the user closes the TestExec? Is it from the Programs, Exit menu item? &lt;br&gt;- Have you tried to trace into the System/Drivers OnEnd events? If it is executable, you can add MessageBox calls. Maybe one of your OnEnd events is preventing from exiting.&lt;br&gt;- Have you tried to call the exit statement? &lt;br&gt;- If the issue still occurs, I suggest to use the TestExec example and see if it happens there?&lt;br&gt;&lt;br&gt;&lt;br&gt;Ron&lt;br&gt;&lt;br&gt;&lt;b&gt;By Mark M. on 10/2/2023 1:11:09 PM&lt;/b&gt;&lt;br&gt;Salutations Ron,&lt;br&gt;&lt;br&gt;1/ As stated at the top of my post, I am running ATEasy 2021 Build 106b&lt;br&gt;2/ My main code calls the "TestExec.ExitApp" Procedure to close TestExec generally.&lt;br&gt;3/ I have not tried to trace OnEnd events.  What I have done was to trace step-by-step what happens when clicking the form's close 'X' icon.  And, it steps through and sets the exit event and triggers it, but fails to unload the window and release the handle.&lt;br&gt;4/ Yes.&lt;br&gt;5/ We've made some adjustments to TestExec to work as we need it to, so the example is not apples-to-apples.  This code worked fine before, but suddenly stopped working without provocation.  I didn't know if maybe a Windows update broke something or what.&lt;br&gt;&lt;br&gt;Anyways, I will check the OnEnd events and see if that rabbit hole leads me to the carrot.&lt;br&gt;&lt;br&gt;Thanks,&lt;br&gt;-Mark&lt;br&gt;&lt;br&gt;&lt;b&gt;By DrATEasy (Ron Y.) on 10/2/2023 2:06:09 PM&lt;/b&gt;&lt;br&gt;2. In that case, trace that routine ExitApp, It calls the following, one of these may prevent from exiting or maybe it is the event at the end:&lt;br&gt;&lt;br&gt;System.OnEndSystem()&lt;br&gt;&lt;br&gt;for iIndex=System.DriversCount-1 downto 0&lt;br&gt;	System.Drivers(iIndex).OnEnd()&lt;br&gt;next&lt;br&gt;&lt;br&gt;System.OnEnd()&lt;br&gt;&lt;br&gt;! Signal to next exe that this program is just about to exit&lt;br&gt;evWaitExitExe=CreateObject("AEvent")&lt;br&gt;evWaitExitExe.Name=m_stData.stConst.EXTERNALEXE_EXITEVENT_NAME&lt;br&gt;evWaitExitExe.SetEvent()   &lt;- could prevent from exiting &lt;br&gt;&lt;br&gt;exit &lt;br&gt;&lt;br&gt;&lt;br&gt;Ron&lt;br&gt;&lt;br&gt;&lt;b&gt;By Mark M. on 10/2/2023 2:17:30 PM&lt;/b&gt;&lt;br&gt;Salutations Ron,&lt;br&gt;&lt;br&gt;1/ As stated at the top of my post, I am running ATEasy 2021 Build 106b&lt;br&gt;2/ My main code calls the "TestExec.ExitApp" Procedure to close TestExec generally.&lt;br&gt;3/ I have not tried to trace OnEnd events.  What I have done was to trace step-by-step what happens when clicking the form's close 'X' icon.  And, it steps through and sets the exit event and triggers it, but fails to unload the window and release the handle.&lt;br&gt;4/ Yes.&lt;br&gt;5/ We've made some adjustments to TestExec to work as we need it to, so the example is not apples-to-apples.  This code worked fine before, but suddenly stopped working without provocation.  I didn't know if maybe a Windows update broke something or what.&lt;br&gt;&lt;br&gt;Anyways, I will check the OnEnd events and see if that rabbit hole leads me to the carrot.&lt;br&gt;&lt;br&gt;Thanks,&lt;br&gt;-Mark&lt;br&gt;&lt;br&gt;&lt;b&gt;By Mark M. on 10/2/2023 2:19:19 PM&lt;/b&gt;&lt;br&gt;[Quote= Mark M. wrote:&lt;br&gt;Salutations Ron,&lt;br&gt;&lt;br&gt;1/ As stated at the top of my post, I am running ATEasy 2021 Build 106b&lt;br&gt;2/ My main code calls the "TestExec.ExitApp" Procedure to close TestExec generally.&lt;br&gt;3/ I have not tried to trace OnEnd events.  What I have done was to trace step-by-step what happens when clicking the form's close 'X' icon.  And, it steps through and sets the exit event and triggers it, but fails to unload the window and release the handle.&lt;br&gt;4/ Yes.&lt;br&gt;5/ We've made some adjustments to TestExec to work as we need it to, so the example is not apples-to-apples.  This code worked fine before, but suddenly stopped working without provocation.  I didn't know if maybe a Windows update broke something or what.&lt;br&gt;&lt;br&gt;Anyways, I will check the OnEnd events and see if that rabbit hole leads me to the carrot.&lt;br&gt;&lt;br&gt;Thanks,&lt;br&gt;-Mark =Quote]&lt;br&gt;&lt;br&gt;Sorry, I refreshed my window and it reposted this again.  Disregard.&lt;br&gt;&lt;br&gt;&lt;b&gt;By Mark M. on 10/2/2023 2:46:37 PM&lt;/b&gt;&lt;br&gt;[Quote= DrATEasy (Ron Y.) wrote:&lt;br&gt;2. In that case, trace that routine ExitApp, It calls the following, one of these may prevent from exiting or maybe it is the event at the end:&lt;br&gt;&lt;br&gt;System.OnEndSystem()&lt;br&gt;&lt;br&gt;for iIndex=System.DriversCount-1 downto 0&lt;br&gt;    System.Drivers(iIndex).OnEnd()&lt;br&gt;next&lt;br&gt;&lt;br&gt;System.OnEnd()&lt;br&gt;&lt;br&gt;! Signal to next exe that this program is just about to exit&lt;br&gt;evWaitExitExe=CreateObject("AEvent")&lt;br&gt;evWaitExitExe.Name=m_stData.stConst.EXTERNALEXE_EXITEVENT_NAME&lt;br&gt;evWaitExitExe.SetEvent()   &lt;- could prevent from exiting &lt;br&gt;&lt;br&gt;exit &lt;br&gt;&lt;br&gt;&lt;br&gt;Ron =Quote]&lt;br&gt;&lt;br&gt;We had commented out much of this code because we just wanted it to close TestExec, and not the whole application.  I found a fix by adding "If (Not pbCancel) Then Exit" as the last line in my main windows OnUnload Procedure.  This appears to kill the hanging TestExec thread that wasn't closing any other way up until now.  So, thanks for your suggestions.  The issue is resolved.&lt;br&gt;&lt;br&gt;</description><link>https://www.marvintest.com/Forums/Thread.aspx?ID=505</link><pubDate>10/2/2023 12:32:01 PM</pubDate></item><item><title>Question about Knowledge Base Article # Q200211Read Prior Article Read Next Article - Created on Wednesday, June 28, 2023</title><description>&lt;b&gt;By Yuval S. on 6/28/2023 4:09:19 AM&lt;/b&gt;&lt;br&gt;Hi Need help in defining tester type in ATEasy,&lt;br&gt;&lt;br&gt;i set variable named tets the points to testet type (ArrayTest.MyClass)&lt;br&gt;&lt;br&gt;&lt;br&gt;&lt;br&gt;I get this message : Type 'ArrayTest.MyClass' is undefined &lt;br&gt;&lt;br&gt;What am I doing wrong ?&lt;br&gt;&lt;br&gt;&lt;br&gt;Thanks&lt;br&gt;&lt;br&gt;&lt;b&gt;By John on 6/28/2023 10:53:30 AM&lt;/b&gt;&lt;br&gt;Hello Yuval,&lt;br&gt;&lt;br&gt;Make sure the .NET class called "MyClass" is built (from visual studio) into a dll and import it to ATEasy under Libraries.&lt;br&gt;&lt;br&gt;After it's imported, you can define your tester variable as type ArrayTest.MyClass&lt;br&gt;&lt;br&gt;Regards,&lt;br&gt;John&lt;br&gt;&lt;br&gt;&lt;b&gt;By Yuval S. on 6/29/2023 12:46:36 AM&lt;/b&gt;&lt;br&gt;Thanks for your response, I try to built "MyClass" and i get this error:&lt;br&gt;&lt;br&gt;CS5001 C# Program does not contain a static 'Main' method suitable for an entry point&lt;br&gt;&lt;br&gt;&lt;b&gt;By John on 6/29/2023 9:23:15 AM&lt;/b&gt;&lt;br&gt;You will need to change output type under Project&gt;Properties to "Class Library" instead of console application.&lt;br&gt;&lt;br&gt;</description><link>https://www.marvintest.com/Forums/Thread.aspx?ID=504</link><pubDate>6/28/2023 4:09:19 AM</pubDate></item><item><title>KERNALBASE.dll Issue - Created on Friday, February 17, 2023</title><description>&lt;b&gt;By Mark M. on 2/17/2023 8:20:02 AM&lt;/b&gt;&lt;br&gt;I am a test system which is running Windows 10 Professional, 64-bit OS.  We just recently upgraded our license from ATEasy v10 to v11 (2021), and changed from using ATEasy X to using ATEasy 2021 (64-bit) on that system.  When running tests the other day, I kept having fatal crashes of ATEasy w/ notifications of errors with KERNALBASE.dll being the culprit.  After doing some research, apparently KERNALBASE.dll is generated by Windows, during installation, with computer-specific architecture being the basis for the file generation.  Now, we did not have these errors occurring while using ATEasy X, which gives me the impression that it is an issue with ATEasy 2021 (64-bit), and not an issue with my DLL.  I can't just replace my DLL with any other, since it is system-specific.  My questions are these:&lt;br&gt;1. Are others seeing this issue?&lt;br&gt;2. If so, have you reported it to Marvin Test?  Have the gotten back and confirmed it to be a known problem they are trying to solve?&lt;br&gt;3. And/or, did you find a solution outside of anything Marvin Test is/is not doing about it?&lt;br&gt;&lt;br&gt;&lt;b&gt;By DrATEasy (Ron Y.) on 2/17/2023 9:14:20 AM&lt;/b&gt;&lt;br&gt;I understand that you have a DLL that you are calling from ATEasy, is the DLL 32 or 64-bit? We would advise using ATEasy 64-bit only if some of the DLLs that you are using are 64-bit, otherwise using the 32-bit ATEasy on 64-bit OS is preferred since calling 32-bit DLL from 64-bit process require extra handling and conversions and is slower.&lt;br&gt;&lt;br&gt;If using the 32-bit did not solve the issue, you will need to provide an ATEasy Exception file using our web portal Magic (see https://www.marvintest.com/KB/Q200213/ATEasy-Crash-Analysis-Tool), so we can further analyze this issue.&lt;br&gt;&lt;br&gt;&lt;br&gt;Regards,&lt;br&gt;Ronnie&lt;br&gt;&lt;br&gt;</description><link>https://www.marvintest.com/Forums/Thread.aspx?ID=503</link><pubDate>2/17/2023 8:20:02 AM</pubDate></item><item><title>Send keyboard keys by ComSend - Created on Monday, January 16, 2023</title><description>&lt;b&gt;By Hendrik R. on 1/16/2023 4:57:36 AM&lt;/b&gt;&lt;br&gt;Hi guys,&lt;br&gt;I want to send different keyboard commands using ComSend procedure. &lt;br&gt;I also found this post https://www.marvintest.com/Forums/Thread/110/Keyboard-simulation-in-ATEasy-&lt;br&gt;I have included the library "user32". But I am not able to include the function "keybd_event" correctly. I would appreciate if someone could give me a quick tip on how to include this correctly.&lt;br&gt;I'm also not sure if my plan works, otherwise is there any other way to send keyboard commands via ComSend?&lt;br&gt;&lt;br&gt;Thanks for any help,&lt;br&gt;Hendrik&lt;br&gt;&lt;br&gt;&lt;b&gt;By DrATEasy (Ron Y.) on 1/16/2023 8:09:37 AM&lt;/b&gt;&lt;br&gt;Hi,&lt;br&gt;&lt;br&gt;Under procedures of the USER32.dll Library you defined, declare the procedure:&lt;br&gt;&lt;br&gt; keybd_event(bVk: Val Byte, bScan, : Val Byte,   dwFlags: Val DWord,   dwExtraInfo : val APointer) : Void&lt;br&gt;&lt;br&gt;If you are using 32-bit ATEasy, the last parameter can be also Val DWord as a type.&lt;br&gt;&lt;br&gt;You can also use the SendInput API to (Also defined in User32.dll) send keyboard keys:&lt;br&gt;&lt;br&gt;https://learn.microsoft.com/en-us/windows/win32/api/winuser/nf-winuser-sendinput&lt;br&gt;&lt;br&gt;Declaring DLL function is described in the Help User's Guide, Libraries, Dynamic Link Libraries or in the Getting Started "Working with External Libraries" topic.&lt;br&gt;&lt;br&gt;Ronnie&lt;br&gt;&lt;br&gt;&lt;b&gt;By Hendrik R. on 1/17/2023 1:01:49 AM&lt;/b&gt;&lt;br&gt;Hi Ronnie,&lt;br&gt;&lt;br&gt;Thank you for the help!&lt;br&gt;I now can run the program, but i receive a memory access violation error.&lt;br&gt;&lt;br&gt;What have i done?:&lt;br&gt; -  include user32.dll inside of Libraries&lt;br&gt; -  create the procedure -&gt; keybd_event(bVk: Val Byte, bScan : Val Byte, dwFlags: Val DWord, dwExtraInfo : val DWord) : Void&lt;br&gt; -  set user32 library and keybd_event to public&lt;br&gt; -  try to execute -&gt; ComSend(8, "", 0,, system.keybd_event(0x20,0x45,0,0))&lt;br&gt; -  I receive -&gt; "Run-time error #0xC0000005: 'Memory access violation' found in 'SendData' in line 2" which is my line with the ComSend command&lt;br&gt;&lt;br&gt;To implement the sendinput function, i need to create an array of INPUT structures. &lt;br&gt;If you look here, there is a union inside the structs.&lt;br&gt;&lt;br&gt;https://learn.microsoft.com/en-us/windows/win32/api/winuser/ns-winuser-input&lt;br&gt;&lt;br&gt;How is it possible to implement this function/procedure correctly?&lt;br&gt;&lt;br&gt;Thanks,&lt;br&gt;Hendrik&lt;br&gt;&lt;br&gt;&lt;b&gt;By DrATEasy (Ron Y.) on 1/17/2023 9:04:27 AM&lt;/b&gt;&lt;br&gt;1. The keybd_event does not return anything, so, why are you passing it to ComSend?&lt;br&gt;&lt;br&gt;   You should get a compiler error for that. &lt;br&gt;&lt;br&gt;   What data were you expecting to pass to pSrc of ComSend?&lt;br&gt;&lt;br&gt;2. SendInput issue. Under the Library types declare the INPUT structure, since the INPUT contain union of 3 structures were the biggest structure is 6 DWords (MOUSEINPUT ), you can declare it as 6 DWords. &lt;br&gt;&lt;br&gt;   INPUT: struct &lt;br&gt;   {&lt;br&gt;       DWORD type&lt;br&gt;       DWORD adwData[6]&lt;br&gt;   } &lt;br&gt;&lt;br&gt;Since your need to use the KEYBDINPUT, we will define it so it easy to use:&lt;br&gt;&lt;br&gt;   INPUT: struct &lt;br&gt;   {&lt;br&gt;       DWORD type&lt;br&gt;       WORD  wVk&lt;br&gt;       WORD  wScan&lt;br&gt;       DWORD dwFlags &lt;br&gt;       DWORD dwTime &lt;br&gt;       DWORD adwData[3]&lt;br&gt;   } &lt;br&gt;&lt;br&gt;&lt;br&gt;Ronnie&lt;br&gt;&lt;br&gt;&lt;b&gt;By Hendrik R. on 1/18/2023 12:32:31 AM&lt;/b&gt;&lt;br&gt;1. I want to simulate a keystroke and send it to my device via the ComPort.&lt;br&gt;&lt;br&gt;   Which data do I expect. -&gt; I expect the keystroke, e.g. pressing the space bar, to be sent to my device.&lt;br&gt;&lt;br&gt;2. Thanks! I will try this.&lt;br&gt;&lt;br&gt;&lt;b&gt;By DrATEasy (Ron Y.) on 1/18/2023 8:37:53 AM&lt;/b&gt;&lt;br&gt;These procedures (keybd_event, SendInput) will not work for what you need. They are used to send keystrokes to the keyboard and not the other way around.&lt;br&gt;&lt;br&gt;Please take a look at the ComChat.prj Example. In the example, you will see that keystrokes typed to an edit control are sent to a com port.&lt;br&gt;&lt;br&gt;Ronnie&lt;br&gt;&lt;br&gt;</description><link>https://www.marvintest.com/Forums/Thread.aspx?ID=502</link><pubDate>1/16/2023 4:57:36 AM</pubDate></item><item><title>Current working directory (aGetDirCurrent) change with Ateasy code - Created on Friday, November 25, 2022</title><description>&lt;b&gt;By Tymoteusz C. on 11/25/2022 3:40:34 AM&lt;/b&gt;&lt;br&gt;Hi,&lt;br&gt;&lt;br&gt;I'm currently working with DLL driver for TRI machines that use "Current working directory" and  during initialization procedure changes it to:&lt;br&gt;"c:\etr5001TSII\"&lt;br&gt;&lt;br&gt;With that path - all it's working OK&lt;br&gt;&lt;br&gt;Unfortunately we have to add to this project ATeasy made DLL driver and when I run any of it's procedures - "Current working directory" changes to project path:&lt;br&gt;"d:\Project1\"&lt;br&gt;&lt;br&gt;and with that change - the TRI driver give me error message that the path to some DLLs are not correct&lt;br&gt;&lt;br&gt;My question:&lt;br&gt;Is it possible to change "Current working directory" with ateasy code? So that after using Ateasy made DLL I would change it back to "c:\etr5001TSII\" so the rest of the code would work ok?&lt;br&gt;&lt;br&gt;&lt;b&gt;By DrATEasy (Ron Y.) on 11/27/2022 7:02:58 PM&lt;/b&gt;&lt;br&gt;Define a  DLL library that uses kernel32.dll and a function called SetCurrentDirectoryA(sDirectory: bool). See https://learn.microsoft.com/en-us/windows/win32/api/winbase/nf-winbase-setcurrentdirectory. &lt;br&gt;&lt;br&gt;Call it before calling the initialize function. &lt;br&gt;&lt;br&gt;Ron&lt;br&gt;&lt;br&gt;&lt;b&gt;By Tymoteusz C. on 12/2/2022 3:00:48 AM&lt;/b&gt;&lt;br&gt;Thank you - it worked!&lt;br&gt;&lt;br&gt;I've added .NET driver: mscorlib and in code the first line was taking Current Directory&lt;br&gt;sCurrDir = mscorlib.Directory.GetCurrentDirectory()&lt;br&gt;&lt;br&gt;and at the end of all code in procedure/event it was setting the directory to the first one:&lt;br&gt;mscorlib.Directory.SetCurrentDirectory(sCurrDir)&lt;br&gt;&lt;br&gt;</description><link>https://www.marvintest.com/Forums/Thread.aspx?ID=499</link><pubDate>11/25/2022 3:40:34 AM</pubDate></item><item><title>Append to a .txt file - Created on Friday, September 23, 2022</title><description>&lt;b&gt;By Hendrik R. on 9/23/2022 4:15:40 AM&lt;/b&gt;&lt;br&gt;Hello,&lt;br&gt;I have a question about the file I/O procedures.&lt;br&gt;How can I append a string to the end of an existing .txt file?&lt;br&gt;&lt;br&gt;If I use only the FileWrite procedure, the lines are always replaced by the last call of the FileWrite procedure.&lt;br&gt;&lt;br&gt;I think that the filepointer must be incremented, but I don't know how.&lt;br&gt;&lt;br&gt;**Code**&lt;br&gt;&lt;br&gt;!File Open/Create&lt;br&gt;sFileName="a.txt"&lt;br&gt;hFile = FileOpen(sFileName)&lt;br&gt;If hFile = -1 Then&lt;br&gt;	print "Unable to Open file: ", sFileName, " Attempting to Create"&lt;br&gt;	hFile = FileCreate(sFileName)&lt;br&gt;	if hFile = -1 Then&lt;br&gt;		print "Unable to create file: ", sFileName&lt;br&gt;		TestStatus=FAIL&lt;br&gt;	Endif&lt;br&gt;Endif&lt;br&gt;&lt;br&gt;!File Read&lt;br&gt;i=FileRead(hFile, s)&lt;br&gt;&lt;br&gt;! File Write&lt;br&gt;FileWrite(hFile, Test.Name + ":" + "0.014",,"\r\n")&lt;br&gt;&lt;br&gt;!File Close&lt;br&gt;If FileClose(hFile) &lt;&gt; 0 Then&lt;br&gt;	Print "Error During FileClose..."&lt;br&gt;Endif&lt;br&gt;&lt;br&gt;**Code End**&lt;br&gt;&lt;br&gt;Thanks&lt;br&gt;&lt;br&gt;&lt;b&gt;By Paul T. on 9/23/2022 6:13:40 AM&lt;/b&gt;&lt;br&gt;Hi Hendrik,&lt;br&gt;&lt;br&gt;I think you need to use the FileSeek(...) function before the FileWrite(...).&lt;br&gt;Something like this:&lt;br&gt;&lt;br&gt;FileSeek(hFile, 0, aFileOriginEnd) ! positions the file pointer to the end of the file.&lt;br&gt;&lt;br&gt;Best regards,&lt;br&gt;Paul&lt;br&gt;&lt;br&gt;&lt;b&gt;By Hendrik R. on 9/25/2022 11:57:58 PM&lt;/b&gt;&lt;br&gt;Hi Paul,&lt;br&gt;&lt;br&gt;Thank you, it works now!&lt;br&gt;&lt;br&gt;BR,&lt;br&gt;Hendrik&lt;br&gt;&lt;br&gt;</description><link>https://www.marvintest.com/Forums/Thread.aspx?ID=498</link><pubDate>9/23/2022 4:15:40 AM</pubDate></item><item><title>Cant see the command line with WinExec - Created on Monday, September 5, 2022</title><description>&lt;b&gt;By Hendrik R. on 9/5/2022 8:03:29 AM&lt;/b&gt;&lt;br&gt;Hello together,&lt;br&gt;I have a problem with the WinExec function. For some reason, I get the return value 2. According to the help, this means that the file is not found. Even with simple commands like:&lt;br&gt;WinExec("pause",aformShowNormal,,)&lt;br&gt;I get the return value 2.&lt;br&gt;&lt;br&gt;On my work laptop the command works without problems, since for the production another laptop is used, I have also installed ATEasy there. Otherwise the program works without problems, only the command line is not displayed, which is essential for the test program.&lt;br&gt;&lt;br&gt;On both laptops ATEasy 9 Build: 154c is installed.&lt;br&gt;&lt;br&gt;best regards,&lt;br&gt;Hendrik&lt;br&gt;&lt;br&gt;&lt;b&gt;By DrATEasy (Ron Y.) on 9/6/2022 8:57:22 AM&lt;/b&gt;&lt;br&gt;The Pause command can only run within the Command Prompt application console (CMD.exe). It is not a stand alone executable by itself.&lt;br&gt;&lt;br&gt;Please looks at the StdioProcess.prj example for how to run commands used inside CMD.exe&lt;br&gt;&lt;br&gt;Ronnie&lt;br&gt;&lt;br&gt;</description><link>https://www.marvintest.com/Forums/Thread.aspx?ID=497</link><pubDate>9/5/2022 8:03:29 AM</pubDate></item><item><title>Read serial data from esp32 through FTDI programmer - Created on Wednesday, July 13, 2022</title><description>&lt;b&gt;By Hendrik R. on 7/13/2022 7:35:13 AM&lt;/b&gt;&lt;br&gt;Hi,&lt;br&gt;I am currently trying to read data from the ESP32.&lt;br&gt;&lt;br&gt;I have programmed the ESP to send the string "Hello" continuously in an endless loop with a line break after each word.&lt;br&gt;&lt;br&gt;Via the serial monitor of the Arduino IDE I get the correct data. Now I try to get the readout via ATEasy and the integrated module "COMM".&lt;br&gt;&lt;br&gt;&lt;br&gt;---------------------------------------CODE-------------------------------------------&lt;br&gt;i=50&lt;br&gt;&lt;br&gt;iStatus = ComOpen(6)&lt;br&gt;if iStatus=-1&lt;br&gt;    error -100, "ComOpen() failed"&lt;br&gt;endif&lt;br&gt;&lt;br&gt;redim byteArray[10000]&lt;br&gt;&lt;br&gt;ComSetup(6, 9600, 8, aComParityEven, aComStopBits1, aComHandshakeHardware)&lt;br&gt;&lt;br&gt;repeat&lt;br&gt;	ComReceive(6, "\n", 100, , byteArray[0])&lt;br&gt;	trace byteArray[0]&lt;br&gt;	i=i-1&lt;br&gt;	&lt;br&gt;until i=0&lt;br&gt;&lt;br&gt;Sleep(2000)&lt;br&gt;&lt;br&gt;ComClose(6)&lt;br&gt;---------------------------------------CODE-------------------------------------------&lt;br&gt;&lt;br&gt;The strange thing is that I only see one command, both via the output using trace, and in the monitor. The data are also arbitrary characters. &lt;br&gt;&lt;br&gt;I am grateful for any help,&lt;br&gt;Hendrik&lt;br&gt;&lt;br&gt;&lt;b&gt;By DrATEasy (Ron Y.) on 7/13/2022 8:27:15 AM&lt;/b&gt;&lt;br&gt;Hi,&lt;br&gt;&lt;br&gt;How is the data received supposed to look like? &lt;br&gt;&lt;br&gt;The way you coded it it should look like &lt;br&gt;a\n&lt;br&gt;b\n&lt;br&gt;c\n&lt;br&gt;...&lt;br&gt;&lt;br&gt;Also why are you using array instead of one byte?&lt;br&gt;&lt;br&gt;Ronnie&lt;br&gt;&lt;br&gt;&lt;b&gt;By Hendrik R. on 7/13/2022 11:25:17 PM&lt;/b&gt;&lt;br&gt;Hi Ronnie,&lt;br&gt;&lt;br&gt;this is exactly the output I was expecting. Unfortunately, I only get a single arbitrary hex value via the monitor, which is directly converted to the corresponding characater. So for example "Þ" or "Ä".&lt;br&gt;&lt;br&gt;I wanted to use the array so that I don't have to create a new variable for each value.&lt;br&gt;&lt;br&gt;Preferably, I want the string "Hello" that comes from the ESP to be read completely and written to a single variable. Is this possible with the COMM module or is there another library/driver that is better suited for reading serial ports?&lt;br&gt;&lt;br&gt;Otherwise, can you give me an example of how to use the COMM module correctly, both with ComSetup and with Write and Receive?&lt;br&gt;&lt;br&gt;One last thing that I find a bit strange is that I only see the Receive command once in the monitor, even though I execute it 50 times in a loop.&lt;br&gt;&lt;br&gt;Hendrik&lt;br&gt;&lt;br&gt;&lt;b&gt;By DrATEasy (Ron Y.) on 7/14/2022 8:40:38 AM&lt;/b&gt;&lt;br&gt;The string &lt;br&gt;&lt;br&gt;a\n&lt;br&gt;b\n&lt;br&gt;c\n&lt;br&gt;...&lt;br&gt;&lt;br&gt;Is not the same as hello\n.&lt;br&gt;&lt;br&gt;since hello does not have a terminator after each character. Also if you always read to the first element [0], you are overriding it every read.&lt;br&gt;&lt;br&gt;&lt;br&gt;You can just call:&lt;br&gt;&lt;br&gt;ComReceive(6, "\n", 1000, , byteArray)&lt;br&gt;&lt;br&gt;&lt;br&gt;Ronnie&lt;br&gt;&lt;br&gt;&lt;b&gt;By Hendrik R. on 7/15/2022 1:40:59 AM&lt;/b&gt;&lt;br&gt;That make sense. But i have the same error.&lt;br&gt;I only get one and wrong value in the monitor from the serial communication.&lt;br&gt;&lt;br&gt;This is my current code&lt;br&gt;------------------CODE---------------------&lt;br&gt;i=20&lt;br&gt;&lt;br&gt;iStatus=ComOpen(6)&lt;br&gt;if iStatus=-1&lt;br&gt;	error -100, "ComOpen() failed"&lt;br&gt;endif&lt;br&gt;&lt;br&gt;redim byteArray[10000]&lt;br&gt;&lt;br&gt;ComSetup(6, 9600, 8, aComParityEven, aComStopBits1, aComHandshakeHardware)&lt;br&gt;&lt;br&gt;repeat&lt;br&gt;	ComReceive(6, "\n", 1000, , byteArray[i])&lt;br&gt;	&lt;br&gt;	trace byteArray[i]&lt;br&gt;&lt;br&gt;	i=i-1&lt;br&gt;until i=0&lt;br&gt;&lt;br&gt;&lt;br&gt;ComClose(6)&lt;br&gt;---------------CODE---------------------&lt;br&gt;&lt;br&gt;When I read with powershell, I get the correct result. &lt;br&gt;I also omitted the \n from the EOS parameter, but that did not lead to success either.&lt;br&gt;&lt;br&gt;Please look at the image i have attached. &lt;br&gt;&lt;br&gt;I also see there is a ComChat Example. I have tried this with the graphical interface and the standard setup, unfortunately also unsuccessfully. Same result, only one wrong value&lt;br&gt;&lt;br&gt;Hendrik&lt;br&gt;&lt;br&gt;&lt;b&gt;By Hendrik R. on 7/15/2022 2:13:00 AM&lt;/b&gt;&lt;br&gt;That make sense. But i have the same error.&lt;br&gt;I only get one and wrong value in the monitor from the serial communication.&lt;br&gt;&lt;br&gt;This is my current code&lt;br&gt;------------------CODE---------------------&lt;br&gt;i=20&lt;br&gt;&lt;br&gt;iStatus=ComOpen(6)&lt;br&gt;if iStatus=-1&lt;br&gt;	error -100, "ComOpen() failed"&lt;br&gt;endif&lt;br&gt;&lt;br&gt;redim byteArray[10000]&lt;br&gt;&lt;br&gt;ComSetup(6, 9600, 8, aComParityEven, aComStopBits1, aComHandshakeHardware)&lt;br&gt;&lt;br&gt;repeat&lt;br&gt;	ComReceive(6, "\n", 1000, , byteArray[i])&lt;br&gt;	&lt;br&gt;	trace byteArray[i]&lt;br&gt;&lt;br&gt;	i=i-1&lt;br&gt;until i=0&lt;br&gt;&lt;br&gt;&lt;br&gt;ComClose(6)&lt;br&gt;---------------CODE---------------------&lt;br&gt;&lt;br&gt;When I read with powershell, I get the correct result. &lt;br&gt;I also omitted the \n from the EOS parameter, but that did not lead to success either.&lt;br&gt;&lt;br&gt;Please look at the image i have attached. &lt;br&gt;&lt;br&gt;I also see there is a ComChat Example. I have tried this with the graphical interface and the standard setup, unfortunately also unsuccessfully. Same result, only one wrong value&lt;br&gt;&lt;br&gt;Hendrik&lt;br&gt;&lt;br&gt;&lt;b&gt;By DrATEasy (Ron Y.) on 7/15/2022 9:17:13 AM&lt;/b&gt;&lt;br&gt;Your code reads one byte at the time and you are expecting \n after each byte; otherwise it fails. &lt;br&gt;&lt;br&gt;ComReceive(6, "\n", 1000, , byteArray[i])&lt;br&gt;&lt;br&gt;the 1000 will be ignored, since  byteArray[i] has a size of 1 it is the same as calling the function with 1.&lt;br&gt;&lt;br&gt;You can change to strig and do the following:&lt;br&gt;&lt;br&gt;ComReceive(6, "\n", 1000, , s)&lt;br&gt;sRead=sRead+s&lt;br&gt;&lt;br&gt;if you still want it in byteArray, do at the end&lt;br&gt;&lt;br&gt;byteArray=s&lt;br&gt;&lt;br&gt;If that does not work, please post the power shell script.&lt;br&gt;&lt;br&gt;Ronnie&lt;br&gt;&lt;br&gt;&lt;b&gt;By Hendrik R. on 7/25/2022 8:06:28 AM&lt;/b&gt;&lt;br&gt;Hi Ronnie,&lt;br&gt;sorry for the late feedback.&lt;br&gt;I have adjusted the code accordingly, unfortunately without success. Also, I have done the reading via PowerShell, which works as desired (See image1).&lt;br&gt;&lt;br&gt;My actual goal is to send commands and receive the responses generated by the commands. &lt;br&gt;Currently I am sending commands using ATEasy (See Image2), but I am getting a timeout and also the LEDs for TX and RX on the FTDI are not lit, which indicate sending and receiving data respectively.&lt;br&gt;&lt;br&gt;I have sent the same command with the program "RealTerm". There I get the corresponding result (See picture3)&lt;br&gt;I need this information in ATEasy for further processing.&lt;br&gt;&lt;br&gt;&lt;b&gt;By Hendrik R. on 7/25/2022 8:06:50 AM&lt;/b&gt;&lt;br&gt;picture_2&lt;br&gt;&lt;br&gt;&lt;b&gt;By Hendrik R. on 7/25/2022 8:07:07 AM&lt;/b&gt;&lt;br&gt;picture_3&lt;br&gt;&lt;br&gt;&lt;b&gt;By DrATEasy (Ron Y.) on 7/25/2022 10:38:55 AM&lt;/b&gt;&lt;br&gt;Try the following:&lt;br&gt;&lt;br&gt;1. The eeprom sending should be out of the loop. The monitor shows sending of one eeprom followed by \r\n\r\n. So use &lt;br&gt;ComSend(15, "\r\n", 1000, , "eeprom\r\n")&lt;br&gt;2. ComSend, No need to pass 6 when sending the entire string will be send&lt;br&gt;3. Increase the timeout from 100 to 1000 for ComReceive and ComSend - does not matter for performance and safer.&lt;br&gt;4. Try to change ComSetup to use aComHandshakeNone&lt;br&gt;&lt;br&gt;&lt;br&gt;Ronnie&lt;br&gt;&lt;br&gt;&lt;b&gt;By Hendrik R. on 7/26/2022 12:34:24 AM&lt;/b&gt;&lt;br&gt;The changes have partially worked. I now see on the FTDI that the data is being sent. However, when I listen on the channel with a serial sniffer, I see that there is a timeout when sending the commands. To try it out, I set the times for sending and receiving the messages to 10 seconds, unfortunately without success. Due to the timeout, I do not receive any messages. (See picture 4)&lt;br&gt;&lt;br&gt;Hendrik&lt;br&gt;&lt;br&gt;&lt;b&gt;By DrATEasy (Ron Y.) on 7/26/2022 8:24:56 AM&lt;/b&gt;&lt;br&gt;You need to take the ComSend out of the repeat loop (before the repeat).  Looking at picture 3, after sending from "eeprom\r\n", you are receiving 5 lines of data. Is that the case?&lt;br&gt;&lt;br&gt;Ronnie&lt;br&gt;&lt;br&gt;&lt;b&gt;By Paul T. on 7/26/2022 8:26:36 AM&lt;/b&gt;&lt;br&gt;Hi Hendrik,&lt;br&gt;&lt;br&gt;Could you please try the ComReceive with the “aioDisableComReceiveEarlyReturn” option ?&lt;br&gt;I remember I had a similar issue years ago, and this option really made it to work. :)&lt;br&gt;&lt;br&gt;Best,&lt;br&gt;Paul&lt;br&gt;&lt;br&gt;&lt;b&gt;By Hendrik R. on 7/27/2022 3:58:39 AM&lt;/b&gt;&lt;br&gt;I have now tried different things. The ComReceive with the aioDefault=0 as well as with the parameter which is to be seen on the picture. But also with all the others that I can select there. I also took the receive out of the loop to see if I receive anything at all. That is not the case. I always get the same result. The string that should be transmitted does not arrive and I do not receive anything, you can see that in the monitor of ATEasy. What you can see in picture 3 is the program "RealTerm" with which I can receive the data over the FTDI from the ESP over a serial monitor and different settings but also send the command like "eeprom". What you can see in picture 3 is the output of the ESP when I send the command "eeprom". And I would like to see this in ATEasy. But since I don't receive anything according to the monitor, it doesn't work yet.&lt;br&gt;&lt;br&gt;As mentioned before, when I send the command "eeprom" via ATEasy, I get a timeout. Picture 5 shows the communication via ATEasy and the FTDI/ESP. For this I used a program that listens on the port as a silent observer. I have also tried to send the commands without the silent observer, in the assumption, which could disturb the communication, here also, unfortunately without success.&lt;br&gt;&lt;br&gt;@Paul Thanks for the tip, unfortunately did not work for me :/&lt;br&gt;&lt;br&gt;Hendrik&lt;br&gt;&lt;br&gt;&lt;b&gt;By Paul T. on 7/27/2022 4:18:50 AM&lt;/b&gt;&lt;br&gt;Hi Hendrik,&lt;br&gt;&lt;br&gt;Try it also without the „\r\n“ in the ComReceive command (otherwise, the receive stops as soon as you get this terminator), and also try it with a bigger timeout for ComReceive (like 3000, 5000…). &lt;br&gt;&lt;br&gt;Best,&lt;br&gt;Paul&lt;br&gt;&lt;br&gt;&lt;b&gt;By Paul T. on 7/27/2022 4:20:38 AM&lt;/b&gt;&lt;br&gt;And after ComSetup(…), place a ComFlush(), to make sure you have clean buffers when you send something to your device.&lt;br&gt;&lt;br&gt;Best,&lt;br&gt;Paul&lt;br&gt;&lt;br&gt;&lt;b&gt;By Hendrik R. on 7/27/2022 4:29:25 AM&lt;/b&gt;&lt;br&gt;I have now tried different things. The ComReceive with the aioDefault=0 as well as with the parameter which is to be seen on the picture. But also with all the others that I can select there. I also took the receive out of the loop to see if I receive anything at all. That is not the case. I always get the same result. The string that should be transmitted does not arrive and I do not receive anything, you can see that in the monitor of ATEasy. What you can see in picture 3 is the program "RealTerm" with which I can receive the data over the FTDI from the ESP over a serial monitor and different settings but also send the command like "eeprom". What you can see in picture 3 is the output of the ESP when I send the command "eeprom". And I would like to see this in ATEasy. But since I don't receive anything according to the monitor, it doesn't work yet.&lt;br&gt;&lt;br&gt;As mentioned before, when I send the command "eeprom" via ATEasy, I get a timeout. Picture 5 shows the communication via ATEasy and the FTDI/ESP. For this I used a program that listens on the port as a silent observer. I have also tried to send the commands without the silent observer, in the assumption, which could disturb the communication, here also, unfortunately without success.&lt;br&gt;&lt;br&gt;@Paul Thanks for the tip, unfortunately did not work for me :/&lt;br&gt;&lt;br&gt;Hendrik&lt;br&gt;&lt;br&gt;&lt;b&gt;By Paul T. on 7/27/2022 4:42:10 AM&lt;/b&gt;&lt;br&gt;Hendrik,&lt;br&gt;&lt;br&gt;You copy/pasted the same message from above.&lt;br&gt;But I wrote to you two new things to try (delete the „\r\n“ from ComReceive and increase the timeout).&lt;br&gt;Please take a look above.&lt;br&gt;&lt;br&gt;Best, &lt;br&gt;Paul&lt;br&gt;&lt;br&gt;&lt;b&gt;By Hendrik R. on 7/27/2022 4:46:59 AM&lt;/b&gt;&lt;br&gt;I have now tried different things. The ComReceive with the aioDefault=0 as well as with the parameter which is to be seen on the picture. But also with all the others that I can select there. I also took the receive out of the loop to see if I receive anything at all. That is not the case. I always get the same result. The string that should be transmitted does not arrive and I do not receive anything, you can see that in the monitor of ATEasy. What you can see in picture 3 is the program "RealTerm" with which I can receive the data over the FTDI from the ESP over a serial monitor and different settings but also send the command like "eeprom". What you can see in picture 3 is the output of the ESP when I send the command "eeprom". And I would like to see this in ATEasy. But since I don't receive anything according to the monitor, it doesn't work yet.&lt;br&gt;&lt;br&gt;As mentioned before, when I send the command "eeprom" via ATEasy, I get a timeout. Picture 5 shows the communication via ATEasy and the FTDI/ESP. For this I used a program that listens on the port as a silent observer. I have also tried to send the commands without the silent observer, in the assumption, which could disturb the communication, here also, unfortunately without success.&lt;br&gt;&lt;br&gt;@Paul Thanks for the tip, unfortunately did not work for me :/&lt;br&gt;&lt;br&gt;Hendrik&lt;br&gt;&lt;br&gt;&lt;b&gt;By Hendrik R. on 7/27/2022 4:52:57 AM&lt;/b&gt;&lt;br&gt;oh, i'm sorry! I just reloaded the page and then the text was sent again. I will try your changes&lt;br&gt;&lt;br&gt;&lt;b&gt;By Victor F. on 7/27/2022 5:01:25 AM&lt;/b&gt;&lt;br&gt;Hi Hendrik,&lt;br&gt;What is ESP32 model you are using ? is this a NodeMCU or similar kit?&lt;br&gt;Some of the kits use the Serial control lines (RTS,CTS) to reset the ESP32 chip and place the chip in programming mode  , make sure all control lines are disable ?&lt;br&gt;I have ESP32 NodeMCU ,if you like send me your example i will try from my side ..&lt;br&gt;&lt;br&gt;Thanks&lt;br&gt;Victor F&lt;br&gt;&lt;br&gt;&lt;b&gt;By Hendrik R. on 7/27/2022 8:13:02 AM&lt;/b&gt;&lt;br&gt;@Paul, Tried all of your changes, thanks for that but it does not work for me.&lt;br&gt;&lt;br&gt;@Victor I am using ESP32-WROOM-32UE it is the Single SMD Chip on a selfmade PCB.&lt;br&gt;No RTS/CTS or DTR/DSR is used with the RealTerm program. The hardware flow control setting is "None" and with the setup it works with the tool.&lt;br&gt;&lt;br&gt;Meanwhile I believe that it is not compatible with the integrated COMM module of ATEasy. Have you had any experience with other modules or libraries that can be used for serial communication?&lt;br&gt;&lt;br&gt;&lt;b&gt;By Paul T. on 7/27/2022 8:22:54 AM&lt;/b&gt;&lt;br&gt;Hi Hendrik,&lt;br&gt;&lt;br&gt;Are you sure you use exactly the same settings with the RealTerm?&lt;br&gt;Can you show us a working snapshot with the RealTerm, and also the COM settings that you used?&lt;br&gt;I really doubt something is wrong wirh ATEasy… Rather some settings are not the same, it should not be that complicated. &lt;br&gt;I saw in one of your previous pictures that you were using hardware handshake, and later None…&lt;br&gt;&lt;br&gt;Best, &lt;br&gt;Paul&lt;br&gt;&lt;br&gt;&lt;b&gt;By Paul T. on 7/27/2022 8:29:36 AM&lt;/b&gt;&lt;br&gt;And also put return variables from all your Com commands in ATEasy and make sure they return the successful value.&lt;br&gt;In your first picture, I saw that Receive was working more or less for the „Hello“ message. How come it worked back then? Were you having the HardwareHandshake or?&lt;br&gt;&lt;br&gt;Best,&lt;br&gt;Paul&lt;br&gt;&lt;br&gt;&lt;b&gt;By Victor F. on 7/27/2022 12:30:30 PM&lt;/b&gt;&lt;br&gt;Hi Hendrik,&lt;br&gt;I checked with  Node32s board  and the example provided with ATEasy "ComChat.prj" and it works correctly ..&lt;br&gt;just make sure you you setup the Baud rate at fixe value in your Arduino code , if not after reset the ESP32 can take any speed by default.&lt;br&gt;&lt;br&gt;I hope this can help.&lt;br&gt;&lt;br&gt;Kind Regards&lt;br&gt;&lt;br&gt;&lt;b&gt;By Hendrik R. on 7/28/2022 3:03:11 AM&lt;/b&gt;&lt;br&gt;Hi Paul, Victor&lt;br&gt;&lt;br&gt;@Paul Please see picture 6. there I played the code to the ESP to make it send the string "Hallo" permanently. I also checked the return values of the COM functions (good tip by the way). I noticed that for ComReceive everything is OK for the first command and for the following ones the value is -1. If I take the \r\n out of ComReceive, the return value is 0, so it is ok. &lt;br&gt;The problem which still exists with the reception is, at which time the string is read. As you can see in the monitor, I don't get a coherent string yet. &lt;br&gt;&lt;br&gt;@Victor I have also tried your suggestion and set the values with the panel under ComChat.prj. I get the "Hallo" too, but as in the monitor before, chopped (See picture 8).&lt;br&gt;&lt;br&gt;@Paul Furthermore I have still the setting of the RealTerm in picture 7 taken.&lt;br&gt;&lt;br&gt;So in general I can say that I can receive messages, although not yet correctly formatted. But for some reason sending via ATEasy does not work yet. Neither over the ComSend nor over the ComChat panel. If I listen with again on the port a silent observer, I get a timeout when sending also via the ComChat Panel.&lt;br&gt;&lt;br&gt;&lt;b&gt;By Hendrik R. on 7/28/2022 3:03:44 AM&lt;/b&gt;&lt;br&gt;picture 7&lt;br&gt;&lt;br&gt;&lt;b&gt;By Hendrik R. on 7/28/2022 3:04:02 AM&lt;/b&gt;&lt;br&gt;picture 8&lt;br&gt;&lt;br&gt;&lt;b&gt;By DrATEasy (Ron Y.) on 7/28/2022 8:45:59 AM&lt;/b&gt;&lt;br&gt;The aioDisableComReceiveEarlyReturn should only used if there is no terminator, you should remove it.&lt;br&gt;&lt;br&gt;Can you change the receive to use only the \n instead of \r\n (just to see).&lt;br&gt;&lt;br&gt;I tried it with virtual ports with ComChat x2 and it works as designed:, see  picture9.&lt;br&gt;&lt;br&gt;&lt;b&gt;By Hendrik R. on 7/28/2022 11:53:21 PM&lt;/b&gt;&lt;br&gt;Hi Ronnie&lt;br&gt;&lt;br&gt;For me there has been no change without the \r&lt;br&gt;&lt;br&gt;Is it possible to switch the CTS/RTS pins on or off via ATEasy? (See picture 7) &lt;br&gt;I have to turn off the RTS for the communication to work via the FTDI. Is it possible to do this also via ATEasy or via the COMM module?&lt;br&gt;&lt;br&gt;&lt;b&gt;By Hendrik R. on 7/29/2022 1:26:02 AM&lt;/b&gt;&lt;br&gt;IT WORKS! Damn.. &lt;br&gt;&lt;br&gt;If you guys are looking at picture 7. You see, that RTS is Constant LOW. If its Enabled, the Sending Command does not work.&lt;br&gt;&lt;br&gt;Solution: The FTDI have 6 PINS (Using FT232RL Chip from Waveform btw) And we have: VCC, GND, TXD, RXD, RTS, CTS but for the communication from UART you only need VCC GND TXD and RXD. So, since the PIN of RTS must always be LOW, I just pinched it off. Thats it.&lt;br&gt;&lt;br&gt;Thanks for all your Help @Ronnie,Paul and Victor&lt;br&gt;&lt;br&gt;Hendrik&lt;br&gt;&lt;br&gt;&lt;b&gt;By Paul T. on 7/29/2022 2:55:48 AM&lt;/b&gt;&lt;br&gt;Hi Hendrik,&lt;br&gt;&lt;br&gt;Well, I’m glad it works, but for me it’s not clear what you did…&lt;br&gt;I mean, you had the same hardware wiring with the RealTerm and with ATEasy, right? Or once you had the RTS line connected, and second not?!&lt;br&gt;Could you please explain? I am interested to understand.&lt;br&gt;Thank you.&lt;br&gt;&lt;br&gt;Best&lt;br&gt;Paul&lt;br&gt;&lt;br&gt;&lt;b&gt;By Hendrik R. on 7/31/2022 11:36:12 PM&lt;/b&gt;&lt;br&gt;Hi Paul,&lt;br&gt;Yes i had the same Hardware setup for RealTerm and ATEasy.&lt;br&gt;But in RealTerm it was possible to set the RTS and DTR pin to HIGH or LOW on the software side. The communication in Realterm only worked when RTS was on LOW and DTR was on HIGH. Because I didn't find this setting in ATEasy, I cut the RTS and CTS pin on the FTDI, so that I have only the pins: GND, VCC, TXD and RXD on the FTDI, because more is not necessary for the transmission via UART.&lt;br&gt;&lt;br&gt;Probably a confirmation on a pin was missing, which was necessary to send (if one uses the pins). This would also explain the timeout when sending commands from ATEasy. Because RTS stands for "Ready to send".&lt;br&gt;&lt;br&gt;Hendrik&lt;br&gt;&lt;br&gt;</description><link>https://www.marvintest.com/Forums/Thread.aspx?ID=495</link><pubDate>7/13/2022 7:35:13 AM</pubDate></item><item><title>ATEasy 10 License - Created on Thursday, May 26, 2022</title><description>&lt;b&gt;By Garry B. on 5/26/2022 10:47:58 AM&lt;/b&gt;&lt;br&gt;Will any ATEasy 10 license work with ATEasy 10 Build 156e?&lt;br&gt;For example, if I bought ATEasy 10 Build 156 would the license I got work with Build 156e?&lt;br&gt;&lt;br&gt;&lt;b&gt;By DrATEasy (Ron Y.) on 5/26/2022 11:13:59 AM&lt;/b&gt;&lt;br&gt;Yes the license will work, Note that you need a valid subscription to be able to download the 156e. &lt;br&gt;&lt;br&gt;Ronnie&lt;br&gt;&lt;br&gt;</description><link>https://www.marvintest.com/Forums/Thread.aspx?ID=494</link><pubDate>5/26/2022 10:47:58 AM</pubDate></item><item><title>Execute code when closing the window (Clicking 'X') - Created on Tuesday, March 1, 2022</title><description>&lt;b&gt;By Raz A. on 3/1/2022 11:11:20 PM&lt;/b&gt;&lt;br&gt;I am using ATEASY 7 142G&lt;br&gt;&lt;br&gt;I want to execute some code when the users click 'X' on the form&lt;br&gt;Where is the code that is exectuted by doing this?&lt;br&gt;What event is called?&lt;br&gt;&lt;br&gt;&lt;b&gt;By DrATEasy (Ron Y.) on 3/2/2022 8:35:42 AM&lt;/b&gt;&lt;br&gt;Use the OnQueryUnload() AForm event you can some code and if you need also prevent the form from being closed by setting the pbCancel&lt;br&gt; to True.&lt;br&gt;&lt;br&gt;Ronnie&lt;br&gt;&lt;br&gt;</description><link>https://www.marvintest.com/Forums/Thread.aspx?ID=492</link><pubDate>3/1/2022 11:11:20 PM</pubDate></item><item><title>ATEASY serial com functions - Created on Wednesday, January 19, 2022</title><description>&lt;b&gt;By Raz A. on 1/19/2022 5:53:40 AM&lt;/b&gt;&lt;br&gt;I am using ATEASY 7 142G&lt;br&gt;&lt;br&gt;I have serial com port that is connected to the UUT (at baud rate 921600)&lt;br&gt;The UUT send data non stop&lt;br&gt;&lt;br&gt;when i do the following scenarion the Comflash(in) or ComClose get stuck-&lt;br&gt;&lt;br&gt;1.open the relevant com&lt;br&gt;2. turn on the UUT&lt;br&gt;3. flush(in) gets stuck&lt;br&gt;4. if i replace the flush with Comclose, it also get stuck&lt;br&gt;&lt;br&gt;why?&lt;br&gt;&lt;br&gt;&lt;b&gt;By Raz A. on 1/19/2022 5:56:02 AM&lt;/b&gt;&lt;br&gt;when i forcibly close the UUT, the flush or close functions releases.....&lt;br&gt;&lt;br&gt;&lt;b&gt;By DrATEasy (Ron Y.) on 1/19/2022 9:00:07 AM&lt;/b&gt;&lt;br&gt;Take a look at this thread. https://stackoverflow.com/questions/7208094/force-a-com-port-to-close I've seen it in the past, you may want to disable the driver if associated with this device from device manager. Usually it is "Microsoft Serial Ballpoint".&lt;br&gt;&lt;br&gt;Ronnie&lt;br&gt;&lt;br&gt;</description><link>https://www.marvintest.com/Forums/Thread.aspx?ID=491</link><pubDate>1/19/2022 5:53:40 AM</pubDate></item><item><title>Info on using hardware simulation? - Created on Monday, September 13, 2021</title><description>&lt;b&gt;By Jonathan R. on 9/13/2021 3:00:18 PM&lt;/b&gt;&lt;br&gt;Where can I find information such as tutorials, etc. on using the hardware simulation feature in ATEasy 9 or higher?&lt;br&gt;&lt;br&gt;&lt;b&gt;By DrATEasy (Ron Y.) on 9/13/2021 3:10:57 PM&lt;/b&gt;&lt;br&gt;https://www.marvintest.com/KB/Q200252/Simulating-with-ATEasy-9-0&lt;br&gt;&lt;br&gt;In addition, the On-Line help also have a section about Simulation.&lt;br&gt;&lt;br&gt;There is also an example in the Examples folder (Simulation.wsp) that demonstrates Simulation.&lt;br&gt;&lt;br&gt;Ronnie&lt;br&gt;&lt;br&gt;&lt;b&gt;By Jonathan R. on 9/13/2021 4:37:00 PM&lt;/b&gt;&lt;br&gt;Awesome thanks&lt;br&gt;&lt;br&gt;</description><link>https://www.marvintest.com/Forums/Thread.aspx?ID=486</link><pubDate>9/13/2021 3:00:18 PM</pubDate></item><item><title>Get Profile Tests count - Created on Sunday, August 22, 2021</title><description>&lt;b&gt;By Kfir S. on 8/22/2021 3:41:46 AM&lt;/b&gt;&lt;br&gt;Hey,&lt;br&gt;&lt;br&gt;I'm trying to get the total number of tests in a profile.&lt;br&gt;So far I managed to get it by using:&lt;br&gt;&lt;br&gt;tvTests=m_frmMain.GetTreeView()&lt;br&gt;iCount = tvTests.Nodes.Count&lt;br&gt;&lt;br&gt;But this solution also counts the number of Tasks.&lt;br&gt;I see that there is a TestExec procedure called "GetTestsCount()", but I don't know which object I need to pass as a parameter.&lt;br&gt;&lt;br&gt;I Will appreciate your support&lt;br&gt;&lt;br&gt;Regards,&lt;br&gt;Kfir&lt;br&gt;&lt;br&gt;&lt;b&gt;By DrATEasy (Ron Y.) on 8/22/2021 11:24:24 AM&lt;/b&gt;&lt;br&gt;The GetTestCount() used with program/Task/Test object. Not designed for profiles.  You will have to loop on all nodes in the tree and count the ones that are not tasks.&lt;br&gt;&lt;br&gt;&lt;b&gt;By Kfir S. on 8/22/2021 11:24:53 PM&lt;/b&gt;&lt;br&gt;How do I get the tree head and check if it is a test or not? Looping through the tree will be recursively I presume?&lt;br&gt;&lt;br&gt;&lt;b&gt;By DrATEasy (Ron Y.) on 8/23/2021 2:52:40 PM&lt;/b&gt;&lt;br&gt;Something like:&lt;br&gt;tvTests: MSComctlLib.TreeView&lt;br&gt;node: MSComctlLib.Node&lt;br&gt;iLast, iCount, i : lLong&lt;br&gt;&lt;br&gt;tvTests=TestExec.m_frmMain.GetTreeView()&lt;br&gt;iLast=tvTests.Count&lt;br&gt;iTestsCount=0&lt;br&gt;for i=0 to iLast&lt;br&gt;	node=tvTests.Nodes.Item(i)&lt;br&gt;	if GetNodeType(node)=ateNodeTest&lt;br&gt;             iCount=iCount+1&lt;br&gt;        endif&lt;br&gt;next&lt;br&gt;&lt;br&gt;&lt;br&gt;Ronnie&lt;br&gt;&lt;br&gt;&lt;b&gt;By Kfir S. on 8/25/2021 1:09:53 AM&lt;/b&gt;&lt;br&gt;It's working, thanks!&lt;br&gt;&lt;br&gt;Just needed to loop starting from 1&lt;br&gt;&lt;br&gt;</description><link>https://www.marvintest.com/Forums/Thread.aspx?ID=485</link><pubDate>8/22/2021 3:41:46 AM</pubDate></item><item><title>IO Tables - WinSock Interface - Created on Monday, May 24, 2021</title><description>&lt;b&gt;By Garry B. on 5/24/2021 4:58:29 PM&lt;/b&gt;&lt;br&gt;Are there any examples using IO Tables with the WinSock Interface and Server selected?&lt;br&gt;&lt;br&gt;&lt;b&gt;By DrATEasy (Ron Y.) on 5/24/2021 5:19:03 PM&lt;/b&gt;&lt;br&gt;There is no example for WinSock with IO Table interface that comes with ATEasy. 
There are two example WinSocIE (using interface event) and WinSockMT (using multi threaded) that act as a server so you can use then as guidelines. Both are using the Internal WinSock functions. 
In general, you first setup the driver WInSocket interface as a server and that you configure the driver shortcut to Winsock and set the parameters. You can select Auto Accept with forever timeout to wait forever until client connect alternatively you can use the accept method mention in the examples above.&lt;br&gt;&lt;br&gt;&lt;font color='red'&gt;*Changed by Moderator&lt;/font&gt;&lt;br&gt;&lt;br&gt;</description><link>https://www.marvintest.com/Forums/Thread.aspx?ID=484</link><pubDate>5/24/2021 4:58:29 PM</pubDate></item><item><title>FileFind prcoedure sometime does not find existing file - Created on Tuesday, April 20, 2021</title><description>&lt;b&gt;By Raz A. on 4/20/2021 1:13:25 AM&lt;/b&gt;&lt;br&gt;I am using Ateasy 7 142g in windows xp&lt;br&gt;&lt;br&gt;For some reason, FileFind(..) sometimes does not find RECENTLY  created files (by thrid party exe)&lt;br&gt;In the windows folders you can actually see the files but FileFind cannot see them.&lt;br&gt;&lt;br&gt;It does not always, happen, just randomly...&lt;br&gt;&lt;br&gt;What might be the reason for this to happen?&lt;br&gt;&lt;br&gt;&lt;b&gt;By DrATEasy (Ron Y.) on 4/21/2021 9:59:33 AM&lt;/b&gt;&lt;br&gt;Internal.FileFind() uses Windows APIs FindFirstFile/FindNextFile . So I assume the issue is within these API, see  https://docs.microsoft.com/en-us/windows/win32/api/fileapi/nf-fileapi-findnextfilea, Could be cache issue. What is RECENTLY? is it mSec before that? See if you can disable the drive volume caching from the disk manager have any effect.&lt;br&gt;&lt;br&gt;</description><link>https://www.marvintest.com/Forums/Thread.aspx?ID=483</link><pubDate>4/20/2021 1:13:25 AM</pubDate></item><item><title>parsing a structure of bool type - Created on Monday, December 28, 2020</title><description>&lt;b&gt;By Yariv S. on 12/28/2020 6:24:21 AM&lt;/b&gt;&lt;br&gt;Hi,&lt;br&gt;I have a bigger structure with names of Type BOOL.&lt;br&gt;During a procedure I modify "False" or "True"&lt;br&gt;&lt;br&gt;How do I parse this structure on Name and value, like I used to do with an array?&lt;br&gt;Thanks for any hints&lt;br&gt;YS&lt;br&gt;&lt;br&gt;&lt;b&gt;By DrATEasy (Ron Y.) on 12/28/2020 8:07:58 AM&lt;/b&gt;&lt;br&gt;You can assign the structure to a variant. ATEasy will create an array and store inside the variant. Howvere there is no way to retrieve value based on the firld name (similar to JSON)- only the field index can be used.&lt;br&gt;&lt;br&gt;Ronnie&lt;br&gt;&lt;br&gt;&lt;b&gt;By Tero S. on 12/28/2020 8:11:36 AM&lt;/b&gt;&lt;br&gt;Hi Yariv, &lt;br&gt;&lt;br&gt;You could try using: &lt;br&gt;MemoryCopy(&amp;bBoolTemp, &amp;stStructWithBools+wOffset, sizeof(bBoolTemp))&lt;br&gt;, where wOffset=0 gives you the first stStructWithBools field's address, wOffset=2 the next field's etc. and bBoolTemp contains the field's value&lt;br&gt;&lt;br&gt;Regards,&lt;br&gt;Tero&lt;br&gt;&lt;br&gt;</description><link>https://www.marvintest.com/Forums/Thread.aspx?ID=479</link><pubDate>12/28/2020 6:24:21 AM</pubDate></item><item><title>Split in ateasy 4,windows 2000 - Created on Wednesday, October 7, 2020</title><description>&lt;b&gt;By Raz A. on 10/7/2020 3:00:05 AM&lt;/b&gt;&lt;br&gt;I wrote a code that is assuming that i have the split function.&lt;br&gt;But in ateasy 4 there is no split function&lt;br&gt;Do i have an alternative?&lt;br&gt;If not&lt;br&gt;Can i import some c/c++ library with this func into ateasy 4?&lt;br&gt;&lt;br&gt;&lt;b&gt;By DrATEasy (Ron Y.) on 12/28/2020 8:17:57 AM&lt;/b&gt;&lt;br&gt;Split() was added in ATEasy 7. ATEasy 4 does not support .Net and don't think there is a DLL who export split().&lt;br&gt;So your best route is to implement it yourself, use ATEasy internal functions to loop and extract the sub-strings using Pos, Mid and Left functions.&lt;br&gt;&lt;br&gt;Ronnie&lt;br&gt;&lt;br&gt;</description><link>https://www.marvintest.com/Forums/Thread.aspx?ID=475</link><pubDate>10/7/2020 3:00:05 AM</pubDate></item><item><title>Changing size of array within a struct - Created on Tuesday, September 15, 2020 (Solution Avaliable)</title><description>&lt;b&gt;By Golden M. on 9/15/2020 2:09:09 PM&lt;/b&gt;&lt;br&gt;I have a struct (myStruct) in which there is a field (COMMAND) that I need to be of variable size. ATEasy help states that performing a redim on an array in a struct is not possible. Instead it recommends to use a Variant data type structure field that contains an array and use VarDimSize to change it's dimension. I set the field within the struct to be a variant data type and run the following command:&lt;br&gt;&lt;br&gt;VarDimSize(myStruct.COMMAND, , newLength)&lt;br&gt;&lt;br&gt;Nothing changes for the COMMAND field of myStruct. I then tried to change the variant type using VarChangeType:&lt;br&gt;&lt;br&gt;VarChangeType(myStruct.COMMAND, vtArray)&lt;br&gt;VarDimSize(myStruct.COMMAND, , newLength)&lt;br&gt;&lt;br&gt;Again nothing changes for the COMMAND field of my Struct. I also tried this with a local variant variable with the same results. The only way around this that I found was to have two local dummy variables, one a variant and the other an array. I can then change the dimensions of myStruct.COMMAND using the following code:&lt;br&gt;&lt;br&gt;variant = array&lt;br&gt;VarDimSize(variant, , newLength)&lt;br&gt;myStruct.COMMAND = variant&lt;br&gt;&lt;br&gt;Am I missing something? It seems I should be able to change the size of the variant using the VarDimSize command but am unable to. I appreciate any help.&lt;br&gt;&lt;br&gt;&lt;b&gt;By DrATEasy (Ron Y.) on 9/15/2020 5:38:35 PM&lt;/b&gt;&lt;br&gt;VarChangeType(myStruct.COMMAND, vtArray) does not allocate an array. You need to assign an array to the variant before. Here is an example:&lt;br&gt;&lt;br&gt;as: string[1]    ! string array of one element &lt;br&gt;&lt;br&gt;myStruct.COMMAND=as&lt;br&gt;myStruct.COMMAND[0]="abc"&lt;br&gt;&lt;br&gt;VarDimSize(stArray.vrArray,0, 2)&lt;br&gt;myStruct.COMMAND[1]="def"&lt;br&gt;&lt;br&gt;</description><link>https://www.marvintest.com/Forums/Thread.aspx?ID=474</link><pubDate>9/15/2020 2:09:09 PM</pubDate></item><item><title>Ateasy compiled icon - Created on Tuesday, September 8, 2020 (Solution Avaliable)</title><description>&lt;b&gt;By Raz A. on 9/8/2020 7:51:44 PM&lt;/b&gt;&lt;br&gt;I am using ATEASY 7&lt;br&gt;The ateasy.exe icon ia different from the compiled .exe&lt;br&gt;I found the ateasy icon file but couldnt find the icon file that is attached to the compiled exe.....where is it located?&lt;br&gt;&lt;br&gt;&lt;b&gt;By DrATEasy (Ron Y.) on 9/9/2020 9:24:28 AM&lt;/b&gt;&lt;br&gt;Attached.&lt;br&gt;&lt;br&gt;Ronnie&lt;br&gt;&lt;br&gt;&lt;b&gt;By Raz A. on 9/9/2020 9:30:10 AM&lt;/b&gt;&lt;br&gt;I want Ateasy 7 142g icon&lt;br&gt;&lt;br&gt;&lt;b&gt;By Raz A. on 9/10/2020 7:07:53 PM&lt;/b&gt;&lt;br&gt;Can you upload the ateasy 7 compiled icon?&lt;br&gt;&lt;br&gt;&lt;b&gt;By DrATEasy (Ron Y.) on 9/11/2020 10:16:00 AM&lt;/b&gt;&lt;br&gt;Attached.&lt;br&gt;&lt;br&gt;</description><link>https://www.marvintest.com/Forums/Thread.aspx?ID=473</link><pubDate>9/8/2020 7:51:44 PM</pubDate></item><item><title>First line of code - Created on Friday, September 4, 2020 (Solution Avaliable)</title><description>&lt;b&gt;By Raz A. on 9/4/2020 7:25:38 PM&lt;/b&gt;&lt;br&gt;I want to find the first function/event that my sw starts with in order to check some condition...&lt;br&gt;Where is the first line of code that sw starts with when i run my software?&lt;br&gt;&lt;br&gt;&lt;b&gt;By DrATEasy (Ron Y.) on 9/5/2020 12:32:23 AM&lt;/b&gt;&lt;br&gt;System.OnInit() event. &lt;br&gt;&lt;br&gt;Ronnie&lt;br&gt;&lt;br&gt;</description><link>https://www.marvintest.com/Forums/Thread.aspx?ID=472</link><pubDate>9/4/2020 7:25:38 PM</pubDate></item><item><title>Question about : "Knowledge Base Article # Q200215" - Created on Wednesday, July 29, 2020 (Solution Avaliable)</title><description>&lt;b&gt;By Yuval S. on 7/29/2020 6:32:16 AM&lt;/b&gt;&lt;br&gt;Hi All,

Trying to follow step by step and implement exactly like mentioned in the article :

https://www.marvintest.com/KB/Q200215/Accessing-ATEasy-Internal-Classes-from-other-programming-languages

i cannot figure out how i define "data" in this line: data=new ClassLibrary1.Class1() 
from this section:


Test 1.1 : "Call Method"
--------------------------------------------------------------------------------
Id = Call_Method
Type = MinMax
{
!Create instance of .NET class
data=new ClassLibrary1.Class1()
!Load Test object into variant
varALog=Log
!Load Test object variant into mscorlib.NetObject
obALog=varALog
!Send Test object to .Net DLL along with new properties
data.ATEasyLogClear(obALog)
} 

it is not explained in the article... tried everything and still got an error:

Compiler error #682: Right side of assignment is not compatible with left, found in &amp;#39;Test 1.1 : Call Method&amp;#39; in line 3

Thanks to the helpers !&lt;br&gt;&lt;br&gt;&lt;font color='red'&gt;*Changed by Moderator&lt;/font&gt;&lt;br&gt;&lt;br&gt;&lt;b&gt;By DrATEasy (Ron Y.) on 7/29/2020 8:36:01 AM&lt;/b&gt;&lt;br&gt;- Under Program Variables insert the variable (insert menu).
- Open the properties Window when the variable is selected
- In the Name field type "data"
- In the Type field select or type "ClassLibrary1.Class1"

Ronnie&lt;br&gt;&lt;br&gt;&lt;font color='red'&gt;*Changed by Moderator&lt;/font&gt;&lt;br&gt;&lt;br&gt;&lt;b&gt;By Yuval S. on 7/29/2020 11:59:11 PM&lt;/b&gt;&lt;br&gt;Thanks that worked, &lt;br&gt;but now after i started to run it, i got this error message:&lt;br&gt;&lt;br&gt;Run-time error #420 : 'Object method or property 'MyClass' failed: Could not load file or assembly 'System.Runtime, Version=4.2.1.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a' or one of its dependencies. The system cannot find the file specified.' found in 'Call_Method1' in line 3&lt;br&gt;&lt;br&gt;&lt;br&gt;Run-time error #419 : 'Object is null' found in 'Call_Method1' in line 9&lt;br&gt;&lt;br&gt;&lt;br&gt;The c# script :&lt;br&gt;&lt;br&gt;&lt;br&gt;&lt;br&gt;&lt;br&gt;using System;&lt;br&gt;using System.Collections.Generic;&lt;br&gt;using System.Text;&lt;br&gt;&lt;br&gt;namespace ArrayTest&lt;br&gt;{&lt;br&gt;    public class MyClass&lt;br&gt;    {&lt;br&gt;        &lt;br&gt;        static void Main()&lt;br&gt;        {&lt;br&gt;        }&lt;br&gt;&lt;br&gt;&lt;br&gt;        //PURPOSE: Sets the specified values iMin and iMax to the specified ATest object pExtObject        &lt;br&gt;&lt;br&gt;        public void ATEasyTestSetMinMax(ref Object pExtObject, int iMin, int iMax)&lt;br&gt;        {&lt;br&gt;            AteRtLib.ATest ATEasyObject = (AteRtLib.ATest)pExtObject;&lt;br&gt;            ATEasyObject.Min = iMin;&lt;br&gt;            ATEasyObject.Max = iMax;&lt;br&gt;        }&lt;br&gt;&lt;br&gt;        //PURPOSE: Gets the value of the TestsCount property from the specified ATask object pExtObject and returns it in the reference parameter iTestCount.&lt;br&gt;&lt;br&gt;        public void ATEasyTaskGetTestCount(ref Object pExtObject, ref int iTestCount)&lt;br&gt;        {&lt;br&gt;            AteRtLib.ATask ATEasyObject = (AteRtLib.ATask)pExtObject;&lt;br&gt;            iTestCount = ATEasyObject.TestsCount;&lt;br&gt;        }&lt;br&gt;&lt;br&gt;        //PURPOSE: Executes the specified ALog object pExtObject's Clear() method.&lt;br&gt;&lt;br&gt;        public void ATEasyLogClear(ref Object pExtObject)&lt;br&gt;        {&lt;br&gt;            AteCtlLib.ALog ATEasyObject = (AteCtlLib.ALog)pExtObject;&lt;br&gt;            ATEasyObject.Clear();&lt;br&gt;        }&lt;br&gt;&lt;br&gt;&lt;br&gt;    }   &lt;br&gt;    }&lt;br&gt;&lt;br&gt;&lt;b&gt;By DrATEasy (Ron Y.) on 7/30/2020 11:00:37 AM&lt;/b&gt;&lt;br&gt;We have revised the KB, please check it again:&lt;br&gt;&lt;br&gt;https://www.marvintest.com/KB/Q200215/Accessing-ATEasy-Internal-Classes-from-other-programming-languages&lt;br&gt;&lt;br&gt;Regarding the issue you reported, not sure what version of ATEasy you are using.  try to use the latest ATEasy&lt;br&gt;&lt;br&gt;https://www.marvintest.com/Downloads.aspx?Type=all&amp;keywords=&amp;filename=156d&amp;search=download&lt;br&gt;&lt;br&gt;</description><link>https://www.marvintest.com/Forums/Thread.aspx?ID=470</link><pubDate>7/29/2020 6:32:16 AM</pubDate></item><item><title>Print the event name in ateasy - Created on Sunday, July 26, 2020 (Solution Avaliable)</title><description>&lt;b&gt;By Raz A. on 7/26/2020 11:15:08 AM&lt;/b&gt;&lt;br&gt;Is there a way to get the current event that is called? (Initprogram or init task...)&lt;br&gt;&lt;br&gt;&lt;b&gt;By Paul T. on 7/26/2020 2:22:45 PM&lt;/b&gt;&lt;br&gt;Hi Raz,&lt;br&gt;&lt;br&gt;1. You have the Name property of an AEvent object.&lt;br&gt;Check the AEvent class and its Properties, for the Name property.&lt;br&gt;&lt;br&gt;2. Isn't it possible to put for example print "Now is Driver XXX OnInit() event" in every event that is of your interest, thus to see which one is called and in which order (basically the order of prints)?&lt;br&gt;&lt;br&gt;Best,&lt;br&gt;Paul&lt;br&gt;&lt;br&gt;&lt;b&gt;By DrATEasy (Ron Y.) on 7/27/2020 7:54:07 AM&lt;/b&gt;&lt;br&gt;Raz,&lt;br&gt;&lt;br&gt;Check the internal procedure: GetCallerName()&lt;br&gt;&lt;br&gt;Ronnie&lt;br&gt;&lt;br&gt;</description><link>https://www.marvintest.com/Forums/Thread.aspx?ID=469</link><pubDate>7/26/2020 11:15:08 AM</pubDate></item><item><title>Telnet in ateasy 7 142g - Created on Monday, June 29, 2020 (Solution Avaliable)</title><description>&lt;b&gt;By Raz A. on 6/29/2020 8:08:49 PM&lt;/b&gt;&lt;br&gt;I use Ateasy 7 142g&lt;br&gt;&lt;br&gt;Is there a telnet library in windows/ateasy that i can use to do some telnet commands or script?&lt;br&gt;&lt;br&gt;&lt;b&gt;By Raz A. on 7/7/2020 6:20:55 PM&lt;/b&gt;&lt;br&gt;Ok weve managed....its a simple tcpip connnection....&lt;br&gt;&lt;br&gt;</description><link>https://www.marvintest.com/Forums/Thread.aspx?ID=468</link><pubDate>6/29/2020 8:08:49 PM</pubDate></item><item><title>How to Set System Time and Date using a Form or Control from ATEasy - Created on Monday, June 22, 2020 (Solution Avaliable)</title><description>&lt;b&gt;By Raz A. on 6/22/2020 11:14:48 PM&lt;/b&gt;&lt;br&gt;Is there a form\control for setting the time and date?&lt;br&gt;&lt;br&gt;&lt;b&gt;By DrATEasy (Ron Y.) on 6/23/2020 8:09:07 AM&lt;/b&gt;&lt;br&gt;Need to define some Windows API. But you can use the following:

! open control panel applet to change date time and time zone
WinExec("timedate.cpl")

! set parent to the test exec form
Delay(1000)    ! let the window create before we can find it
h=FindWindow(0, "Date and Time")
SetWindowLong(h, -8, TestExec.GetCurrentForm().hWnd)

! disable current form
TestExec.GetCurrentForm().Enabled=False

! Wait until Date/time window closed
while IsWindow(h)
    DoEvents()
endwhile

! re-enable
TestExec.GetCurrentForm().Enabled=True

Alternatively you can use the Windows API SetSystemTime  defined in Kernel32.dll  (see https://docs.microsoft.com/en-us/windows/win32/api/sysinfoapi/nf-sysinfoapi-setsystemtime), you will have to provide your own form to set it.&lt;br&gt;&lt;br&gt;&lt;font color='red'&gt;*Changed by Moderator&lt;/font&gt;&lt;br&gt;&lt;br&gt;&lt;b&gt;By Raz A. on 6/24/2020 10:33:45 AM&lt;/b&gt;&lt;br&gt;I cannot use the functions "FindWindow" ,"SetWindowLong" and "IsWindow"&lt;br&gt;They do not exists.&lt;br&gt;What do i need to import?&lt;br&gt;&lt;br&gt;&lt;b&gt;By DrATEasy (Ron Y.) on 6/24/2020 3:28:46 PM&lt;/b&gt;&lt;br&gt;Edit and Text format and add the following section to the Libraries section:&lt;br&gt;&lt;br&gt;DLL User32&lt;br&gt;--------------------------------------------------------------------------------&lt;br&gt;	File = User32.dll&lt;br&gt;	ReloadOnStart = False&lt;br&gt;	LoadOnAccess = True&lt;br&gt;	Public = True&lt;br&gt;&lt;br&gt;DLL Types&lt;br&gt;--------------------------------------------------------------------------------&lt;br&gt;&lt;br&gt;enumGetWindow: Enum Public&lt;br&gt;{&lt;br&gt;	GW_OWNER: Long Const = 4&lt;br&gt;}&lt;br&gt;&lt;br&gt;DLL Procedures&lt;br&gt;--------------------------------------------------------------------------------&lt;br&gt;&lt;br&gt;&lt;br&gt;Procedure FindWindow(szClassName, sWindowName): AHandle Public Alias = FindWindowA&lt;br&gt;--------------------------------------------------------------------------------&lt;br&gt;	szClassName: Val Long&lt;br&gt;	sWindowName: Val String&lt;br&gt;&lt;br&gt;&lt;br&gt;&lt;br&gt;Procedure IsWindow(hWnd): Bool Public&lt;br&gt;--------------------------------------------------------------------------------&lt;br&gt;	hWnd: Val AHandle&lt;br&gt;&lt;br&gt;Procedure SetWindowLong(hWnd, lIndex, dwNewLong): Long Public Alias = SetWindowLongA&lt;br&gt;--------------------------------------------------------------------------------&lt;br&gt;	hWnd: Val AHandle&lt;br&gt;	lIndex: Val Long&lt;br&gt;	dwNewLong: Val DWord&lt;br&gt;&lt;br&gt;</description><link>https://www.marvintest.com/Forums/Thread.aspx?ID=467</link><pubDate>6/22/2020 11:14:48 PM</pubDate></item><item><title>Set time and date from ATEASY - Created on Monday, June 22, 2020 (Solution Avaliable)</title><description>&lt;b&gt;By Raz A. on 6/22/2020 11:14:02 PM&lt;/b&gt;&lt;br&gt;I am using ATEASY 7 142g in windows 7&lt;br&gt;&lt;br&gt;i want to set date and time from ateasy code.&lt;br&gt;i know that there is cmd commands, but is there ateasy library that does the same thing?&lt;br&gt;&lt;br&gt;And, is there a form\control for setting the time and date?&lt;br&gt;&lt;br&gt;&lt;b&gt;By DrATEasy (Ron Y.) on 9/9/2020 9:32:56 AM&lt;/b&gt;&lt;br&gt;Use the following code:&lt;br&gt;&lt;br&gt;! open control panel applet to change date time and time zone&lt;br&gt;WinExec("timedate.cpl")&lt;br&gt;&lt;br&gt;! set parent to the buttons form&lt;br&gt;Delay(1000)	! let the window create before we can find it&lt;br&gt;h=FindWindow(0, "Date and Time")&lt;br&gt;SetWindowLong(h, -8, TestExec.GetCurrentForm().hWnd)&lt;br&gt;&lt;br&gt;! disable current form&lt;br&gt;TestExec.GetCurrentForm().Enabled=False&lt;br&gt;&lt;br&gt;! Wait until Date/time window closed&lt;br&gt;while IsWindow(h)&lt;br&gt;	DoEvents()&lt;br&gt;endwhile&lt;br&gt;&lt;br&gt;! re-enable&lt;br&gt;TestExec.GetCurrentForm().Enabled=True&lt;br&gt;&lt;br&gt;&lt;br&gt;Where the following are decllared in TestExec.drv but in case you don't have them and using older version::&lt;br&gt;&lt;br&gt;DLL User32&lt;br&gt;--------------------------------------------------------------------------------&lt;br&gt;	File = User32.dll&lt;br&gt;	ReloadOnStart = False&lt;br&gt;	LoadOnAccess = True&lt;br&gt;	Public = True&lt;br&gt;&lt;br&gt;enumGetWindow: Enum Public&lt;br&gt;{&lt;br&gt;	GW_OWNER: Long Const = 4&lt;br&gt;}&lt;br&gt;&lt;br&gt;&lt;br&gt;Procedure IsWindow(hWnd): Bool Public&lt;br&gt;--------------------------------------------------------------------------------&lt;br&gt;	hWnd: Val AHandle&lt;br&gt;&lt;br&gt;Procedure SetWindowLong(hWnd, lIndex, dwNewLong): Long Public Alias = SetWindowLongA&lt;br&gt;--------------------------------------------------------------------------------&lt;br&gt;	hWnd: Val AHandle&lt;br&gt;	lIndex: Val Long&lt;br&gt;	dwNewLong: Val DWord&lt;br&gt;&lt;br&gt;</description><link>https://www.marvintest.com/Forums/Thread.aspx?ID=466</link><pubDate>6/22/2020 11:14:02 PM</pubDate></item><item><title>"Out of memory" error - Created on Monday, June 22, 2020</title><description>&lt;b&gt;By Raz A. on 6/22/2020 10:53:42 PM&lt;/b&gt;&lt;br&gt;I am using ATEASY 7 142g&lt;br&gt;&lt;br&gt;For  some reason i get "Out of memory" error (attached) while running&lt;br&gt;I click OK and it seams that it dosent affect anything (i hope).&lt;br&gt;It might happen several time during execution.&lt;br&gt;&lt;br&gt;I do not use any dll and the memory i use seems to be ok.&lt;br&gt;&lt;br&gt;Why is this happenning?&lt;br&gt;&lt;br&gt;&lt;b&gt;By Raz A. on 10/25/2020 5:47:48 AM&lt;/b&gt;&lt;br&gt;Can someone shed some light?&lt;br&gt;&lt;br&gt;&lt;b&gt;By DrATEasy (Ron Y.) on 10/26/2020 10:08:37 AM&lt;/b&gt;&lt;br&gt;Not enough information in your post. &lt;br&gt;What gets called when you get the message? Can you pause? if it is exe try to find the location where it occurs.&lt;br&gt;&lt;br&gt;&lt;b&gt;By Raz A. on 10/26/2020 11:54:18 PM&lt;/b&gt;&lt;br&gt;No dll or external exe&lt;br&gt;It happens randomly&lt;br&gt;When it happens, the sw continues to run even if the out of memory windows is still open, so you cannot pause....&lt;br&gt;&lt;br&gt;&lt;b&gt;By DrATEasy (Ron Y.) on 10/27/2020 9:19:01 AM&lt;/b&gt;&lt;br&gt;We have no such reports. Check memory consumption using task manager and see if it increases. &lt;br&gt;&lt;br&gt;This is very old version and we can't make changes to its run-time so the only way around it is to figure out what triggers this message.&lt;br&gt;&lt;br&gt;&lt;b&gt;By Raz A. on 11/7/2020 6:41:48 PM&lt;/b&gt;&lt;br&gt;In the end&lt;br&gt;After investigating  the code&lt;br&gt;The problem was too big memory allocation of arrays and by mistake doubling it....&lt;br&gt;&lt;br&gt;</description><link>https://www.marvintest.com/Forums/Thread.aspx?ID=465</link><pubDate>6/22/2020 10:53:42 PM</pubDate></item><item><title>Runtime error when using ComReceive() func - Created on Monday, May 18, 2020</title><description>&lt;b&gt;By Raz A. on 5/18/2020 9:51:07 AM&lt;/b&gt;&lt;br&gt;I use ATEASY 7 142g in windows 7 x86.&lt;br&gt;&lt;br&gt;I am having an unexplained runtime error when using the ComReceive() function :&lt;br&gt; &lt;br&gt;Run-time error #333 : 'System exception 0xC0000005 'Memory access violation' Occurred in DLL procedure 'ComReceive'  ATEasy may be in an unstable state. Please save your files and exit ATEasy.&lt;br&gt;&lt;br&gt;This is my call:&lt;br&gt;lReadBytes = comreceive(m_DaPort, "", 100,, aucInternalData, 1024)&lt;br&gt;&lt;br&gt;When aucInternalData is a one dimensional byte array in size of 131072.&lt;br&gt;I receive maximum 1024, so i dont see where the problem is.&lt;br&gt;&lt;br&gt;Can anyone elaborate?&lt;br&gt;&lt;br&gt;&lt;b&gt;By Raz A. on 5/25/2020 9:42:21 AM&lt;/b&gt;&lt;br&gt;Ron, do you have any insights?&lt;br&gt;Toda :-)&lt;br&gt;&lt;br&gt;&lt;b&gt;By DrATEasy (Ron Y.) on 5/26/2020 8:37:41 AM&lt;/b&gt;&lt;br&gt;I believe memory is corrupted before this call, place a breakpoint before the call and view variables values using the Call Stack or Globals to see if any of one of the variable is corrupt. &lt;br&gt;&lt;br&gt;You can also install the latest ATEasy (side by side) to see if it behaves differently since the version you are using is old and this maybe an issue that was resolved. With v10 you can also save a dump file/exception eventss file that can tell us more information about the issue (see https://www.marvintest.com/KB/Q200213/The-ATEasy-Crash-Analysis-Tool). &lt;br&gt;&lt;br&gt;Ronnie&lt;br&gt;&lt;br&gt;&lt;b&gt;By Raz A. on 5/26/2020 9:31:47 AM&lt;/b&gt;&lt;br&gt;It happens only when running the exe, not when debugging...so we cant put a breakpoint&lt;br&gt;&lt;br&gt;We cant upgrade the ateasy version because of drivers depending on the 7 version....&lt;br&gt;&lt;br&gt;The data array is a local variable that is not used somewhere else in that function...&lt;br&gt;So i dont see how the memory can be corrupted&lt;br&gt;&lt;br&gt;</description><link>https://www.marvintest.com/Forums/Thread.aspx?ID=463</link><pubDate>5/18/2020 9:51:07 AM</pubDate></item><item><title>Complie a project on a x64 windows and run it on a x86 windows - Created on Monday, May 18, 2020 (Solution Avaliable)</title><description>&lt;b&gt;By Raz A. on 5/18/2020 9:44:20 AM&lt;/b&gt;&lt;br&gt;I am using ATEASY 7 142g &lt;br&gt;&lt;br&gt;I am compiling a project on a x64 windows 7, but i run the SW on a x86 windows 7.&lt;br&gt;&lt;br&gt;The SW is running...but i need to know if there  is a risk by doing this?&lt;br&gt;&lt;br&gt;Is the compiling operation doing something different when compiling on different machines?&lt;br&gt;&lt;br&gt;&lt;b&gt;By DrATEasy (Ron Y.) on 5/18/2020 9:47:19 AM&lt;/b&gt;&lt;br&gt;No risk at all, ATEasy compiler is CPU independent.&lt;br&gt;&lt;br&gt;Ronnie&lt;br&gt;&lt;br&gt;&lt;b&gt;By Raz A. on 5/18/2020 10:12:17 AM&lt;/b&gt;&lt;br&gt;Ok i will expand my questions&lt;br&gt;&lt;br&gt;If on the compiling machine, i get no errors but only "warnings" on missing dll - but those dll do exist on the target computer....&lt;br&gt;&lt;br&gt;is there any risk here?&lt;br&gt;&lt;br&gt;&lt;b&gt;By DrATEasy (Ron Y.) on 5/18/2020 10:14:45 AM&lt;/b&gt;&lt;br&gt;No issue as well. The warning are not considered at run time and the missing DLLs is searched again the same way and loaded if found at the target machine.&lt;br&gt;&lt;br&gt;Ronnie&lt;br&gt;&lt;br&gt;</description><link>https://www.marvintest.com/Forums/Thread.aspx?ID=462</link><pubDate>5/18/2020 9:44:20 AM</pubDate></item><item><title>Filter a skipped test name from log  in test executive - Created on Thursday, May 14, 2020</title><description>&lt;b&gt;By Raz A. on 5/14/2020 3:16:32 AM&lt;/b&gt;&lt;br&gt;I am using ATEASY 8 build 148c&lt;br&gt;&lt;br&gt;i have a test that by some conditions i skip it by using  "exittest" or "exittask".&lt;br&gt;&lt;br&gt;But the test executive prints the skipped test name at the summary in the end of the log.&lt;br&gt;&lt;br&gt;how can i make the test executive not print the skipped test name?&lt;br&gt;&lt;br&gt;&lt;b&gt;By DrATEasy (Ron Y.) on 5/18/2020 1:22:40 PM&lt;/b&gt;&lt;br&gt;I can't see that it happens. Open the TestExec.prj in your example folder and run the  Language program. The example has ExitTest call but I don't see that is displays that a test was skipped at the end of the test log.&lt;br&gt;&lt;br&gt;Ronnie&lt;br&gt;&lt;br&gt;</description><link>https://www.marvintest.com/Forums/Thread.aspx?ID=461</link><pubDate>5/14/2020 3:16:32 AM</pubDate></item><item><title>Import C++ dll into ateasy 4 - Created on Tuesday, May 5, 2020 (Solution Avaliable)</title><description>&lt;b&gt;By Raz A. on 5/5/2020 8:25:05 AM&lt;/b&gt;&lt;br&gt;I am importing a DLL from c++ in ATEASY 4 in windows 2000&lt;br&gt;&lt;br&gt;I have a function with a paramter of c++ type:&lt;br&gt;unsigned __int64&lt;br&gt;&lt;br&gt;what is the ATEASY 4 equivalent  parameter type that i need ?&lt;br&gt;&lt;br&gt;&lt;b&gt;By DrATEasy (Ron Y.) on 5/5/2020 10:53:19 AM&lt;/b&gt;&lt;br&gt;DDWord and DLong were added in ATEasy v5. You need newer version than 4 to import the C (not C++) header file.&lt;br&gt;&lt;br&gt;Ronnie&lt;br&gt;&lt;br&gt;&lt;b&gt;By Raz A. on 5/5/2020 12:31:35 PM&lt;/b&gt;&lt;br&gt;Isnt there a workaround?&lt;br&gt;Maybe define it as variant or any type?&lt;br&gt;Array of bytes?&lt;br&gt;&lt;br&gt;&lt;b&gt;By DrATEasy (Ron Y.) on 5/5/2020 2:50:42 PM&lt;/b&gt;&lt;br&gt;If it is Val parameter, then you can use two parameters of DWord instead.&lt;br&gt;If it is Var parameter,  you can use Array of DWord (pass in array of 2 elements).&lt;br&gt;If it is a field In a structure, you can use DWord[2].&lt;br&gt;&lt;br&gt;Ronnie&lt;br&gt;&lt;br&gt;&lt;b&gt;By Raz A. on 5/6/2020 5:26:42 AM&lt;/b&gt;&lt;br&gt;The first option worked!!!!&lt;br&gt;&lt;br&gt;i am trying to understand what is the reason for a single parameter of dword[2] or byte[8] wont work.&lt;br&gt;can you explain?&lt;br&gt;&lt;br&gt;&lt;b&gt;By DrATEasy (Ron Y.) on 5/6/2020 8:34:50 AM&lt;/b&gt;&lt;br&gt;You  have a Val and not Var parameter. Val parameter expect the the value to be pushed to the stack while Var parameter expect a pointer to the data. When you pass array argument it always push a pointer to the stack - so that is why it is suitable only for the Var case.&lt;br&gt;&lt;br&gt;Ronnie&lt;br&gt;&lt;br&gt;</description><link>https://www.marvintest.com/Forums/Thread.aspx?ID=460</link><pubDate>5/5/2020 8:25:05 AM</pubDate></item><item><title>ATEasy Python Driver - Created on Saturday, April 25, 2020 (Solution Avaliable)</title><description>&lt;b&gt;By Roman V. on 4/25/2020 10:47:30 PM&lt;/b&gt;&lt;br&gt;Hi,&lt;br&gt;&lt;br&gt;My team is waiting for new ATEasy Python Driver to integrate it in the project.&lt;br&gt;&lt;br&gt;The plan is to use driver instead using STDIO Process.&lt;br&gt;&lt;br&gt;BR&lt;br&gt;Roman Vinnik&lt;br&gt;&lt;br&gt;&lt;b&gt;By DrATEasy (Ron Y.) on 4/28/2020 3:53:37 PM&lt;/b&gt;&lt;br&gt;Hi,&lt;br&gt;&lt;br&gt;Attached is a pre-release of Python driver/example. &lt;br&gt;&lt;br&gt;This is a preliminary  and we will add more features in the future (v11). &lt;br&gt;&lt;br&gt;You will need to install Python 3.8.2 from https://www.python.org/downloads/.&lt;br&gt;&lt;br&gt;If you need or have request  for additional features, please open a support incident and paste your request there.&lt;br&gt;&lt;br&gt;Ronnie&lt;br&gt;&lt;br&gt;&lt;b&gt;By Roman V. on 4/29/2020 11:46:12 PM&lt;/b&gt;&lt;br&gt;Hi,&lt;br&gt;Thank you very much for this amazing driver.&lt;br&gt;Verified the examples and look very good.&lt;br&gt;One point, that I can to understand is how we can catch the exception:&lt;br&gt;! Raise Python Exception and catch in ATEasy&lt;br&gt;if PYTHON Run("raise Exception('Exception')")=-1&lt;br&gt;	TestStatus=PASS&lt;br&gt;else&lt;br&gt;	TestStatus=FAIL&lt;br&gt;endif&lt;br&gt;How it's work? I add some exception in example file, but it's not visible in ATEasy.&lt;br&gt;&lt;br&gt;BR&lt;br&gt;Roman&lt;br&gt;&lt;br&gt;&lt;b&gt;By Tero S. on 4/30/2020 7:18:54 AM&lt;/b&gt;&lt;br&gt;Hi Roman,&lt;br&gt;&lt;br&gt;PYTHON Run("raise Exception('Exception')") doesn't run the example script. It just interpreters one line in Python. For example, the below would raise a differently named exception in Python:&lt;br&gt;raise Exception('TheNameOfMyRaisedException')&lt;br&gt;&lt;br&gt;This returns -1 if an exception was raised (and it is):&lt;br&gt;PYTHON Run("raise Exception('Exception')")=-1&lt;br&gt;&lt;br&gt;Hope that helps.&lt;br&gt;&lt;br&gt;Regards,&lt;br&gt;Tero&lt;br&gt;&lt;br&gt;&lt;b&gt;By Idan U. on 5/3/2020 6:58:51 AM&lt;/b&gt;&lt;br&gt;Hello Tero And Ron,&lt;br&gt;Thank you very much for this driver !&lt;br&gt;&lt;br&gt;I have 2 question regarding the usage:&lt;br&gt;1. where do the print statements go ? where can i see them ? &lt;br&gt;2. how can i use the driver when creating an object in OO python  ?&lt;br&gt;for example,if i run 10 tests and all of them use  a PSU object for example how can i pass the object between the tests ?&lt;br&gt;&lt;br&gt;Regards,&lt;br&gt;Idan&lt;br&gt;&lt;br&gt;&lt;b&gt;By Roman V. on 5/3/2020 7:56:43 AM&lt;/b&gt;&lt;br&gt;Additional to Idan's question, how it possible to load python CLASS and not just Function from loaded module?&lt;br&gt;&lt;br&gt;&lt;b&gt;By Idan U. on 5/4/2020 12:37:14 AM&lt;/b&gt;&lt;br&gt;Hello Tero And Ron,&lt;br&gt;Thank you very much for this driver !&lt;br&gt;&lt;br&gt;I have 2 question regarding the usage:&lt;br&gt;1. where do the print statements go ? where can i see them ? &lt;br&gt;2. how can i use the driver when creating an object in OO python  ?&lt;br&gt;for example,if i run 10 tests and all of them use  a PSU object for example how can i pass the object between the tests ?&lt;br&gt;&lt;br&gt;Regards,&lt;br&gt;Idan&lt;br&gt;&lt;br&gt;&lt;b&gt;By Idan U. on 5/4/2020 6:14:51 AM&lt;/b&gt;&lt;br&gt;Hello Tero And Ron,&lt;br&gt;Thank you very much for this driver !&lt;br&gt;&lt;br&gt;I have 2 question regarding the usage:&lt;br&gt;1. where do the print statements go ? where can i see them ? &lt;br&gt;2. how can i use the driver when creating an object in OO python  ?&lt;br&gt;for example,if i run 10 tests and all of them use  a PSU object for example how can i pass the object between the tests ?&lt;br&gt;&lt;br&gt;Regards,&lt;br&gt;Idan&lt;br&gt;&lt;br&gt;&lt;b&gt;By Idan U. on 5/4/2020 11:36:51 PM&lt;/b&gt;&lt;br&gt;Hello,&lt;br&gt;&lt;br&gt;Sorry about the multiple replays, every time i hit refresh it answer the thread apparently&lt;br&gt;&lt;br&gt;&lt;br&gt;Any update ?&lt;br&gt;to summarize&lt;br&gt;1. where do the print statements go ? where can i see them ?&lt;br&gt;2. how can i use the driver when creating an object in OO python  ?&lt;br&gt;for example,if i run 10 tests and all of them use  a PSU object for example how can i pass the object between the tests ?&lt;br&gt;3.how it possible to load python CLASS and not just Function from loaded module?&lt;br&gt;&lt;br&gt;BR,&lt;br&gt;Idan&lt;br&gt;&lt;br&gt;&lt;b&gt;By Tero S. on 5/5/2020 7:18:57 AM&lt;/b&gt;&lt;br&gt;Hi Idan,&lt;br&gt;&lt;br&gt;I am working on examples for your question 1-3. We'll post the updated driver example with respect to your needs as soon as possible. &lt;br&gt;&lt;br&gt;Regards,&lt;br&gt;Tero&lt;br&gt;&lt;br&gt;&lt;b&gt;By Idan U. on 5/11/2020 12:16:23 AM&lt;/b&gt;&lt;br&gt;Hey Tero,&lt;br&gt;&lt;br&gt;Is there any news on this ?&lt;br&gt;&lt;br&gt;Regards,&lt;br&gt;Idan&lt;br&gt;&lt;br&gt;&lt;b&gt;By Tero S. on 5/11/2020 7:23:48 AM&lt;/b&gt;&lt;br&gt;Hi Idan,&lt;br&gt;&lt;br&gt;Yes, the driver was updated with examples to match your questions. As soon as it's merged, we'll post it for you.  &lt;br&gt;  1) By default, the standard output stream in Windows. From Python, you can use file-like objects to redirect the stream as you wish, or like it was done in the new example, overriding the sys.stdout.write method.&lt;br&gt;  2) You can reference the corresponding Python objects and save their addresses to an ATEasy variable.&lt;br&gt;  3) You can call your class constructor, Python object, in a similar manner to a def&lt;br&gt;&lt;br&gt;Regards,&lt;br&gt;Tero&lt;br&gt;&lt;br&gt;&lt;b&gt;By Idan U. on 5/12/2020 12:09:25 AM&lt;/b&gt;&lt;br&gt;Great News !!!&lt;br&gt;&lt;br&gt;Can you please attach the new driver or send me a link ?&lt;br&gt;&lt;br&gt;Regards,&lt;br&gt;Idan&lt;br&gt;&lt;br&gt;&lt;b&gt;By DrATEasy (Ron Y.) on 5/12/2020 3:33:52 PM&lt;/b&gt;&lt;br&gt;Attached is update Driver and example with Class/Methods calling and standard output.&lt;br&gt;&lt;br&gt;Ronnie&lt;br&gt;&lt;br&gt;&lt;b&gt;By Idan U. on 5/13/2020 9:59:57 AM&lt;/b&gt;&lt;br&gt;Hello Tero and Ron.&lt;br&gt;&lt;br&gt;Thank you very much for this driver !&lt;br&gt;i have 2 question regarding the class usage.&lt;br&gt;&lt;br&gt;1. hPyArgs=PYTHON Set Args Tuple({})&lt;br&gt;Im getting an error if im not passing a string("abc123") or a const to it , can i pass a variable ? Test.name for example ?&lt;br&gt;&lt;br&gt;2. hPyReturn=PYTHON Get Object FromAttribute(hPyClassInstance, "class_variable")&lt;br&gt;can i access method variable the same way i access class variables ?&lt;br&gt;&lt;br&gt;Thanks again for all your hard work !&lt;br&gt;&lt;br&gt;Regards,&lt;br&gt;Idan&lt;br&gt;&lt;br&gt;&lt;b&gt;By Tero S. on 5/13/2020 12:26:00 PM&lt;/b&gt;&lt;br&gt;Hi Idan,&lt;br&gt;&lt;br&gt;1. &lt;br&gt;You can index the avArgv and assign a variable to avArgv. This is done on line 4 of Test 1.8 with the Python client socket handle in avArgv[0].&lt;br&gt;&lt;br&gt;2. &lt;br&gt;Depends on what namespace the variable is in:&lt;br&gt;- if variable is defined outside of function you can access&lt;br&gt;- if variable is defined in function's local namespace, the variable reference is dumped after invoke&lt;br&gt;  - unless you return it or change its scope&lt;br&gt;&lt;br&gt;Useful Python docs:&lt;br&gt;"&lt;br&gt;...&lt;br&gt;The local namespace for a function is created when the function is called, and deleted when the function returns or raises an exception that is not handled within the function&lt;br&gt;...&lt;br&gt;"&lt;br&gt;[ Source: https://docs.python.org/3/tutorial/classes.html#python-scopes-and-namespaces ]&lt;br&gt;&lt;br&gt;Regards,&lt;br&gt;Tero&lt;br&gt;&lt;br&gt;&lt;b&gt;By Idan U. on 5/18/2020 5:56:19 AM&lt;/b&gt;&lt;br&gt;Hello Tero,&lt;br&gt;&lt;br&gt;when using hPyModule=PYTHON Module Import("C:\\GitRepos\\radar_validation_tools-atspy\\System\\TestsAPI\\FunTestMatrixATEasyAPI.py")&lt;br&gt;hPyModule return 0, where can i see why it failed to import the file ?&lt;br&gt;&lt;br&gt;when i run it with python im not getting any errors. &lt;br&gt;using "python C:\\GitRepos\\radar_validation_tools-atspy\\System\\TestsAPI\\FunTestMatrixATEasyAPI.py"  in cmd there are no errors.&lt;br&gt;&lt;br&gt;Regards,&lt;br&gt;Tero&lt;br&gt;&lt;br&gt;&lt;b&gt;By Tero S. on 5/18/2020 1:40:57 PM&lt;/b&gt;&lt;br&gt;Hi Idan,&lt;br&gt;&lt;br&gt;Module import uses PyImport_ImportModule() of the Python API. &lt;br&gt;[API, PyImport_ImportModule:&lt;br&gt;https://docs.python.org/3/c-api/import.html?#c.PyImport_ImportModule&lt;br&gt;]&lt;br&gt;&lt;br&gt;It's not equivalent to running the interpreter from shell. The interpreter prints out exception if you are in TTY, so typing: &lt;br&gt;python {absoluteFilePath}&lt;br&gt;in cmd. And if there's an error, Python interpreter responds:&lt;br&gt;python: can't open file 'fileName': [Errno 2] No such file or directory&lt;br&gt;&lt;br&gt;By default, the driver is initialized in *isolated mode, which means that it relies on you to tell it what environment you want to run your scripts in. I think this may be the reason why your module import fails: the script path isn't in sys.path list. You can add the path to TestsAPI in the driver PythonProjectPath. [Isolated mode: &lt;br&gt;https://docs.python.org/3/using/cmdline.html#id2&lt;br&gt;]&lt;br&gt;&lt;br&gt;*It will however append to system path either the execution directory of the script or path in PythonProjectPath&lt;br&gt;&lt;br&gt;Regards,&lt;br&gt;Tero&lt;br&gt;&lt;br&gt;&lt;b&gt;By DrATEasy (Ron Y.) on 5/19/2020 4:02:18 PM&lt;/b&gt;&lt;br&gt;Updated program and .py with standard input example:&lt;br&gt;&lt;br&gt;Regards,&lt;br&gt;Ronnie&lt;br&gt;&lt;br&gt;</description><link>https://www.marvintest.com/Forums/Thread.aspx?ID=459</link><pubDate>4/25/2020 10:47:30 PM</pubDate></item><item><title>Is it possible to integrate Jenkins and ATEasy ? - Created on Sunday, April 12, 2020 (Solution Avaliable)</title><description>&lt;b&gt;By Idan U. on 4/12/2020 6:58:36 AM&lt;/b&gt;&lt;br&gt;We would like to launch ATEeasy tests using Jenkins, is it possible ?&lt;br&gt;Do you have a use case or example ?&lt;br&gt;&lt;br&gt;&lt;b&gt;By Tero S. on 4/13/2020 11:42:19 AM&lt;/b&gt;&lt;br&gt;Hi Idan,

It&amp;#39;s probably faster to start by integrating via command line with ATEasy. Can you give me some specifics on what you would like to do with Jenkins and ATEasy? Do you need an example for a Jenkinsfile pipe or something similar?

Regards,
Tero&lt;br&gt;&lt;br&gt;&lt;b&gt;By Idan U. on 4/13/2020 11:33:54 PM&lt;/b&gt;&lt;br&gt;Hello Tero,&lt;br&gt;&lt;br&gt;I need to execute the ATEeasy tests via command line, how can i do it ?&lt;br&gt;&lt;br&gt;&lt;b&gt;By Tero S. on 4/14/2020 9:14:33 AM&lt;/b&gt;&lt;br&gt;Idan,&lt;br&gt;&lt;br&gt;I would use the ATEasy AApp properties for an executable. You can find the necessary help indexed at "CommandLine Property (AApp)" of ATEasy help (click F1 in IDE). Here's the example from that index:&lt;br&gt;[&lt;br&gt;Example&lt;br&gt;For example if you call your executable:&lt;br&gt;&lt;br&gt;abc.exe  a.log&lt;br&gt;&lt;br&gt;The App.CommandLine will return a string "a.log" and in your code you can use it as:&lt;br&gt;&lt;br&gt;SaveLog(Trim(App.CommandLine))&lt;br&gt;&lt;br&gt;The following example calls a user procedure to scan the command line parameters:&lt;br&gt;&lt;br&gt;ScanCommandParams(App.CommandLine)&lt;br&gt;&lt;br&gt;&lt;br&gt;]&lt;br&gt;&lt;br&gt;Regards,&lt;br&gt;Tero&lt;br&gt;&lt;br&gt;&lt;b&gt;By DrATEasy (Ron Y.) on 4/14/2020 9:39:00 AM&lt;/b&gt;&lt;br&gt;Hi Idan,&lt;br&gt;&lt;br&gt;To execute a program task , test or a profile using command line, you can design a command line that except the program ID, Task ID or Test ID to execute. You then parse it it OnInit event and use the Run statement for program and OnInitProgram to Task/Test Statement to execute it. For example you can design a command line that specify /rprg 'program id' or /rtask 'task id', /rtest ' testid' (to run a program, task or test)&lt;br&gt;&lt;br&gt;Depending on your command line you can use the Exit statement in OnEndTest/Task/Program to exit your executable.&lt;br&gt;&lt;br&gt;You can also integrate the build of your project into Jenkins by using ATEasy.exe /b (see help). The return exit code will tell you if the build is successful.&lt;br&gt;&lt;br&gt;&lt;br&gt;Ronnie&lt;br&gt;&lt;br&gt;&lt;b&gt;By Idan U. on 4/20/2020 12:26:12 AM&lt;/b&gt;&lt;br&gt;Hello Ron,&lt;br&gt;&lt;br&gt;We need the option to run the ATEasy tests from command line.&lt;br&gt;&lt;br&gt;I didnt get your answer at all, how can i trigger it ? can you elaborate or provide an example ? &lt;br&gt;&lt;br&gt;From you answer i understand that there is no "built-in" feature to run the tests from the cmd in ATEasy ?&lt;br&gt;&lt;br&gt;&lt;b&gt;By DrATEasy (Ron Y.) on 4/20/2020 8:34:07 AM&lt;/b&gt;&lt;br&gt;I assume that after you make changes to you code, you want to build executable and if successful you want to run some tests using Jenkins. &lt;br&gt;&lt;br&gt;The On-Line help have a "command line" topic explain how to build executable using the IDE command line. To test you to write some code to parse the command line as I explained.&lt;br&gt;&lt;br&gt;There is no built in to run a single test or a task from your executable, but my earlier post clearly explained how to implement that and it is very simple (very few lines of code).  &lt;br&gt;&lt;br&gt;If you need help implementing that, I suggest to open a support incident explaining what command line parameter you have difficulty implementing to your executable.&lt;br&gt;&lt;br&gt;&lt;b&gt;By Idan U. on 4/20/2020 12:18:45 PM&lt;/b&gt;&lt;br&gt;Hello,&lt;br&gt;&lt;br&gt;OK so the objective was unclear, i dont do any changes to ATEasy code i dont need Jenkins to build it for me i want Jenkins to trigger ATEasy specific profile that contain predefined tests.&lt;br&gt;&lt;br&gt;I dont want to manually execute the ATeasy build exe output chose a profile and click on run, i want Jenkins to do it.&lt;br&gt;&lt;br&gt;If you need lets schedule a call i can share me target and ill probably be able to explain it clearer.&lt;br&gt;&lt;br&gt;&lt;b&gt;By DrATEasy (Ron Y.) on 4/20/2020 5:25:36 PM&lt;/b&gt;&lt;br&gt;In that case. You will have to add a driver to handle the command line and execution and add it to all the projects.&lt;br&gt;&lt;br&gt;&lt;b&gt;By Roman V. on 4/22/2020 5:59:13 AM&lt;/b&gt;&lt;br&gt;Thanks It's was helpful!&lt;br&gt;&lt;br&gt;&lt;b&gt;By Xiomioker T. on 8/5/2021 8:13:33 AM&lt;/b&gt;&lt;br&gt;[Quote= Idan U. wrote:&lt;br&gt;We would like to launch ATEeasy tests using Jenkins, is it possible ?&lt;br&gt;Do you have a use case or example ? =Quote]&lt;br&gt;&lt;br&gt;Jenkins does allow developers to build, deploy and test software as it is considered one of the [url=https://www.cloudways.com/blog/continuous-deployment-tools/]best ci cd tools[/url]. Following this thread for research purposes. Thanks! keep it live :)&lt;br&gt;&lt;br&gt;</description><link>https://www.marvintest.com/Forums/Thread.aspx?ID=458</link><pubDate>4/12/2020 6:58:36 AM</pubDate></item><item><title>Burn files into CD from ATEASY or command line - Created on Tuesday, March 31, 2020 (Solution Avaliable)</title><description>&lt;b&gt;By Raz A. on 3/31/2020 1:41:21 AM&lt;/b&gt;&lt;br&gt;Does ATEASY has any API in order to burn files into a CD?&lt;br&gt;or maybe someone knows any command line for this?&lt;br&gt;&lt;br&gt;&lt;b&gt;By DrATEasy (Ron Y.) on 3/31/2020 8:31:38 AM&lt;/b&gt;&lt;br&gt;To burn a CD or DVD ISO file from command prompt with Windows Disc Image Burner,  use the following command to burn iso images to CD/DVD:&lt;br&gt;&lt;br&gt;isoburn /q drive:\file.iso&lt;br&gt;&lt;br&gt;Where isoburn /q is the command and replace drive with your driver letter or the complete path. For example if myfile.iso file is located in your D drive and you want to burn it with above mentioned command, the correct command will be:&lt;br&gt;&lt;br&gt;isoburn /q d:\myfile.iso&lt;br&gt;&lt;br&gt;In ATEasy you can use WinExec() internal function to execute it from you application&lt;br&gt;&lt;br&gt;&lt;b&gt;By Raz A. on 3/31/2020 8:51:34 AM&lt;/b&gt;&lt;br&gt;Thanks, but i want to burn regular files, not iso image.&lt;br&gt;What can i do?&lt;br&gt;&lt;br&gt;&lt;b&gt;By DrATEasy (Ron Y.) on 3/31/2020 9:14:09 AM&lt;/b&gt;&lt;br&gt;Check this article:&lt;br&gt;https://stackoverflow.com/questions/82993/windows-cd-burning-api&lt;br&gt;&lt;br&gt;</description><link>https://www.marvintest.com/Forums/Thread.aspx?ID=456</link><pubDate>3/31/2020 1:41:21 AM</pubDate></item><item><title>sizeof() on char array of size 100 returns 200 - Created on Monday, January 13, 2020 (Solution Avaliable)</title><description>&lt;b&gt;By Raz A. on 1/13/2020 12:40:13 AM&lt;/b&gt;&lt;br&gt;i have a char array,&lt;br&gt;i defined it to be 1 dimension of size 100&lt;br&gt;sizeof() on that array, returns 200&lt;br&gt;why?&lt;br&gt;&lt;br&gt;&lt;b&gt;By Tero S. on 1/13/2020 7:07:38 AM&lt;/b&gt;&lt;br&gt;Hi Raz,&lt;br&gt;&lt;br&gt;If you create a variable by name:&lt;br&gt;acTest : Char[100]&lt;br&gt;&lt;br&gt;and for example invoke sizeof(acTest) in the Debug window, what output do you see in the Debug Log?&lt;br&gt;&lt;br&gt;I see:&lt;br&gt;100&lt;br&gt;&lt;br&gt;Meaning, size of acTest is 100 bytes as expected.&lt;br&gt;&lt;br&gt;Regards,&lt;br&gt;Tero&lt;br&gt;&lt;br&gt;</description><link>https://www.marvintest.com/Forums/Thread.aspx?ID=450</link><pubDate>1/13/2020 12:40:13 AM</pubDate></item><item><title>How to import memcmp() function in c to ATEASY - Created on Sunday, January 12, 2020 (Solution Avaliable)</title><description>&lt;b&gt;By Raz A. on 1/12/2020 11:35:54 PM&lt;/b&gt;&lt;br&gt;I want to compare between two arrays, not by a loop.&lt;br&gt;How can i import the memcmp() function from c?&lt;br&gt;&lt;br&gt;&lt;b&gt;By DrATEasy (Ron Y.) on 1/12/2020 11:50:52 PM&lt;/b&gt;&lt;br&gt;Add Msvcrt.dll to libraries and define the function.  See https://www.pinvoke.net/default.aspx/msvcrt/memcmp.html. &lt;br&gt;&lt;br&gt;Ron&lt;br&gt;&lt;br&gt;&lt;b&gt;By Raz A. on 1/13/2020 12:22:44 AM&lt;/b&gt;&lt;br&gt;The link dosent work.&lt;br&gt;&lt;br&gt;&lt;b&gt;By DrATEasy (Ron Y.) on 1/13/2020 12:50:08 AM&lt;/b&gt;&lt;br&gt;https://www.pinvoke.net/default.aspx/msvcrt/memcmp.html&lt;br&gt;&lt;br&gt;Ron&lt;br&gt;&lt;br&gt;</description><link>https://www.marvintest.com/Forums/Thread.aspx?ID=449</link><pubDate>1/12/2020 11:35:54 PM</pubDate></item><item><title>SaveAs Method (ALog) dosent work when running the EXE. - Created on Monday, November 4, 2019 (Solution Avaliable)</title><description>&lt;b&gt;By Raz A. on 11/4/2019 2:07:32 AM&lt;/b&gt;&lt;br&gt;For some reason the SaveAs(..) method dosent work from outside the ATEASY enviroment.&lt;br&gt;Meaning that when running the EXE, the log is not saved.&lt;br&gt;&lt;br&gt;It seems that the function isnt even returning a value when running from the exe...&lt;br&gt;&lt;br&gt;&lt;b&gt;By DrATEasy (Ron Y.) on 11/6/2019 9:21:10 AM&lt;/b&gt;&lt;br&gt;The ALog SaveAs is called by the TestExec. You can build the TestExec.prj example, Execute the executable and then run a program (Start) and use the Log Menu, Save As  - you will see that it working correctly. If you run from the IDE, You can also place a breakpoint in TestExec.LogSaveAs and see how it works. The code looks like this:&lt;br&gt;&lt;br&gt;if lg.SaveAs(sFileName, bAppend)=alogSaveFailed&lt;br&gt;	Driver Utility MessageBox("Unable to save log file:'"+sFileName+"'")&lt;br&gt;endif&lt;br&gt;&lt;br&gt;</description><link>https://www.marvintest.com/Forums/Thread.aspx?ID=446</link><pubDate>11/4/2019 2:07:32 AM</pubDate></item><item><title>NULL in ATEASY imported c dll - Created on Sunday, October 27, 2019 (Solution Avaliable)</title><description>&lt;b&gt;By Raz A. on 10/27/2019 1:00:59 PM&lt;/b&gt;&lt;br&gt;I have an imported dll that is written in c.&lt;br&gt;It has a function that receive a parameter of type "char *"&lt;br&gt;Acording to the dll documentation, i need to send NULL in a certain scenario.&lt;br&gt;&lt;br&gt;My question is, what is the ateasy's NULL equivalent ?&lt;br&gt;&lt;br&gt;I tried to send NULL, char[1] with 0 and '\0', String with \0 and more...&lt;br&gt;Nothing works.....&lt;br&gt;&lt;br&gt;What should i send?&lt;br&gt;&lt;br&gt;&lt;b&gt;By DrATEasy (Ron Y.) on 10/27/2019 5:11:32 PM&lt;/b&gt;&lt;br&gt;I assume it is a string value and the string not changed by the function:&lt;br&gt;- Define the parameter as Val Any and pass Nothing as an argument or 0. &lt;br&gt;- You can also define the argument as Val DWord and pass 0 or &amp;string.&lt;br&gt;&lt;br&gt;</description><link>https://www.marvintest.com/Forums/Thread.aspx?ID=445</link><pubDate>10/27/2019 1:00:59 PM</pubDate></item><item><title>Cmd Prompt Tests -&gt; Multiple Commands Session - Created on Monday, September 16, 2019 (Solution Avaliable)</title><description>&lt;b&gt;By Idan U. on 9/16/2019 7:55:33 AM&lt;/b&gt;&lt;br&gt;Hello,

Running this test from the example folder with cmd.exe is working fine but when i try to run is with python "StdIOProcess Read(s)" hang and i have to force close Ateasy.

Is there  a way to run multiple commands with python ?

My code:

StdIOProcess Execute("py.exe", "", "", false)
StdIOProcess Read(s)
append s; 
StdIOProcess Write("print(\"this is a test1\")")
StdIOProcess Read(s)
append s;
StdIOProcess Write("print(\"this is a test2\")")
StdIOProcess Read(s)
append s;&lt;br&gt;&lt;br&gt;&lt;b&gt;By Tero S. on 9/19/2019 12:49:51 PM&lt;/b&gt;&lt;br&gt;Hi Idan,&lt;br&gt;&lt;br&gt;To pass arguments to an ATEasy application, compile your ATEasy project to an executable and from the command line you should be able to use standard input like:&lt;br&gt;myExe inputArg inputArg1 inputArg2 etc...&lt;br&gt;&lt;br&gt;If you want to run StdIoProcess commands from Python, you would need to compile the ATEasy driver to a DLL and import it in Python. Here is a Knowledge Base article to help you with compiling the DLL:&lt;br&gt;https://www.marvintest.com/KnowledgeBase/KBArticle.aspx?ID=215&lt;br&gt;And the relevant Python documentation to load the DLL:&lt;br&gt;https://docs.python.org/3.3/library/ctypes.html&lt;br&gt;&lt;br&gt;One reason for hanging the Read -command involves synchronous read while data is not available. You could try setting StdIoProcess variable m_bAsync to True instead of its default False. Let me know how it goes.&lt;br&gt;&lt;br&gt;Regards,&lt;br&gt;Tero&lt;br&gt;&lt;br&gt;&lt;b&gt;By Idan U. on 9/23/2019 4:42:34 AM&lt;/b&gt;&lt;br&gt;Hello Tero,&lt;br&gt;&lt;br&gt;I need to execute a python process and keep it alive through my tests since i need to initialize all the objects of the test equipment.&lt;br&gt;For now i see how ATEasy can do this, it seams that the python integration of ATEasy is not complete.&lt;br&gt;&lt;br&gt;To bypass this the STDIO process is running a python script in "while true" mode that wait for my trier of the tests and for some reason after several test ATEasy hang&lt;br&gt;&lt;br&gt;The test do NOTHING for now just create some files write random numbers and send "pass" back.&lt;br&gt;&lt;br&gt;Tried to work with sync and a-sync methods   &lt;br&gt;&lt;br&gt;Please advise.&lt;br&gt;BR,&lt;br&gt;idan.&lt;br&gt;&lt;br&gt;&lt;b&gt;By Tero S. on 10/1/2019 9:10:34 AM&lt;/b&gt;&lt;br&gt;Hi Idan,&lt;br&gt;&lt;br&gt;There are definitely plenty of ways deadlock a process. ATEasy StdIoProcess Windows DLLs like System.IO StreamReader/StreamWriter to work with standard IO. These facilities are fairly robust. Depending on what Python packages you are using, the most common issues revolve around a congested buffer, undhandled event or maybe writing to an unbuffered standard error stream. For example, the Logging facility for Python is fairly popular and uses classes like StreamHandler to output to streams. Interestingly enough if you choose no argument when you instantiate your handler like:&lt;br&gt;logging.StreamHandler()&lt;br&gt;the default you may end up with is the standard error pipe.&lt;br&gt;&lt;br&gt;With that default it is possible that a process can hang while the standard error stream is not completely buffered: then, asynchronous read is not necessarily signaled unless instructed by you to do so, and synchronous read may wait forever for standard input which may never come in this case. So, this scenario is one possible reason for a hung procedure, and I think you should try to rule it out first if possible. In order to do that, you could try to setup StreamHandler with for example sys.stdout for standard output to redirect to standard output stream instead of standard error and then check for congruence in ATEasy. &lt;br&gt;&lt;br&gt;If you have a more specific question in mind, you can also include some pertinent/suspicious code in the forum, and I'll look at that. Either way, let me know.&lt;br&gt;&lt;br&gt;Regards,&lt;br&gt;Tero&lt;br&gt;&lt;br&gt;</description><link>https://www.marvintest.com/Forums/Thread.aspx?ID=443</link><pubDate>9/16/2019 7:55:33 AM</pubDate></item><item><title>Attach to process AtEasy And Pycharm - Created on Monday, September 16, 2019 (Solution Avaliable)</title><description>&lt;b&gt;By Idan U. on 9/16/2019 4:36:45 AM&lt;/b&gt;&lt;br&gt;Hello,&lt;br&gt;&lt;br&gt; I'm Using ATEasy to run my tests that are written in python, im executing the test methods using the "Driver Execute" of ATEasy.&lt;br&gt;&lt;br&gt;Is there a way to debug using Attach to process (running ATEasy test and hit the IDE breakpoints) ? i tried to attach  to the project executable with no luck (RuntimeError: Function b'PyGILState_Ensure' not found in any module) and google is a dead-end&lt;br&gt;&lt;br&gt;BR,&lt;br&gt;idan.&lt;br&gt;&lt;br&gt;&lt;b&gt;By Tero S. on 9/19/2019 1:55:22 PM&lt;/b&gt;&lt;br&gt;Hi Idan,&lt;br&gt;&lt;br&gt;ATEasy extends .NET Framework and in that sense I would say that it is involved but possible to attach an external debugger. By the way, I am only aware of Visual Studio and maybe JetBrains implementing this functionality. At any rate it looks like even PyCharm only attaches to Python local processes and not in debug mode. You will likely find it easier to debug via PyCharm and once the code is proven, communicate with the ATEasy project to send data over to your script. Let me know what you think about this approach. Also, if you have a representative problem that addresses your issue, feel free to share it in the thread.&lt;br&gt;&lt;br&gt;Regards,&lt;br&gt;Tero&lt;br&gt;&lt;br&gt;</description><link>https://www.marvintest.com/Forums/Thread.aspx?ID=442</link><pubDate>9/16/2019 4:36:45 AM</pubDate></item><item><title>ATEasy crash without any error message and keep crashing until widows restart - Created on Wednesday, September 11, 2019</title><description>&lt;b&gt;By Idan U. on 9/11/2019 12:07:12 AM&lt;/b&gt;&lt;br&gt;ATEasy keeps crashing randomly without any error message and keep crashing after 3-4 second when i repen it until i restart windows.&lt;br&gt;&lt;br&gt;the only data i get if from windows log event:&lt;br&gt;&lt;br&gt;Faulting application name: ATEasy.exe, version: 10.0.156.3, time stamp: 0x5d169fe0&lt;br&gt;Faulting module name: unknown, version: 0.0.0.0, time stamp: 0x00000000&lt;br&gt;Exception code: 0xc00001a5&lt;br&gt;Fault offset: 0x0046002e&lt;br&gt;Faulting process id: 0x628&lt;br&gt;Faulting application start time: 0x01d5686cf9d1c506&lt;br&gt;Faulting application path: C:\Program Files (x86)\ATEasy 10.0\ATEasy.exe&lt;br&gt;Faulting module path: unknown&lt;br&gt;Report Id: 526bc7e1-3034-45e1-860f-30779a3e878f&lt;br&gt;Faulting package full name: &lt;br&gt;Faulting package-relative application ID: &lt;br&gt;&lt;br&gt;&lt;br&gt;Im working with pycharm in the background,closing bout ateasy and pycharm  it didn't solve the problem please help !&lt;br&gt;&lt;br&gt;&lt;b&gt;By DrATEasy (Ron Y.) on 9/11/2019 10:54:52 AM&lt;/b&gt;&lt;br&gt;Do you see the ATEasy Startup window or anything when ATEasy starts?
If  the crash occurred while loading the last workspace, You can also start ATEasy with LEFT SHIFT pressed down. That will prevent ATEasy from trying to load the last workspace
If that does not work, You have some kind of Windows or ATEasy corruption. Try to remove and install ATEasy.&lt;br&gt;&lt;br&gt;&lt;b&gt;By Idan U. on 9/15/2019 4:21:41 AM&lt;/b&gt;&lt;br&gt;Hello Ron,&lt;br&gt;&lt;br&gt;I dont see any difference when loading ATEasy with left shift pressed.&lt;br&gt;May be its related to the fact that im working with pychar,m in the background and editing the code as i go ? although this is happening sometimes when pycharm is close.&lt;br&gt;&lt;br&gt; BR,&lt;br&gt;Idan&lt;br&gt;&lt;br&gt;&lt;b&gt;By DrATEasy (Ron Y.) on 9/19/2019 3:42:52 PM&lt;/b&gt;&lt;br&gt;It looks like you need support, please create a Support incident instead of using user forums https://www.marvintest.com/Magic/ .  Write down all the sequence to replicate this issue, upload support files (if you have) and provide the exact ATEasy build you are using.&lt;br&gt;&lt;br&gt;</description><link>https://www.marvintest.com/Forums/Thread.aspx?ID=441</link><pubDate>9/11/2019 12:07:12 AM</pubDate></item><item><title>ATEasy Test Log , "User name" field - Created on Saturday, August 17, 2019 (Solution Avaliable)</title><description>&lt;b&gt;By Raz A. on 8/17/2019 11:40:15 PM&lt;/b&gt;&lt;br&gt;Each time i run a simple program, "The ATEasy Test Log." header is displayed, showing "Company,User Name,Project,Version" fields and values (see attached).&lt;br&gt;I see that the "User Name" field is actually the computer name.&lt;br&gt;&lt;br&gt;1.How can i change the "User Name" field? i dont want the computer name to show...&lt;br&gt;2.Can i add fields?&lt;br&gt;&lt;br&gt;&lt;b&gt;By DrATEasy (Ron Y.) on 8/19/2019 9:27:01 AM&lt;/b&gt;&lt;br&gt;By default, User Name display the Windows user name. If you are using ATEasy login, it will display the ATEasy user.&lt;br&gt;&lt;br&gt;To customize the program or application log header, you can override the OnInitProgram/Program.OnInit or OnInit (for app header). Check the following KB article, to see how this is done:&lt;br&gt;&lt;br&gt;https://www.marvintest.com/KnowledgeBase/KBArticle.aspx?ID=305&lt;br&gt;&lt;br&gt; You basically use the following code in the appropriate event:&lt;br&gt;&lt;br&gt;s=GetLogString()&lt;br&gt;! Modify the string&lt;br&gt;! change or add rows&lt;br&gt;SetLogString(s)&lt;br&gt;&lt;br&gt;</description><link>https://www.marvintest.com/Forums/Thread.aspx?ID=440</link><pubDate>8/17/2019 11:40:14 PM</pubDate></item><item><title>Test Log not displayed when running a built exe program - ATEasy Ver 9.0 (154a) - Created on Tuesday, August 6, 2019 (Solution Avaliable)</title><description>&lt;b&gt;By John S. on 8/6/2019 6:41:19 AM&lt;/b&gt;&lt;br&gt;Hi, 
I&amp;#39;m new to ATEasy and am struggling to see why the test log that is displayed within the application does not display when I run my built program (.exe file).
I know the test is running and completes okay as I can see the active instruments and result files generated.

I do not have the TestExec.drv in my driver list, as when I try this the full debug window is displayed which is not what I&amp;#39;m looking for. I want a simple test task window so that the operator can see its in progress.

Please can you tell me what I&amp;#39;m doing wrong or point me in the right direct to fix this.

Thanks for any help.

John&lt;br&gt;&lt;br&gt;&lt;b&gt;By DrATEasy (Ron Y.) on 8/6/2019 9:06:44 AM&lt;/b&gt;&lt;br&gt;You need the TestExec driver in your system to show the log, or alternatively create your own modeless form that contains a ALog control that the ATEasy run-time log is directed to it (i.e. Log=frmMine.logMyLog). See the Getting Started manual  or the help Index tab under "Log Window, Displaying Test Results in ATEasy Applications". Or, check out the TestExecMini.prj in the Examples folder&lt;br&gt;&lt;br&gt;</description><link>https://www.marvintest.com/Forums/Thread.aspx?ID=439</link><pubDate>8/6/2019 6:41:19 AM</pubDate></item><item><title>Does Ateasy.exe ver 7 142g support adding parameters? - Created on Saturday, August 3, 2019 (Solution Avaliable)</title><description>&lt;b&gt;By Raz A. on 8/3/2019 11:14:38 PM&lt;/b&gt;&lt;br&gt;I would  like to create a batch file that automaticaly:&lt;br&gt;1.runs ateasy with a specific workspace&lt;br&gt;2.automaticaly execute it (i wont have to press "run"...)&lt;br&gt;&lt;br&gt;Does ATEasy.exe support parameters?&lt;br&gt;&lt;br&gt;&lt;b&gt;By DrATEasy (Ron Y.) on 8/5/2019 9:02:53 AM&lt;/b&gt;&lt;br&gt;Yes, look in the help index for "ATEasy, ATEasy Command Line", you can use the /r"project file" to load/run a project from the IDE.&lt;br&gt;&lt;br&gt;</description><link>https://www.marvintest.com/Forums/Thread.aspx?ID=438</link><pubDate>8/3/2019 11:14:38 PM</pubDate></item><item><title>Device manager list of devices - Created on Wednesday, July 31, 2019 (Solution Avaliable)</title><description>&lt;b&gt;By Raz A. on 7/31/2019 1:30:47 AM&lt;/b&gt;&lt;br&gt;Is there a way to get all "Device manager" list of devices using ATEasy code?&lt;br&gt;in Windows xp/7.&lt;br&gt;&lt;br&gt;&lt;b&gt;By DrATEasy (Ron Y.) on 7/31/2019 9:05:55 AM&lt;/b&gt;&lt;br&gt;You can use the HW example, it can diusplay all PCI/PXI devices. &lt;br&gt;&lt;br&gt;If you need all the other devices as device manager, you can convert the following example :&lt;br&gt;&lt;br&gt;https://www.codeproject.com/articles/14412/enumerating-windows-device&lt;br&gt;&lt;br&gt;You can also use the .Net for that:&lt;br&gt;https://docs.microsoft.com/en-us/uwp/api/Windows.Devices.Enumeration&lt;br&gt;&lt;br&gt;&lt;b&gt;By Raz A. on 7/31/2019 10:45:57 PM&lt;/b&gt;&lt;br&gt;I found another quick solution, using "devcon.exe":  
   https://docs.microsoft.com/en-us/windows-hardware/drivers/devtest/devcon-general-commands    
  
But you will have to to download the devcon.exe, i found it through:  
   https://superuser.com/questions/1002950/quick-method-to-install-devcon-exe    
  
The command (in cmd.exe) to get list of all devices is:  
devcon find *  
so you will have to run in with WinExec(..).... 
  
You can see more uses of devcon.exe in here:  
   https://docs.microsoft.com/en-us/windows-hardware/drivers/devtest/devcon-examples      &lt;br&gt;&lt;br&gt;</description><link>https://www.marvintest.com/Forums/Thread.aspx?ID=437</link><pubDate>7/31/2019 1:30:47 AM</pubDate></item><item><title>#ifdef Statement with .drv - Created on Wednesday, July 24, 2019 (Solution Avaliable)</title><description>&lt;b&gt;By Raz A. on 7/24/2019 5:32:55 AM&lt;/b&gt;&lt;br&gt;My version of ATEasy is 7 142g.&lt;br&gt;&lt;br&gt;I understand that in order to use #ifdef, i need to define a symbol in "Project Misc property page".&lt;br&gt;&lt;br&gt;But, lets say i have driver that is named "Mydriver" &lt;br&gt;&lt;br&gt;I noticed that to following #ifdef code , also applies:&lt;br&gt;&lt;br&gt;#ifdef Mydriver&lt;br&gt;! do something&lt;br&gt;#endif&lt;br&gt;&lt;br&gt;Why? is this a bug?&lt;br&gt;&lt;br&gt;&lt;b&gt;By DrATEasy (Ron Y.) on 7/24/2019 9:09:35 AM&lt;/b&gt;&lt;br&gt;It is possible that the driver was expecting the project to have "MyDriver". It will not work without defining "MyDriver" in the project settings. So, does not have to be a bug.&lt;br&gt;&lt;br&gt;&lt;b&gt;By Raz A. on 7/24/2019 10:56:54 PM&lt;/b&gt;&lt;br&gt;Ive attached an example workspace which shows that it works while nothing is deffined in the project settings.&lt;br&gt;&lt;br&gt;&lt;b&gt;By DrATEasy (Ron Y.) on 8/7/2019 12:47:31 PM&lt;/b&gt;&lt;br&gt;I see the issue, we will fix it in the next build. The #ifdef Driver should not work. Thanks for reporting.&lt;br&gt;&lt;br&gt;&lt;b&gt;By DrATEasy (Ron Y.) on 8/8/2019 9:17:07 AM&lt;/b&gt;&lt;br&gt;Issue was fixed in 156 d - PR2, check the website for an update in couple of days. https://www.marvintest.com/Search.aspx?kw=156d&lt;br&gt;&lt;br&gt;&lt;font color='red'&gt;*Changed by Moderator&lt;/font&gt;&lt;br&gt;&lt;br&gt;&lt;b&gt;By Raz A. on 8/8/2019 8:57:37 PM&lt;/b&gt;&lt;br&gt;Lets say i install the fixed revision....&lt;br&gt;Because it is a preprocessor command, there is no reason that a compiled exe with the misuse "#ifdef driver" would have issues running in a fixed runtime, right?&lt;br&gt;&lt;br&gt;&lt;b&gt;By DrATEasy (Ron Y.) on 8/12/2019 5:24:13 PM&lt;/b&gt;&lt;br&gt;It will run as before we made the change in the compiler (the change is in the IDE compiler not in the run-time). Unless you recompile, you will see no change.&lt;br&gt;&lt;br&gt;&lt;b&gt;By DrATEasy (Ron Y.) on 9/26/2019 4:03:06 PM&lt;/b&gt;&lt;br&gt;156 d - PR2 was posted with a fix to this issue.   https://www.marvintest.com/Search.aspx?kw=156d      &lt;br&gt;&lt;br&gt;</description><link>https://www.marvintest.com/Forums/Thread.aspx?ID=435</link><pubDate>7/24/2019 5:32:55 AM</pubDate></item><item><title>WsReceive(), WsSend() Timeout parameter - Created on Tuesday, July 23, 2019 (Solution Avaliable)</title><description>&lt;b&gt;By Raz A. on 7/23/2019 11:19:00 PM&lt;/b&gt;&lt;br&gt;Hi, about the the second paramter of the WsReceive() and WsSend() functions which is named: "lTimeOut"&lt;br&gt;In the documentation it sais:&lt;br&gt;"The length of time in milliseconds to attempt to acquire the socket."&lt;br&gt;What does it mean?&lt;br&gt;&lt;br&gt;&lt;b&gt;By DrATEasy (Ron Y.) on 7/24/2019 9:22:14 AM&lt;/b&gt;&lt;br&gt;This is a mistake, we will correct it in the next build. It should say:&lt;br&gt;&lt;br&gt;The maximum length of time in milliseconds  attempting to receive (or send) the data.&lt;br&gt;&lt;br&gt;</description><link>https://www.marvintest.com/Forums/Thread.aspx?ID=434</link><pubDate>7/23/2019 11:19:00 PM</pubDate></item><item><title>Remove network Ateasy licence - Created on Wednesday, May 29, 2019</title><description>&lt;b&gt;By Olivier L. on 5/29/2019 5:14:12 AM&lt;/b&gt;&lt;br&gt;Hello,&lt;br&gt;I have 2 licences for Ateasy 8: one network licence and one key licence&lt;br&gt;I had set the network licence on a computer. Now I want to remove the network licence and use only the key licence.&lt;br&gt;What to do it?&lt;br&gt;&lt;br&gt;&lt;b&gt;By Tero S. on 5/29/2019 7:17:13 AM&lt;/b&gt;&lt;br&gt;You can set your active license by following the path:&lt;br&gt;Help &gt; About &gt; Set License&lt;br&gt;&lt;br&gt;&lt;b&gt;By Olivier L. on 5/29/2019 8:27:52 AM&lt;/b&gt;&lt;br&gt;Thanks for your response but I know that.&lt;br&gt;&lt;br&gt;The computer is on production line. Today, the operator can open Ateasy and modify the project. So I want to remove the access at the network licence&lt;br&gt;&lt;br&gt;&lt;b&gt;By Tero S. on 5/29/2019 8:58:11 AM&lt;/b&gt;&lt;br&gt;I see. Depending on the level privileges you have, you should look into restricting Operator's access to editing and password protecting the project. To find the relevant settings follow:&lt;br&gt;Tools &gt; Users... &gt; {Log on with admin privileges}&lt;br&gt;From here you can either create a new Operator profile and uncheck the boxes for editing permissions or use an existing profile and again set the permissions as you wish.&lt;br&gt;&lt;br&gt;</description><link>https://www.marvintest.com/Forums/Thread.aspx?ID=432</link><pubDate>5/29/2019 5:14:12 AM</pubDate></item><item><title>Variable scope for Program level .prg files - Created on Thursday, May 16, 2019</title><description>&lt;b&gt;By Jason A. on 5/16/2019 12:01:01 PM&lt;/b&gt;&lt;br&gt;Are Program (.prg) level variables considered global?  ATEasy Help page "Variable Naming Conventions" states: use the g_ prefix for global variables; global shows up with a qualifier "Global (for public variables)"  At the Program level scope, variables can't be declared as public.  In the Examples.wsp out of the dozems and dozens of projects that declare Program variables, I only found one with the g_ prefix and the usage of that variable seemed to be the same for all of the rest; which was that the variables are used in Tests.  For example look at the Language.prg variables, none of them use the additional g_ type modifier.&lt;br&gt;&lt;br&gt;&lt;b&gt;By DrATEasy (Ron Y.) on 5/16/2019 12:30:38 PM&lt;/b&gt;&lt;br&gt;Program variables are only accessible from the program module, so they are not considered public and there is not a need to declare the prefix g_. You could use m_ to differentiate and avoid collusion with program procedure variable, however I don't think it adds lots of value.&lt;br&gt;&lt;br&gt;for driver and system variables , It make sense to use the g_ or m_ to driver or system variables to avoid duplicate naming and avoid colliding with other variables (procedures or other drivers)&lt;br&gt;&lt;br&gt;</description><link>https://www.marvintest.com/Forums/Thread.aspx?ID=431</link><pubDate>5/16/2019 12:01:01 PM</pubDate></item><item><title>RESTful communication - Created on Thursday, May 16, 2019 (Solution Avaliable)</title><description>&lt;b&gt;By Cyril P. on 5/16/2019 8:16:35 AM&lt;/b&gt;&lt;br&gt;Hello,&lt;br&gt;&lt;br&gt;I am trying to communicate with an application that propose a REST API.&lt;br&gt;I have found an example in the knowledge base (ConsumingRESTfulServices)&lt;br&gt;&lt;br&gt;It seems to work as I can receive the response body in case of positive answer from the server, but in case of negative answer I get an Ateasy runtime error.&lt;br&gt;So, I am not able to get the response body.&lt;br&gt;Is there a way to get the response body using Try/Catch and something else?&lt;br&gt;&lt;br&gt;I have attached some picture to illustrate my trials.&lt;br&gt;Test_RESTful_Code.jpg : view of the Ateasy code&lt;br&gt;Test_RESTful_testlog.jpg : view of the log with the response body when it is working&lt;br&gt;Test_RESTful_Error.jpg :  runtime error on the code line ws = request.GetResponse()&lt;br&gt;Test_RESTful_4_Expected_OK.jpg : view of the working request and it's expected response&lt;br&gt;Test_RESTful_4_Expected_NOK.jpg : view of the not working resquest (because the parameter are not good) and the expected response&lt;br&gt;&lt;br&gt;Thanks for your help.&lt;br&gt;Cyril&lt;br&gt;&lt;br&gt;&lt;b&gt;By Victor B. on 5/20/2019 11:23:20 PM&lt;/b&gt;&lt;br&gt;Hi Cyril,&lt;br&gt;&lt;br&gt;For WebRequest, the response body is embedded in the Response property of the WebException object that is being returned.  ATEasy can catch errors with a try-catch block, but it catches error numbers rather than catching Objects.&lt;br&gt;&lt;br&gt;I'm thinking that you could write a .NET assembly wrapper which handles this specific behavior (creates the request, executes it, and returns the WebResponse or WebException object) and incorporate it into your ATEasy project.  &lt;br&gt;Or, more simply, you can use the ATEasy try-catch block and the built-in functions GetErrorNum() and GetErrorMsg().  These give the error code and the message that popped up at you via the error dialog box, but can be used without halting your application or requiring additional coding time.&lt;br&gt;&lt;br&gt;&lt;b&gt;By Cyril P. on 5/21/2019 12:03:40 AM&lt;/b&gt;&lt;br&gt;Hi Victor,&lt;br&gt;&lt;br&gt;thanks for your reply.&lt;br&gt;I was thinking also about your solution but I was hoping there would have another one directly inside Ateasy.&lt;br&gt;&lt;br&gt;</description><link>https://www.marvintest.com/Forums/Thread.aspx?ID=430</link><pubDate>5/16/2019 8:16:34 AM</pubDate></item><item><title>sizeof() on String type with a fixed size of 10 - Created on Monday, April 22, 2019 (Solution Avaliable)</title><description>&lt;b&gt;By Raz A. on 4/22/2019 5:23:21 AM&lt;/b&gt;&lt;br&gt;I have a String type which is named "sStr" with a fixed size of 10.

When i use sizeof(sStr) i get "4".

Why?
&lt;br&gt;&lt;br&gt;&lt;b&gt;By Jason D. on 4/22/2019 8:49:17 AM&lt;/b&gt;&lt;br&gt;Hi Raz,&lt;br&gt;&lt;br&gt;sizeof() is returning the size of the pointer that is pointing to the buffer containing the string. &lt;br&gt;&lt;br&gt;To get the number of characters in the buffer you can use the len() procedure.&lt;br&gt;&lt;br&gt;Regards,&lt;br&gt;Jason&lt;br&gt;&lt;br&gt;&lt;b&gt;By Raz A. on 4/23/2019 5:20:00 AM&lt;/b&gt;&lt;br&gt;Hi,
if i dont initiale the sStr variable, the len() function returns 0.

how can i get the "fixed size" of the variable?
&lt;br&gt;&lt;br&gt;&lt;b&gt;By DrATEasy (Ron Y.) on 4/23/2019 10:23:55 AM&lt;/b&gt;&lt;br&gt;Define it fixed string in the Variable Properties window, see on-line help "String Data Types" topic.&lt;br&gt;&lt;br&gt;&lt;b&gt;By Raz A. on 4/23/2019 11:35:03 PM&lt;/b&gt;&lt;br&gt;Thats what i did. And still i get 0.&lt;br&gt;&lt;br&gt;&lt;br&gt;See attached file.&lt;br&gt;&lt;br&gt;&lt;b&gt;By Raz A. on 4/24/2019 4:46:25 AM&lt;/b&gt;&lt;br&gt;Attached file again (prev file link dosent work)&lt;br&gt;&lt;br&gt;&lt;b&gt;By DrATEasy (Ron Y.) on 4/24/2019 8:32:55 AM&lt;/b&gt;&lt;br&gt;Len() returns the current length so it will be zero until you assign to it a string, sizeof returns the number of bytes that this variable takes - that will be always 4 for a string. You can also use array of char:&lt;br&gt;&lt;br&gt;acChars: char [100]&lt;br&gt;&lt;br&gt;print sizeof acChars&lt;br&gt;&lt;br&gt;will print 100&lt;br&gt;&lt;br&gt;</description><link>https://www.marvintest.com/Forums/Thread.aspx?ID=429</link><pubDate>4/22/2019 5:23:21 AM</pubDate></item><item><title>If statement that has two expressions with an OR operand - Created on Tuesday, April 16, 2019 (Solution Avaliable)</title><description>&lt;b&gt;By Raz A. on 4/16/2019 10:50:22 PM&lt;/b&gt;&lt;br&gt;I am using ateasy 7 142g&lt;br&gt;In the following code:&lt;br&gt;&lt;br&gt;If(expression1 OR expression2)&lt;br&gt;       Print("blabla")&lt;br&gt;Endif&lt;br&gt;&lt;br&gt;If expression1 is TRUE, why does ateasy also evaluates expression2 ?&lt;br&gt;&lt;br&gt;&lt;b&gt;By DrATEasy (Ron Y.) on 4/17/2019 8:58:25 AM&lt;/b&gt;&lt;br&gt;You need to check the check box in the Project Misc Properties page: Optimize Short Circuit Boolean Expressions&lt;br&gt;&lt;br&gt;That will cause ATEasy not to evaluate expression2   if expression1 is True.&lt;br&gt;&lt;br&gt;&lt;b&gt;By Raz A. on 4/18/2019 8:42:58 PM&lt;/b&gt;&lt;br&gt;Ok thanks.&lt;br&gt;&lt;br&gt;Can i ask what is the motivation of performing such a flag?&lt;br&gt;Or an example where a programmer wants that flag unchecked?&lt;br&gt;&lt;br&gt;&lt;b&gt;By DrATEasy (Ron Y.) on 4/18/2019 9:49:18 PM&lt;/b&gt;&lt;br&gt;For backward compatibility.&lt;br&gt;&lt;br&gt;</description><link>https://www.marvintest.com/Forums/Thread.aspx?ID=428</link><pubDate>4/16/2019 10:50:22 PM</pubDate></item><item><title>Unhandled exception at 0x1308a15d in C:\Windows\system32\AteRt.dll : Memory access violation 0xc0000005 - Created on Wednesday, March 20, 2019</title><description>&lt;b&gt;By Raz A. on 3/20/2019 4:33:38 AM&lt;/b&gt;&lt;br&gt;Hi,
i am using Ateasy&amp;#39;s function cos(..) and sin().

For some reason, i occasionally get a runtime error:
Unhandled exception at 0x1308a15d in C:\Windows\system32\AteRt.dll : Memory access violation 0xc0000005

i happens sometimes, not always.
Important: it dosent happen if i run the program from inside ATEASY workspace.

what can be the reason?&lt;br&gt;&lt;br&gt;&lt;b&gt;By DrATEasy (Ron Y.) on 3/20/2019 9:20:04 AM&lt;/b&gt;&lt;br&gt;Looks like the corruption is cause by earlier statement. Maybe external DLL call. &lt;br&gt;&lt;br&gt;If you can't figure it out and you have ATEasy subscription,  open a support incident and upload the exception and event files (v10 ) this will help us tell you exactly what is the problem.&lt;br&gt;&lt;br&gt;&lt;b&gt;By Raz A. on 3/21/2019 1:33:49 AM&lt;/b&gt;&lt;br&gt;Weve figured it out.&lt;br&gt;&lt;br&gt;The problem was that we compiled the exe in another computer  - with 2 warnings about missing dll's, but still an exe was created.&lt;br&gt;then we copied it to the target computer and the error occured.&lt;br&gt;when we compiled it in the target computer - there were no warnings and the problem disappeared.&lt;br&gt;&lt;br&gt;two questions:&lt;br&gt;1. why is "missing dlls.." is only a warning and not an error in the compilation ( i am using ateasy 7 142g)&lt;br&gt;&lt;br&gt;2. what is the connection between cos() and sin() to HW dlls....?&lt;br&gt;&lt;br&gt;&lt;b&gt;By DrATEasy (Ron Y.) on 3/21/2019 9:17:50 AM&lt;/b&gt;&lt;br&gt;1.  That is intentionally. When you compile or build, there is no need to error missing DLLs since they might be in the target machine and do not need to be in the development machine. So, missing DLLs do not prevent compiling. When you run, the DLLs are required and will cause a run-time error if missing.&lt;br&gt;2. Don't think it is connected and ,maybe that just a simpleton to other issue you have. If you want us to dig further open a magic support incident and upload the files so we can replicate it.&lt;br&gt;&lt;br&gt;</description><link>https://www.marvintest.com/Forums/Thread.aspx?ID=427</link><pubDate>3/20/2019 4:33:38 AM</pubDate></item><item><title>ATEasy 9 - Type list - Created on Sunday, March 3, 2019 (Solution Avaliable)</title><description>&lt;b&gt;By Alexander O. on 3/3/2019 4:55:26 AM&lt;/b&gt;&lt;br&gt;Hi&lt;br&gt;I start work with ATEasy 9 and have strange issue with type list that should be present in properties of any variable.&lt;br&gt;attache picture.&lt;br&gt;please help.&lt;br&gt;&lt;br&gt;&lt;b&gt;By Jason D. on 3/4/2019 10:33:06 AM&lt;/b&gt;&lt;br&gt;Hi Alexander,&lt;br&gt;&lt;br&gt;Can you try upgrading your ATEasy?&lt;br&gt;http://www.marvintest.com/Search.aspx?kw=ateasy9-154c&lt;br&gt;&lt;br&gt;Let me know if you still have issues after upgrading.&lt;br&gt;&lt;br&gt;Regards,&lt;br&gt;Jason&lt;br&gt;&lt;br&gt;&lt;b&gt;By Alexander O. on 3/6/2019 9:27:26 AM&lt;/b&gt;&lt;br&gt;Hi Jason,&lt;br&gt;Thank you .&lt;br&gt;This issue is solved .&lt;br&gt;&lt;br&gt;</description><link>https://www.marvintest.com/Forums/Thread.aspx?ID=426</link><pubDate>3/3/2019 4:55:26 AM</pubDate></item><item><title>Difference between Task.Name and GetTaskName() - Created on Friday, March 1, 2019 (Solution Avaliable)</title><description>&lt;b&gt;By Raz A. on 3/1/2019 7:57:22 PM&lt;/b&gt;&lt;br&gt;What is the difference between Task.Name and GetTaskName()?&lt;br&gt;&lt;br&gt;&lt;b&gt;By Jason D. on 3/4/2019 10:39:50 AM&lt;/b&gt;&lt;br&gt;Hi Raz,&lt;br&gt;&lt;br&gt;Task.Name can only be used when there is a task running. If you try to access Task.Name in Program.OnInit (there is no running task) then you will get an "Object is null" error. In the same scenario, GetTaskName() would return an empty string instead of erroring.&lt;br&gt;&lt;br&gt;Regards,&lt;br&gt;Jason&lt;br&gt;&lt;br&gt;</description><link>https://www.marvintest.com/Forums/Thread.aspx?ID=425</link><pubDate>3/1/2019 7:57:22 PM</pubDate></item><item><title>TestExec-run selected mode - Created on Friday, February 15, 2019 (Solution Avaliable)</title><description>&lt;b&gt;By Moran D. on 2/15/2019 2:09:25 AM&lt;/b&gt;&lt;br&gt;Hi&lt;br&gt;How can i know which tasks the user select to run?&lt;br&gt;Is there any way to know before the program start to run &lt;br&gt;The tasks/ test were chosen by the user?&lt;br&gt;&lt;br&gt;Thanks&lt;br&gt;&lt;br&gt;&lt;b&gt;By DrATEasy (Ron Y.) on 2/15/2019 9:22:12 AM&lt;/b&gt;&lt;br&gt;The test executive tree control contains collections of node objects. The nodes checked state determine whether the node will run. The nodes can be checked at any time (unless you disable them). You can loop on the tree nodes to retrieve what is checked by calling:&lt;br&gt;&lt;br&gt;TestExec.m_frmMain.GetNextNodeRun(node) &lt;br&gt;&lt;br&gt;to find out the next node. To get the first node, use the Nothing as node, The first node return is also your stopping point when you loop on nodes. &lt;br&gt;&lt;br&gt;From the node you can get to the Program/Task or Test Object by using the &lt;br&gt;&lt;br&gt;ob=TestExec.GetNodeObject(node)&lt;br&gt;&lt;br&gt;to determone what type of object is it: use the &lt;br&gt;&lt;br&gt;TestExec.GetNodeType(node)&lt;br&gt;&lt;br&gt;Once you termine if it is a task you can get the task id, etc.&lt;br&gt;&lt;br&gt;</description><link>https://www.marvintest.com/Forums/Thread.aspx?ID=422</link><pubDate>2/15/2019 2:09:25 AM</pubDate></item><item><title>Threads for multiple devices - Created on Thursday, February 7, 2019</title><description>&lt;b&gt;By Roman M. on 2/7/2019 3:34:15 AM&lt;/b&gt;&lt;br&gt;Hello.&lt;br&gt;I'm not programmer but I have good skill application develop in ATEasy.&lt;br&gt;Actually we work on project in which we need to collect information from multiple devices (power supplies, relay module, therochamber) and to indicate many parametrs on the user form. I use many threads for it. Some questions are: &lt;br&gt;1. Can I create threads from user form? I know it work. But is this correct? &lt;br&gt;2. I have aprox 20 devices. Is it correct to create 20 threads for each one? Or I need to combine some devices in one thread? &lt;br&gt;3. Are there any tips for synchronizing multiple processes in my case? I know CriticalSectios and Mutex can be used for this But I have not expierence. Any tips and recommendation will be helpful.&lt;br&gt;&lt;br&gt;Thank you in advance.&lt;br&gt;Roman&lt;br&gt;&lt;br&gt;&lt;b&gt;By DrATEasy (Ron Y.) on 2/7/2019 9:52:05 AM&lt;/b&gt;&lt;br&gt;1. Yes you can create threads from form event. I recommend to place the thread procedure outside the form (in module procedure and not form procedure). That way if the form is destroyed the thread can continue.&lt;br&gt;2. You can create a thread for each device or combine them. It really depends on the code you have. You can try 20 threads and see if the performance you are getting is OK, if not, you can combine the threads. The language.prg example have examples of using synchronization objects.&lt;br&gt;&lt;br&gt;Ron&lt;br&gt;&lt;br&gt;&lt;b&gt;By Roman M. on 2/8/2019 12:10:31 AM&lt;/b&gt;&lt;br&gt;Thank you Ron.&lt;br&gt;1. Yes, I understood. I need threads wich will be write from devices to global variables and thread which will be read from global variables to form. And I need synchronize this R/W threads  by Critical Section or something else.&lt;br&gt;2.  Multiple threads for each devices work OK but sometimes I get error from IOTable Receive. Power supplies controlled by  TCP/IP. But I think this is issue of power supplies.&lt;br&gt;&lt;br&gt;Thank you for support.&lt;br&gt;&lt;br&gt;</description><link>https://www.marvintest.com/Forums/Thread.aspx?ID=421</link><pubDate>2/7/2019 3:34:15 AM</pubDate></item><item><title>"Foreach" ATEasy equivilant for enums - Created on Friday, February 1, 2019</title><description>&lt;b&gt;By Sadiq H. on 2/1/2019 4:47:39 AM&lt;/b&gt;&lt;br&gt;Hi,&lt;br&gt;I am new to ATEasy and still learning the syntax and its function, etc. I have a question with regards to Enums in ATEasy. Lets say I have an enum which has 10 different values:&lt;br&gt;&lt;br&gt;eMyEnum:&lt;br&gt;{&lt;br&gt;a = 0x103&lt;br&gt;b = 0x113&lt;br&gt;c = 0x123&lt;br&gt;d = 0x133&lt;br&gt;e = 0x143&lt;br&gt;f = 0x153&lt;br&gt;g = 0x163&lt;br&gt;h = 0x173&lt;br&gt;i = 0x183&lt;br&gt;j = 0x193&lt;br&gt;}&lt;br&gt;&lt;br&gt;is there a way to have a loop like a "FOREACH" function that would check if an integer "x" has any of the above enum values?&lt;br&gt;&lt;br&gt;instead of having a lot of "if" statements or a long if statement like:&lt;br&gt;if (x = eMyEnum.a or x = eMyEnum.b or .........) then&lt;br&gt;&lt;br&gt;I am asking this as in the future this enum size will increase and i want to have a function that can adapt to it.&lt;br&gt;&lt;br&gt;Thanks,&lt;br&gt;Sadiq&lt;br&gt;&lt;br&gt;&lt;b&gt;By DrATEasy (Ron Y.) on 2/1/2019 11:16:49 AM&lt;/b&gt;&lt;br&gt;There is no 'foreach'. You can use a select statement instead of the if that:&lt;br&gt;&lt;br&gt;select x&lt;br&gt;case eMyEnum.a, eMyEnum.b&lt;br&gt;...&lt;br&gt;case eMyEnum.c to eMyEnum.f, eMyEnum.j&lt;br&gt;...&lt;br&gt;case else&lt;br&gt;...&lt;br&gt;endselect&lt;br&gt;&lt;br&gt;&lt;b&gt;By Sadiq H. on 2/4/2019 1:50:46 AM&lt;/b&gt;&lt;br&gt;Hi Ron,&lt;br&gt;&lt;br&gt;Thanks for your feedback.&lt;br&gt;&lt;br&gt;The switch case will still need to be updated by adding and checking the new elements added in the Enum later on. What I was trying to ask was, is there a way to check if the value of 'x' is equal to any of the Enum elements without knowing how many and what are the Enum elements. Like an Array, where you can do:&lt;br&gt;&lt;br&gt;for i=0 to sizeof(Array) do&lt;br&gt;if (x = Array[i]) then&lt;br&gt;.......&lt;br&gt;endif&lt;br&gt;next&lt;br&gt;&lt;br&gt;Maybe using an Enum isn't the correct way to do this. I just wanted to see if ATEasy had a method that deals with Enums in that way.&lt;br&gt;&lt;br&gt;Thanks,&lt;br&gt;Sadiq&lt;br&gt;&lt;br&gt;&lt;b&gt;By DrATEasy (Ron Y.) on 2/6/2019 11:32:19 AM&lt;/b&gt;&lt;br&gt;There is no built-in to check if a value is a member of an enum . However, there are other methods. For example you can add to the description of the enum, retrieve the description using DescOf operator and and search for them (using Pos). Another way, if the values are small numbers, you can create an array of bool to say what values are valid.&lt;br&gt;&lt;br&gt;</description><link>https://www.marvintest.com/Forums/Thread.aspx?ID=420</link><pubDate>2/1/2019 4:47:39 AM</pubDate></item><item><title>Try to use .net dll in ATEasy 8.0 - Created on Sunday, January 27, 2019</title><description>&lt;b&gt;By Yitzhak S. on 1/27/2019 9:58:09 PM&lt;/b&gt;&lt;br&gt;hello,&lt;br&gt;I have .net dll that depend  on other .net dll:&lt;br&gt;1. Do i need to merge all the .net dll that depend  on my .net dll?&lt;br&gt;2. if i need to merge them -  dose someone know a program that do it good? ( i try ilmerge and smartAssembly - but the ATEasy not accept them)&lt;br&gt;&lt;br&gt;Thanks&lt;br&gt;&lt;br&gt;</description><link>https://www.marvintest.com/Forums/Thread.aspx?ID=418</link><pubDate>1/27/2019 9:58:09 PM</pubDate></item><item><title>ATEasy 142g build is different from my 142g build - Created on Monday, December 31, 2018 (Solution Avaliable)</title><description>&lt;b&gt;By Raz A. on 12/31/2018 11:53:45 AM&lt;/b&gt;&lt;br&gt;I use ATEasy 7 142g  that i downloaded years ago.&lt;br&gt;For some reason when i enter your download section i see that the same  ATEasy 7 142g  version installer is somewhat different from mine.&lt;br&gt;&lt;br&gt;Main differences:&lt;br&gt;Sizes:&lt;br&gt;My file: 53,658KB&lt;br&gt;Site file: 54,066KB&lt;br&gt;&lt;br&gt;MD5 CHECKSUM (calculated by cmd.exe "CertUtil"):&lt;br&gt;My file:&lt;br&gt;de f4 4f a0 f7 8a 99 83 d0 15 a0 c1 54 1a b0 3d&lt;br&gt;&lt;br&gt;Site file:&lt;br&gt;0a 88 86 d4 aa 53 62 ab 77 70 a0 08 db ea 5e 10&lt;br&gt;&lt;br&gt;Why is that?&lt;br&gt;&lt;br&gt;More changes can be seen in the attachment.&lt;br&gt;&lt;br&gt;&lt;b&gt;By DrATEasy (Ron Y.) on 1/2/2019 8:57:22 AM&lt;/b&gt;&lt;br&gt;We have updated the setup, and re-posted it (a few hours difference). I believe the changes are insignificant and may be just relate to readme or other non-operational changes. You need to use the latest from the website (https://www.marvintest.com/Search.aspx?kw=142g.exe).&lt;br&gt;&lt;br&gt;</description><link>https://www.marvintest.com/Forums/Thread.aspx?ID=412</link><pubDate>12/31/2018 11:53:45 AM</pubDate></item><item><title>Array size changer - Created on Thursday, December 27, 2018 (Solution Avaliable)</title><description>&lt;b&gt;By Yuval S. on 12/27/2018 7:16:52 AM&lt;/b&gt;&lt;br&gt;Hi all,&lt;br&gt;&lt;br&gt;I need a suggestion on how to implement this issue:&lt;br&gt;&lt;br&gt;i need to make a function that always work in the background, contains an array (Public array) and receives long type variables and changes its size according to the input variables on by one:&lt;br&gt;&lt;br&gt;for example, the array starts like this : Arr[0]&lt;br&gt;function receives 1st number: 4&lt;br&gt;so:  Arr[0] = 4&lt;br&gt;now the functions receives 2nd number: 6&lt;br&gt;so the array changes it's size (with Redim preserved) so:&lt;br&gt;&lt;br&gt;Arr[0] = 4&lt;br&gt;Arr[1] = 6&lt;br&gt;&lt;br&gt;Any suggestion or a direction on how to build this code will be appreciated,&lt;br&gt;&lt;br&gt;Thanks !&lt;br&gt;&lt;br&gt;&lt;b&gt;By Jason D. on 12/27/2018 10:46:30 AM&lt;/b&gt;&lt;br&gt;Hi Yuval,&lt;br&gt;&lt;br&gt;What you are looking for can be done with the "redim preserve" statement as you mention, but you may want to look into lists.&lt;br&gt;&lt;br&gt;I have attached an example using ArrayLists to my post.&lt;br&gt;&lt;br&gt;But in case you want to do it with "redim preserve" anyway, you would create a function that would look something like this:&lt;br&gt;lSize = sizeof(Arr)/sizeof(Arr[0])&lt;br&gt;redim preserve Arr[lSize+1]&lt;br&gt;Arr[lSize] = lNewValue&lt;br&gt;&lt;br&gt;Regards,&lt;br&gt;Jason&lt;br&gt;&lt;br&gt;&lt;b&gt;By Paul T. on 12/27/2018 10:50:39 AM&lt;/b&gt;&lt;br&gt;Hi Yuval,&lt;br&gt;&lt;br&gt;I believe you can define a public array of initial dimension 1, and a public boolean flag bFirstNumber=true.&lt;br&gt;Arr[1]&lt;br&gt;&lt;br&gt;Then you have the local function:&lt;br&gt;AppendData(long lValue)&lt;br&gt;{&lt;br&gt;  (local) long lSize;&lt;br&gt;  lSize = VarDimSize(Arr);&lt;br&gt;  If lSize=1 and bFirstNumber then&lt;br&gt;    Arr[0]=lValue;&lt;br&gt;    bFirstNumber=false;&lt;br&gt;  Else&lt;br&gt;    Redim Preserve Arr[lSize+1];&lt;br&gt;    Arr[lSize]=lValue;&lt;br&gt;}&lt;br&gt;&lt;br&gt;Let me know if this is what you were asking for or if I got it wrong.&lt;br&gt;&lt;br&gt;Best regards,&lt;br&gt;Paul&lt;br&gt;&lt;br&gt;&lt;b&gt;By Yuval S. on 12/31/2018 11:37:25 PM&lt;/b&gt;&lt;br&gt;Thanks to you all !&lt;br&gt;&lt;br&gt;This code solved my problem: &lt;br&gt;&lt;br&gt;  (local) long lSize;&lt;br&gt;  lSize = VarDimSize(Arr);&lt;br&gt;  If lSize=1 and bFirstNumber then&lt;br&gt;    Arr[0]=lValue;&lt;br&gt;    bFirstNumber=false;&lt;br&gt;  Else&lt;br&gt;    Redim Preserve Arr[lSize+1];&lt;br&gt;    Arr[lSize]=lValue;&lt;br&gt;}&lt;br&gt;&lt;br&gt;&lt;br&gt;Thanks !&lt;br&gt;&lt;br&gt;</description><link>https://www.marvintest.com/Forums/Thread.aspx?ID=410</link><pubDate>12/27/2018 7:16:52 AM</pubDate></item><item><title>Re Organize array by content value - Created on Thursday, December 27, 2018 (Solution Avaliable)</title><description>&lt;b&gt;By Yuval S. on 12/27/2018 2:16:19 AM&lt;/b&gt;&lt;br&gt;Hi,&lt;br&gt;&lt;br&gt;need help...&lt;br&gt;&lt;br&gt;I have an array of 10 numbers&lt;br&gt;Arr = {2,9,5,7,8,4,1,0,6,3}&lt;br&gt;&lt;br&gt;i want to re organize the array by content value:&lt;br&gt;Arr = {0,1,2,3,4,5,6,7,8,9,}&lt;br&gt;&lt;br&gt;Is there a command that will make this process short instead of using a for loops ?&lt;br&gt;&lt;br&gt;Thanks !&lt;br&gt;&lt;br&gt;&lt;b&gt;By Yuval S. on 12/27/2018 4:14:57 AM&lt;/b&gt;&lt;br&gt;Arr = {2,9,5,7,8,4,1,0,6,3}

    Print "This the Array:\r\n"
        
    for i = 0 to (VarDimSize(Arr)-1)
    print (str(Arr[i]))
    next

    for j = 1 to (VarDimSize(Arr)-1)
        for i=0 to (VarDimSize(Arr)-2)
            if Arr[i] &amp;gt; Arr[i+1] then
                Temp = Arr[i]
                Arr[i] = Arr[i+1]
                Arr[i+1] = Temp

            EndIf


        Next

    Next

    Print "This is the Array after sort:\r\n"

    for i = 0 to (VarDimSize(Arr)-1)
    print (str(Arr[i]))
    next


I succeded to do this with two for loops.&lt;br&gt;&lt;br&gt;</description><link>https://www.marvintest.com/Forums/Thread.aspx?ID=409</link><pubDate>12/27/2018 2:16:19 AM</pubDate></item><item><title>How to do format String to int or Double - Created on Thursday, December 20, 2018 (Solution Avaliable)</title><description>&lt;b&gt;By Yuval S. on 12/20/2018 10:29:22 AM&lt;/b&gt;&lt;br&gt;Hi Guys,&lt;br&gt;&lt;br&gt;Need assistance on how to format String to int / Double,&lt;br&gt;&lt;br&gt;Lets say i want to convert Str("0X20") to Int or Double variable in order to comapre it  to a specific number,&lt;br&gt;&lt;br&gt;any ideas ?&lt;br&gt;&lt;br&gt;Thanks !&lt;br&gt;&lt;br&gt;&lt;b&gt;By Cyril P. on 12/20/2018 10:34:26 AM&lt;/b&gt;&lt;br&gt;Hello,&lt;br&gt;&lt;br&gt;if you want to convert String to value, use the Ateasy function Val(). (look in the help for more details)&lt;br&gt;So to convert your hexa string to value just type:&lt;br&gt;dValue=Val("0X20",16)&lt;br&gt;or&lt;br&gt;dValue=Val(sValue,16) assuming sValue is a string variable containing  an hexa value&lt;br&gt;&lt;br&gt;&lt;b&gt;By Yuval S. on 12/20/2018 10:41:28 AM&lt;/b&gt;&lt;br&gt;Thanks for the quick response, i'll try that...&lt;br&gt;&lt;br&gt;Just for understanding it better , what "16" do actually ? is dValue will be now 20 (out of 0X20)?  &lt;br&gt;&lt;br&gt;&lt;br&gt;Thanks again !&lt;br&gt;&lt;br&gt;&lt;b&gt;By Dale J. on 12/20/2018 11:12:48 AM&lt;/b&gt;&lt;br&gt;The"16" is the Radix to use in the conversion, i.e. hex (10 = decimal, 8 = octal, 2 = binary).  0x20 hex = 32 decimal.  dValue = 32&lt;br&gt;&lt;br&gt;</description><link>https://www.marvintest.com/Forums/Thread.aspx?ID=408</link><pubDate>12/20/2018 10:29:22 AM</pubDate></item><item><title>RS 232 issue - Created on Sunday, December 9, 2018 (Solution Avaliable)</title><description>&lt;b&gt;By Raz A. on 12/9/2018 7:37:37 AM&lt;/b&gt;&lt;br&gt;I am using ATEasy 7 142g in Windows 7.


I have a zap power supply module that i am communicating with RS232.

The weird thing is, that if i open HyperTerminal and send the device commands and try to receive result - all works fine.
BUT when send the same commands in ATEasy and try to read results (and VERIFICATED it using the "monitor" feature), the zap module starts to send endless jibrish until i restart it (unplug it).

All the channel configurations are the same (baud rate etc...)

The set of commands that work in hyperterminal but not in ATEasy:

    :ADR01;
    :RMT1;
    :RMT?;

The result incase of HyperTerminal is `:RM1;`

Incase of ATEasy the result is just jibrish until device restart.

What can be the reason?
&lt;br&gt;&lt;br&gt;&lt;b&gt;By Paul T. on 12/9/2018 12:58:25 PM&lt;/b&gt;&lt;br&gt;Hi Raz,

I remember having the same trouble like you have, about 8 years ago, with the same ATEasy 7 and ZUP series Power Supply.
From what I recall, there is a checkbox called "Disable Com Early Return" or something like that, and I had to tick this checkbox in order to have the complete answer received from the ZUP power supply.
This setting/checkbox is in the Properties dialog of the driver file shortcut or driver file itself.
Without this setting, somehow the communication was interrupted just when some characters were received, and the PC could not recognize the data properly...
Also, remember to ComFlush() before you initiate new communication with the device.
I hope this helps you.

Best regards,
Paul&lt;br&gt;&lt;br&gt;&lt;b&gt;By Raz A. on 12/9/2018 10:31:17 PM&lt;/b&gt;&lt;br&gt;I found the "disable com early return" , but as a paramater to comsend and comreceive functions and not as a checkbox.&lt;br&gt;&lt;br&gt;I acttualy want it as a checkbox.&lt;br&gt;Can you try to remember where it was?&lt;br&gt;&lt;br&gt;&lt;b&gt;By Jason D. on 12/10/2018 8:39:06 AM&lt;/b&gt;&lt;br&gt;Hi Raz,&lt;br&gt;&lt;br&gt;The button you are likely referring to is on the properties page of the IO Table operation "Receive". &lt;br&gt;Let me know if that resolves your issue.&lt;br&gt;&lt;br&gt;If not, can you supply me a link to the programming manual for this device?&lt;br&gt;&lt;br&gt;Regards,&lt;br&gt;Jason&lt;br&gt;&lt;br&gt;&lt;b&gt;By Raz A. on 12/19/2018 12:15:56 AM&lt;/b&gt;&lt;br&gt;Hi all,&lt;br&gt;&lt;br&gt;In the end, the problem was entirly something else:&lt;br&gt;&lt;br&gt;Noise from a motor cable was injected into the ZUP communication cable.&lt;br&gt;&lt;br&gt;So everytime the motor was activated - the ZUP module com channel went crazy!&lt;br&gt;&lt;br&gt;</description><link>https://www.marvintest.com/Forums/Thread.aspx?ID=407</link><pubDate>12/9/2018 7:37:37 AM</pubDate></item><item><title>Question about array initialization - Created on Monday, August 27, 2018 (Solution Avaliable)</title><description>&lt;b&gt;By Raz A. on 8/27/2018 10:25:23 AM&lt;/b&gt;&lt;br&gt;Assume that i have two arrays which their size is 4 - arr1,arr2&lt;br&gt;&lt;br&gt;why CAN i do that:&lt;br&gt;&lt;br&gt;arr1[0] = arr2[i]&lt;br&gt;&lt;br&gt;but i CANNOT do that:&lt;br&gt;arr1 = {arr2[i],6,2,8}&lt;br&gt;&lt;br&gt;i get "Compiler error #640: Expected constant...."&lt;br&gt;&lt;br&gt;&lt;b&gt;By DrATEasy (Ron Y.) on 8/27/2018 10:29:40 AM&lt;/b&gt;&lt;br&gt;Only constants are acceptable as array literal expression (arr2[i] is not constant).&lt;br&gt;&lt;br&gt;You can do:&lt;br&gt; &lt;br&gt;arr1 = {0,2,8}&lt;br&gt;arr1[0]=arr2[i]&lt;br&gt;&lt;br&gt;</description><link>https://www.marvintest.com/Forums/Thread.aspx?ID=406</link><pubDate>8/27/2018 10:25:23 AM</pubDate></item><item><title>Loadlibraryx(..) returns Error code #1114 - Created on Tuesday, August 7, 2018 (Solution Avaliable)</title><description>&lt;b&gt;By Raz A. on 8/7/2018 7:38:16 PM&lt;/b&gt;&lt;br&gt;I am using "nidaq32.dll" in my project and from some reason when i run the .exe  it sais that the LoadlibraryEx return error #1114 and it sais that initialization proccess failed.
Please see attached file.
I am using windows xp&lt;br&gt;&lt;br&gt;&lt;b&gt;By DrATEasy (Ron Y.) on 8/8/2018 2:09:50 PM&lt;/b&gt;&lt;br&gt;Did you install the NI-DAQ package (http://www.ni.com/download/traditional-ni-daq-legacy-7.5/4498/en/) or just copy the DLL (copy will not work)?&lt;br&gt;If you did install it, you can try to load the DLL using dependency walker (download from here http://www.dependencywalker.com/) and see what is missing.&lt;br&gt;&lt;br&gt;&lt;b&gt;By Raz A. on 8/22/2018 8:26:19 PM&lt;/b&gt;&lt;br&gt;What you suggested might be a solution, but in the end the problem was that the windows user did not have administrator permissions. After adding the user as an administrator, the problem disappeared.
Thanks&lt;br&gt;&lt;br&gt;</description><link>https://www.marvintest.com/Forums/Thread.aspx?ID=404</link><pubDate>8/7/2018 7:38:16 PM</pubDate></item><item><title>SVN in ATEasy 7 build 142g - Created on Thursday, July 26, 2018 (Solution Avaliable)</title><description>&lt;b&gt;By Raz A. on 7/26/2018 5:04:18 AM&lt;/b&gt;&lt;br&gt;Is it possible to integrate tortoise svn into ateasy  7 142g?&lt;br&gt;&lt;br&gt;&lt;b&gt;By DrATEasy (Ron Y.) on 7/26/2018 9:04:30 AM&lt;/b&gt;&lt;br&gt;Support for SVN/tortoise was added to ATEasy v9. It is not available in v7.&lt;br&gt;&lt;br&gt;</description><link>https://www.marvintest.com/Forums/Thread.aspx?ID=403</link><pubDate>7/26/2018 5:04:18 AM</pubDate></item><item><title>Simulate AForm - Created on Wednesday, June 6, 2018 (Solution Avaliable)</title><description>&lt;b&gt;By Trevor W. on 6/6/2018 10:25:24 AM&lt;/b&gt;&lt;br&gt;Is it possibly to pass a form OnEvent procedure as a parameter to the SetSimulateProcedures procedure? I have already simulated all of my necessary functions using the Test variables to decide which values should be returned on simulation. When running the same procedures from a form I get an error since there is no test variables (ex. Test.Min, Test.Max) while running the form. Is it possible to simulate the OnClick procedure of a button on my form in order to simulate this procedure and if so, how?&lt;br&gt;&lt;br&gt;&lt;b&gt;By DrATEasy (Ron Y.) on 6/6/2018 11:03:01 AM&lt;/b&gt;&lt;br&gt;You can do it, I attached an example, let me know if it works for you:&lt;br&gt;&lt;br&gt;The OnInit will setup the simulation &lt;br&gt;&lt;br&gt;  SetSimulateProcedures("Form1.btn1.OnClick")&lt;br&gt;&lt;br&gt;The OnSimulate:&lt;br&gt;&lt;br&gt;sProc=procCallee&lt;br&gt;if sProc="SimulateTest.Form1.btn1.OnClick"&lt;br&gt;	OnClick()&lt;br&gt;...&lt;br&gt;&lt;br&gt;&lt;b&gt;By Trevor W. on 6/6/2018 12:02:51 PM&lt;/b&gt;&lt;br&gt;I am running my simulation at the driver level so I had to put Program1.Form1.btn1.OnClick but that passed without hitting any asserts or errors I had put in. My problem if it will help anyone else was that I was putting Program1.Forms.Form1.btn1.OnClick, unnecessarily adding the forms to my path list.&lt;br&gt;&lt;br&gt;&lt;b&gt;By Trevor W. on 6/6/2018 1:34:19 PM&lt;/b&gt;&lt;br&gt;I put the solution you suggested and SetSimulateProcedures returned True, but it never actually enters into the OnSimulate event and still runs the normal OnClick procedure. I also ran your example code and it has the same problem, it says that the simulation is set, but it never actually calls the simulated procedure and instead just runs the normal form1.btn1.OnClick procedure. Looks like the example code is missing a step, any idea what that is?&lt;br&gt;&lt;br&gt;</description><link>https://www.marvintest.com/Forums/Thread.aspx?ID=401</link><pubDate>6/6/2018 10:25:24 AM</pubDate></item><item><title>hi - Created on Wednesday, May 30, 2018 (Solution Avaliable)</title><description>&lt;b&gt;By Maria K. on 5/30/2018 5:39:39 AM&lt;/b&gt;&lt;br&gt;i need help to learn from 0 the program  someone can help me plaese ??i need whrite driver and know how its work&lt;br&gt;&lt;br&gt;&lt;b&gt;By Maria K. on 5/30/2018 5:40:10 AM&lt;/b&gt;&lt;br&gt;[Quote= Maria K. wrote:&lt;br&gt;i need help to learn from 0 the program  someone can help me plaese ??i need whrite driver and know how its work =Quote]&lt;br&gt;&lt;br&gt;&lt;b&gt;By Raz A. on 6/4/2018 12:14:20 AM&lt;/b&gt;&lt;br&gt;Hi,&lt;br&gt;After you install ATEASY you can observe alot of examples...&lt;br&gt;Also, you can learn from the ATEasy getting started manual:&lt;br&gt;http://www.marvintest.com/Downloads.aspx?Type=all&amp;keywords=&amp;filename=GettingStarted.pdf&amp;search=download&lt;br&gt;&lt;br&gt;Download the document version of the ATEasy version you installed.&lt;br&gt;&lt;br&gt;</description><link>https://www.marvintest.com/Forums/Thread.aspx?ID=399</link><pubDate>5/30/2018 5:39:39 AM</pubDate></item><item><title>ATeasy 7 142g warnings - Created on Monday, May 21, 2018 (Solution Avaliable)</title><description>&lt;b&gt;By Raz A. on 5/21/2018 1:07:24 AM&lt;/b&gt;&lt;br&gt;I am using ATeasy 7 142g.&lt;br&gt;When i click "Build" or "Rebuil All" or "Check All" i dont see any warnings such as unused variable etc..&lt;br&gt;&lt;br&gt;How do i change the comiler level so that it shows warnings?&lt;br&gt;&lt;br&gt;&lt;b&gt;By DrATEasy (Ron Y.) on 5/21/2018 9:59:13 AM&lt;/b&gt;&lt;br&gt;Check the Project properties, Misc page. The setting is called "Check Unref. Variables"&lt;br&gt;&lt;br&gt;&lt;b&gt;By Raz A. on 5/21/2018 11:01:35 PM&lt;/b&gt;&lt;br&gt;I dont have that property (see attached file)&lt;br&gt;&lt;br&gt;&lt;b&gt;By DrATEasy (Ron Y.) on 5/22/2018 8:52:47 AM&lt;/b&gt;&lt;br&gt;Yes, That was added to a later version of ATEasy. See my attachment.&lt;br&gt;&lt;br&gt;</description><link>https://www.marvintest.com/Forums/Thread.aspx?ID=398</link><pubDate>5/21/2018 1:07:24 AM</pubDate></item><item><title>Winsock WsReceive(...) function - Created on Tuesday, April 10, 2018 (Solution Avaliable)</title><description>&lt;b&gt;By Raz A. on 4/10/2018 5:56:12 AM&lt;/b&gt;&lt;br&gt;I am using WsReceive() function and i wanted to ask what is the meaning of the values "aioDefault&lt;br&gt;and aioDisableWsReceiveEarlyReturn" of  "enMode" parameter?&lt;br&gt;&lt;br&gt;&lt;b&gt;By DrATEasy (Ron Y.) on 4/12/2018 5:53:11 PM&lt;/b&gt;&lt;br&gt;See the online help for the WsReceive() :&lt;br&gt;&lt;br&gt;"If sEos parameter is an empty string and aioDisableWsReceiveEarlyReturn mode flag is not used (default case), the function will return immediately if characters are  found in the input buffer, and the timeout will be ignored. Using the aioDisableWsReceiveEarlyReturn flag will ensure that the function will return only if the timeout is reached or all lBytes characters were received."&lt;br&gt;&lt;br&gt;</description><link>https://www.marvintest.com/Forums/Thread.aspx?ID=397</link><pubDate>4/10/2018 5:56:12 AM</pubDate></item><item><title>assiging commands to Procedure variable type - Created on Monday, December 11, 2017 (Solution Avaliable)</title><description>&lt;b&gt;By Raz A. on 12/11/2017 1:34:47 AM&lt;/b&gt;&lt;br&gt;Assume i have a variable of "Procedure" type name pFunc

And also i have DRV that has the command: MYDRV EXECUTE MYCMD(iCnt,dResult)
The function that i want to use "sits" in another driver and it is not public. So i only have access to the COMMAND that calls this function.

How do i assign the command to the Procedure variable?

I tried doing this:
pFunc =  MYDRV EXECUTE MYCMD

It dosent compile. it thinks i want to call the MYCMD commands and ask for parameter.&lt;br&gt;&lt;br&gt;&lt;b&gt;By Sutton B. on 12/11/2017 11:28:16 AM&lt;/b&gt;&lt;br&gt;Hi Raz,&lt;br&gt;&lt;br&gt;What build of ATEasy are you using? I was able to do this in ATEasy 10 and this sounds like an issue that was fixed in ATEasy 8.0 build 148c.&lt;br&gt;&lt;br&gt;Regards,&lt;br&gt;Sutton&lt;br&gt;&lt;br&gt;&lt;b&gt;By Raz A. on 12/11/2017 9:54:51 PM&lt;/b&gt;&lt;br&gt;ATEasy 7.0 build 142g&lt;br&gt;&lt;br&gt;Are you certain?&lt;br&gt;&lt;br&gt;&lt;b&gt;By Sutton B. on 12/12/2017 11:01:47 AM&lt;/b&gt;&lt;br&gt;Hi Raz,&lt;br&gt;&lt;br&gt;I saw the same issue while using the same build as you, but didn't have any issue when using version 8 or newer. I was able to assign the command to the variable and then call the procedure from that variable.&lt;br&gt;&lt;br&gt;Try your code or just this portion of code in a newer version and see if it assigns the procedure correctly.&lt;br&gt;&lt;br&gt;Regards,&lt;br&gt;Sutton&lt;br&gt;&lt;br&gt;&lt;b&gt;By Raz A. on 12/24/2017 5:52:08 AM&lt;/b&gt;&lt;br&gt;You were right!&lt;br&gt;&lt;br&gt;</description><link>https://www.marvintest.com/Forums/Thread.aspx?ID=392</link><pubDate>12/11/2017 1:34:47 AM</pubDate></item><item><title>Imported .NET assembly containing method with "params" keyword - Created on Friday, October 20, 2017</title><description>&lt;b&gt;By Patrick O. on 10/20/2017 4:24:26 PM&lt;/b&gt;&lt;br&gt;I've imported a .NET 4.5.2 assembly that has a method containing the "params" keyword:&lt;br&gt;https://docs.microsoft.com/en-us/dotnet/csharp/language-reference/keywords/params&lt;br&gt;&lt;br&gt;The specific signature looks like this:&lt;br&gt;public IXmlRpcResponse MethodCall(string methodName, params object[] parameters)&lt;br&gt;&lt;br&gt;&lt;br&gt;After importing the .NET assembly into ATEasy, it looks like this optional list of parameters is not being respected as the method signature still states the second parameter is required.&lt;br&gt;i.e.&lt;br&gt;"parameters: Val mscorlib.NetObject[]"&lt;br&gt;instead of&lt;br&gt;"parameters: [Val] mscorlib.NetObject[]"&lt;br&gt;&lt;br&gt;Does anyone know if this is supported functionality in ATEasy v10 or if there's an alternative way of getting this functionality to work?&lt;br&gt;&lt;br&gt;&lt;b&gt;By Sutton B. on 10/23/2017 3:26:17 PM&lt;/b&gt;&lt;br&gt;Hi Patrick,&lt;br&gt;&lt;br&gt;Try creating an ATEasy procedure that calls this method. For the procedure you can have the parameter be optional, but when calling the method it will use a default value if a parameter was not given.&lt;br&gt;&lt;br&gt;More .Net support is being added in ATEasy v10, and the current pre-release of v10 has some of these new features like the Properties Grid Window. This functionality in particular is known and being looked at to add in the future.&lt;br&gt;&lt;br&gt;Regards,&lt;br&gt;Sutton&lt;br&gt;&lt;br&gt;&lt;b&gt;By Patrick O. on 10/23/2017 5:07:25 PM&lt;/b&gt;&lt;br&gt;Hello Sutton,

Thank you for the response. I&amp;#39;ve attempted what you&amp;#39;ve suggested and having the same problem with using ATEasy v10.0 Pre-release (Build 155.6)

Whilst debugging in ATEasy, the value of "parameters" when being passed to MethodCall has the following value:
[Val] mscorlib.NetObject[]={Nothing}

I know that "Nothing" is a special keyword in ATEasy but it doesn&amp;#39;t appear this is being handled correctly on the .NET side. It appears that having the value of "Nothing" still counts as the array having a length of 1, which is incorrect.

Is there a way in ATEasy to create a truly empty array?&lt;br&gt;&lt;br&gt;</description><link>https://www.marvintest.com/Forums/Thread.aspx?ID=388</link><pubDate>10/20/2017 4:24:26 PM</pubDate></item><item><title>List of Logical Drives - Created on Wednesday, October 18, 2017 (Solution Avaliable)</title><description>&lt;b&gt;By Michael C. on 10/18/2017 11:00:54 AM&lt;/b&gt;&lt;br&gt;Hello:&lt;br&gt;&lt;br&gt;Developing on ATEasy 8.0 on a WinXP Machine.&lt;br&gt;&lt;br&gt;Attempting to get a list of attached drives via mscorlib's System IO DriveInfo GetDrives() didn't pan out.  It returns an array of DriveInfo.  From previous questions on this forum, I was told returns of arrays are not supported in ATEasy?&lt;br&gt;&lt;br&gt;I moved on to using Win32_LogicalDisk query via WMI but cannot iterate through the returned SWbemObjectSet.  The only thing I can access is the .Count property.&lt;br&gt;&lt;br&gt;-----------&lt;br&gt;obCimv2, obCollItems,obItem all declared as objects&lt;br&gt;iTemp = Long&lt;br&gt;&lt;br&gt;&lt;br&gt;obCimv2 = GetObject("winmgmts:\\\\.\\root\\cimv2")&lt;br&gt;obCollItems = obCimv2.ExecQuery("SELECT * FROM Win32_LogicalDisk")&lt;br&gt;iTemp = obCollItems.Count&lt;br&gt;obItem = obCollItems.Item(0)    &lt;---- Errors out, needs a strObjectPath, cannot iterate through.  Looking at MSDN example it just uses for each.  &lt;br&gt;                                                                       ItemIndex doesn't work either&lt;br&gt;&lt;br&gt;&lt;br&gt;&lt;br&gt;----------&lt;br&gt;Is there anyway to make GetDrives or the WMI query work?  Or a different method?&lt;br&gt;&lt;br&gt;Thanks!&lt;br&gt;Mike&lt;br&gt;&lt;br&gt;&lt;b&gt;By Michael C. on 10/20/2017 5:35:43 PM&lt;/b&gt;&lt;br&gt;I found a couple convoluted way to do this:&lt;br&gt;&lt;br&gt;1.) Used winexec call to call cmd.exe to call WMIC and then pipe it to a temp.txt file.  Then I use ATEasy's fileopen and fileread to read the file back to get the list of drives.&lt;br&gt;&lt;br&gt;Something like&lt;br&gt;&lt;br&gt;winexec("cmd.exe /c wmic logicaldisks get deviceID &gt;&gt; temp.txt &amp; wmic logicaldisks get description &gt;&gt; temp.txt")&lt;br&gt;&lt;br&gt;However you will run into encoding issues as wmic returns unicode, so when you use fileread to read it back you get a lot of extra hex characters that you have to filter through.&lt;br&gt;&lt;br&gt;2.) Use winexec to call fsutil &lt;br&gt;&lt;br&gt;winexec("cmd.exe /c fsutil fsinfo drives &gt;&gt; temp.txt ").&lt;br&gt;&lt;br&gt;I believe this has less of an issue with encoding and spits back UTF-8.   If there are still some encoding issues you can use cmd switch type or chcp to change the encoding to get it to format correctly.&lt;br&gt;&lt;br&gt;&lt;b&gt;By Sutton B. on 10/23/2017 2:49:47 PM&lt;/b&gt;&lt;br&gt;Hi Michael,&lt;br&gt;&lt;br&gt;You could also try wrapping the function in a .Net wrapper DLL so that ATEasy does not handle the array and is only returned the drivers at the end. It is usually easier to wrap a function and return what you want then to force the function to work. But it sounds like you at least got it to work.&lt;br&gt;&lt;br&gt;Regards,&lt;br&gt;Sutton&lt;br&gt;&lt;br&gt;</description><link>https://www.marvintest.com/Forums/Thread.aspx?ID=386</link><pubDate>10/18/2017 11:00:54 AM</pubDate></item><item><title>Base64 String Decoding using .NET - Created on Friday, September 22, 2017 (Solution Avaliable)</title><description>&lt;b&gt;By Michael C. on 9/22/2017 3:51:14 PM&lt;/b&gt;&lt;br&gt;Hello,&lt;br&gt;&lt;br&gt;I am trying to use the mscorlib class "Convert".  One of the methods is "FromBase64String".  When I try to return this into a variant, variant array or even a byte array (randomly big size) I get an compiler error "Unsupported return type: 'FromBase64String' returns an array."&lt;br&gt;&lt;br&gt;Trying to figure out if I am calling the method incorrectly or if this is a limitation of ATEasy?&lt;br&gt;&lt;br&gt;Thanks in advance,&lt;br&gt;Mike&lt;br&gt;&lt;br&gt;&lt;b&gt;By DrATEasy (Ron Y.) on 9/22/2017 4:00:39 PM&lt;/b&gt;&lt;br&gt;ATEasy does not support functions with array as return type since every language has it own standard for arrays. &lt;br&gt;&lt;br&gt;You can use a Variant type that holds an array or a Var parameter that return array (like C language arrays).&lt;br&gt;&lt;br&gt;You can create a .Net wrapper DLL around that function or class  that will return it as one of the above types. &lt;br&gt;&lt;br&gt;Alternatively, you can use use CryptBinaryToString or CryptStringToBinary APIs  (https://msdn.microsoft.com/en-us/library/windows/desktop/aa379887(v=vs.85).aspx, https://msdn.microsoft.com/en-us/library/windows/desktop/aa380285(v=vs.85).aspx) which support BASE  64 encoding&lt;br&gt;&lt;br&gt;&lt;b&gt;By DrATEasy (Ron Y.) on 9/22/2017 4:15:55 PM&lt;/b&gt;&lt;br&gt;BTW this behavior may change in v10. You may be able to assign it to an object as use it using the array properties  / methods.&lt;br&gt;&lt;br&gt;&lt;br&gt;Ronnie&lt;br&gt;&lt;br&gt;&lt;b&gt;By Michael C. on 9/25/2017 5:35:03 PM&lt;/b&gt;&lt;br&gt;Hi Ronnie:&lt;br&gt;&lt;br&gt;I tried to use the  CryptBinaryToString or CryptStringToBinary you suggested and based on reading the MSDN page, it seems like I need to install the CryptoAPI based on CAPICOM.  Unfortunately, I am working on a closed system and can't install or make changes to the system without going through all matters of configuration management.  FYI the system I am using is running WinXP w/ ATEasy 8.&lt;br&gt;&lt;br&gt;A work around after googling was using MSXML to get around this issue and MSXML library call was native to ATEasy.  All credit to the original author for this now defunct website for the idea:&lt;br&gt;http://web.archive.org/web/20060527094535/http://www.nonhostile.com/howto-encode-decode-base64-vb6.asp&lt;br&gt;&lt;br&gt;Basically, you have 2 XML objects, one for the "DOMDocument" and another for the node "IXMLDOMElement".  Set node.datatype to "bin.base64", set node.text to base64 string to decode and finally set a Byte array to node.nodeTypedValue.&lt;br&gt;&lt;br&gt;One extra step I added for ATEasy is to then assign the Byte Array to a string variable.  If I tried to assign node.nodeTypedValue directly to a string variable, the variable reads out garbage.&lt;br&gt;&lt;br&gt;If anyone needs to do any base64 encoding, the steps are more or less the same except the assignments are reversed.&lt;br&gt;&lt;br&gt;Regards,&lt;br&gt;Mike&lt;br&gt;&lt;br&gt;&lt;b&gt;By DrATEasy (Ron Y.) on 9/29/2017 12:19:07 PM&lt;/b&gt;&lt;br&gt;I don't think the API CryptBinaryToString  ( https://msdn.microsoft.com/en-us/library/windows/desktop/aa379887%28v=vs.85%29.aspx?f=255&amp;MSPPError=-2147217396 ) requires CAPICOM.  Where did you see it?&lt;br&gt;&lt;br&gt;&lt;b&gt;By Michael C. on 9/29/2017 1:17:29 PM&lt;/b&gt;&lt;br&gt;I dropped back into the Crypto top page:&lt;br&gt;&lt;br&gt;https://msdn.microsoft.com/en-us/library/windows/desktop/aa380255(v=vs.85).aspx&lt;br&gt;&lt;br&gt;RunTime Requirements states CAPICOM.&lt;br&gt;&lt;br&gt;Maybe I did something wrong or because I am on WinXP?&lt;br&gt;&lt;br&gt;Either way I got something to work, if it wasn't for your original post I wouldn't even have thought going down this path.&lt;br&gt;&lt;br&gt;&lt;b&gt;By DrATEasy (Ron Y.) on 7/13/2021 8:35:30 AM&lt;/b&gt;&lt;br&gt;BTW ATEasy 10 does support function returning an array. You need to assign the return to a variant data type.&lt;br&gt;&lt;br&gt;</description><link>https://www.marvintest.com/Forums/Thread.aspx?ID=384</link><pubDate>9/22/2017 3:51:14 PM</pubDate></item><item><title>ATEasy File IO with Binary Files - Created on Tuesday, September 12, 2017 (Solution Avaliable)</title><description>&lt;b&gt;By Michael C. on 9/12/2017 8:06:27 AM&lt;/b&gt;&lt;br&gt;Hello,

I am attempting to access a firmware binary file (file extension *.bin) within ATEasy.  I seem to have no issues with FileOpen if I use the default setting (any other options will return a -1).  However, FileRead will never work and always returns a -1.  

I am just curious on limitations of the FileRead and general File IO procedures for ATEasy and if there are anyways around this?

Regards,
Mike C.&lt;br&gt;&lt;br&gt;&lt;b&gt;By Jason D. on 9/13/2017 3:04:39 PM&lt;/b&gt;&lt;br&gt;Hi Mike,

I tried reading an ATEasy program binary file (.prg) and it worked fine. 
Here is what I used. I was able to write to a string or an array of bytes. 
hFile=FileOpen(GetDir()+"\\TestThis.prg")
lBytesRead=FileRead(hFile, aucBytes, , , )
lBytesRead=FileRead(hFile, sRead, , , )

aucBytes is an array of bytes.
sRead is a string.
lBytesRead returns 1024 for both types.

As for the limitations, they are the same as Windows API CreateFile and ReadFile.

Regards,
Jason&lt;br&gt;&lt;br&gt;&lt;b&gt;By Michael C. on 9/22/2017 3:23:17 PM&lt;/b&gt;&lt;br&gt;Hi Jason,&lt;br&gt;&lt;br&gt;Okay that worked, I totally misread the tech doc on this and used the wrong datatype for the file read output.&lt;br&gt;&lt;br&gt;Thanks!&lt;br&gt;Mike&lt;br&gt;&lt;br&gt;</description><link>https://www.marvintest.com/Forums/Thread.aspx?ID=383</link><pubDate>9/12/2017 8:06:27 AM</pubDate></item><item><title>Asking for advice on formmated string - Created on Monday, September 11, 2017 (Solution Avaliable)</title><description>&lt;b&gt;By Raz A. on 9/11/2017 7:05:06 AM&lt;/b&gt;&lt;br&gt;Lets say i have a char[100] which is forrmatted like this: “%d,%d,%d,%.2f,%.2f”.

What is the best way in ATEASY to get all 5 varible values? ( long,long,long,float, float).

I wanted to work with Split(sStr,",") but it only works with String type.&lt;br&gt;&lt;br&gt;&lt;b&gt;By DrATEasy (Ron Y.) on 9/11/2017 10:32:53 AM&lt;/b&gt;&lt;br&gt;See Language.prg example, Test 7.9  sscanf, , the test shows example for using sscanf with up to 16 variables. Copy to your module the MSVCRT library to use it.&lt;br&gt;&lt;br&gt;&lt;b&gt;By Raz A. on 9/17/2017 4:48:45 AM&lt;/b&gt;&lt;br&gt;The first parameter of sscanf is of String type but i have char type (char[100])&lt;br&gt;&lt;br&gt;so i receive an error :&lt;br&gt; "Compiler error #612: Type of argument is incompatible with Val parameter 'acBuffer' in procedure 'EDTU_TEST.msvcrt.sscanf', found in 'EDTU_TEST.RFTransmissionDL_LOOP' in line 54"&lt;br&gt;&lt;br&gt;&lt;br&gt;What can i do?&lt;br&gt;&lt;br&gt;&lt;b&gt;By Paul T. on 9/17/2017 5:57:40 AM&lt;/b&gt;&lt;br&gt;Hi Raz,

I&amp;#39;ve tried something related to your requirement. See code snippet below.
Actually, if you have an array of chars, you need to specify in some way which chars are integer numbers and which are part of your floating point numbers...

That&amp;#39;s why I used "," and "." in the creation of the string below.
I obtained "1", "2" and "3" as integers (long) and "4.53" &amp;amp; "6.82" as floting point numbers (double).

! set the buffer size
SetLen(s, 256)
acChar = {&amp;#39;1&amp;#39;,&amp;#39;2&amp;#39;,&amp;#39;3&amp;#39;,&amp;#39;4&amp;#39;,&amp;#39;5&amp;#39;,&amp;#39;3&amp;#39;,&amp;#39;6&amp;#39;,&amp;#39;8&amp;#39;,&amp;#39;2&amp;#39;}

s = chr(acChar[0]) + "," + chr(acChar[1]) + "," + chr(acChar[2]) + "," + chr(acChar[3]) + "." + chr(acChar[4])+ chr(acChar[5])+ ","+ chr(acChar[6]) + "." + chr(acChar[7])+ chr(acChar[8])

i=sscanf(s, "%d, %d, %d, %lf, %lf", lLong1, lLong2, lLong3, dDouble1, dDouble2)



I hope it helps you. I don&amp;#39;t know a better method to do this task...

Best regards,
Paul T.&lt;br&gt;&lt;br&gt;&lt;b&gt;By DrATEasy (Ron Y.) on 9/18/2017 9:54:18 AM&lt;/b&gt;&lt;br&gt;Can you paste you code and how you defined your variables? &lt;br&gt;&lt;br&gt;The first argument is the format spec (string) and the second is the second is the buffer to parse and convert the the arguments. Both of them can be string of array of char. See also http://www.cplusplus.com/reference/cstdio/sscanf/&lt;br&gt;&lt;br&gt;&lt;b&gt;By Raz A. on 9/23/2017 10:58:25 PM&lt;/b&gt;&lt;br&gt;There is a Char type and String type. i must work with a Char[100] and not string. sscanf receives a String type, not char or char[100]

when i send char[100] type it says:

"Compiler error #612: Type of argument is incompatible with Val parameter &amp;#39;acBuffer&amp;#39; in procedure &amp;#39;EDTU_TEST.msvcrt.sscanf&amp;#39;, found in &amp;#39;EDTU_TEST.RFTransmissionDL_LOOP&amp;#39; in line 54"


cant i just do this?

sStringType = acCharType&lt;br&gt;&lt;br&gt;&lt;b&gt;By Paul T. on 9/24/2017 3:54:46 AM&lt;/b&gt;&lt;br&gt;Hi Raz,&lt;br&gt;&lt;br&gt;Yes, I think you can assign the char array to the string, but how can you tell which chars are parts of integer numbers and which are parts of floating point numbers?&lt;br&gt;You stated before that you want to extract both integer and floating point numbers, right?&lt;br&gt;&lt;br&gt;Regards,&lt;br&gt;Paul&lt;br&gt;&lt;br&gt;&lt;b&gt;By Raz A. on 9/24/2017 3:56:43 AM&lt;/b&gt;&lt;br&gt;Ill assign the char array to the string and then ill use sscanf.....

Thats what i did. and it works&lt;br&gt;&lt;br&gt;</description><link>https://www.marvintest.com/Forums/Thread.aspx?ID=382</link><pubDate>9/11/2017 7:05:06 AM</pubDate></item><item><title>Run thread during test - Created on Thursday, July 27, 2017 (Solution Avaliable)</title><description>&lt;b&gt;By Adam C. on 7/27/2017 6:20:07 AM&lt;/b&gt;&lt;br&gt;I need some help,&lt;br&gt;&lt;br&gt;I'm using a test system for automotive circuit testing with Ateasy 8.&lt;br&gt;&lt;br&gt;It's a normal Ateasy application with tasks and test steps.&lt;br&gt;&lt;br&gt;During production I make electrical tests and communication (via I2C bus).&lt;br&gt;&lt;br&gt;I'd like to terminate the test steps, with only communication code, parallel with the other test steps.&lt;br&gt;&lt;br&gt;So I copied the code from these test steps in one PROCEDURE and I made one common test step.&lt;br&gt;&lt;br&gt;In the test step I call create thread methode and terminate thread methode to make run the new PROCEDURE. &lt;br&gt;&lt;br&gt;It's seems it's not working. If I put a breakpoint in the PROCEDURE the first 2 or  3 line are terminanted and it's jumping to the next test steps.&lt;br&gt;&lt;br&gt;Can you support me to solve this issue?&lt;br&gt;&lt;br&gt;Thank you!&lt;br&gt;&lt;br&gt;&lt;b&gt;By Jason D. on 7/27/2017 3:04:12 PM&lt;/b&gt;&lt;br&gt;Are you watching the correct thread? &lt;br&gt;Go to View &gt; Threads to open the thread window. It will allow you to switch threads and step through each one as they are running side by side.&lt;br&gt;&lt;br&gt;&lt;b&gt;By Adam C. on 8/1/2017 5:50:00 AM&lt;/b&gt;&lt;br&gt;Thank you for your help, I solved this issue, it was the misundestanding of way of using threads in Ateasy.&lt;br&gt;&lt;br&gt;I thought that the purpose of CreateThread method is to set up a thread, and TerminateThread to start it or activate it.&lt;br&gt;&lt;br&gt;In this case I need just CreateThread methode and it's working fine.&lt;br&gt;&lt;br&gt;</description><link>https://www.marvintest.com/Forums/Thread.aspx?ID=381</link><pubDate>7/27/2017 6:20:07 AM</pubDate></item><item><title>ATEasy for ARM architecture? - Created on Friday, June 30, 2017 (Solution Avaliable)</title><description>&lt;b&gt;By Marta E. on 6/30/2017 12:44:43 AM&lt;/b&gt;&lt;br&gt;Hi,&lt;br&gt;&lt;br&gt;I'm developing a new tester station. At the past I used to have Windows systems, but for this one I'd like to use a Raspberry Pi 3 (the idea is: executable would run in that Raspberry)&lt;br&gt;I'm wondering about ATEasy requirements, because I would say ATEasy needs Amd64 architerture, doesn't it? Would there be any option? Should I install any special software?&lt;br&gt;&lt;br&gt;Thanks!&lt;br&gt;&lt;br&gt;&lt;b&gt;By DrATEasy (Ron Y.) on 7/12/2017 8:49:16 AM&lt;/b&gt;&lt;br&gt;ATEasy 9 runs only on x86 (MachineX86 linker option) on XP (sp3) - Win 10 (32/64 bit OS) . It does not run on ARM.&lt;br&gt;&lt;br&gt;We will support X64 in future versions of ATEasy. There is no decision yet on other platforms where we may have support for deployment only of the run-time (not IDE).&lt;br&gt;&lt;br&gt;</description><link>https://www.marvintest.com/Forums/Thread.aspx?ID=380</link><pubDate>6/30/2017 12:44:43 AM</pubDate></item><item><title>Error on installing Ateasy 7 142g - Created on Monday, April 3, 2017 (Solution Avaliable)</title><description>&lt;b&gt;By Moran D. on 4/3/2017 2:52:19 AM&lt;/b&gt;&lt;br&gt;Hi&lt;br&gt;I am trying to install Ateasy 7 142g on Windows 7 64 bit&lt;br&gt;But have an error.. See pic attached &lt;br&gt;Please help.. &lt;br&gt;Thanks. &lt;br&gt;Moran&lt;br&gt;&lt;br&gt;&lt;b&gt;By Jason D. on 4/3/2017 10:13:23 AM&lt;/b&gt;&lt;br&gt;Hi Moran,&lt;br&gt;&lt;br&gt;Try the HW installation from the website: https://www.marvintest.com/Product.aspx?Model=HW&lt;br&gt;&lt;br&gt;Also note that ATEasy 7 does not support Windows 7.&lt;br&gt;&lt;br&gt;Regards,&lt;br&gt;Jason&lt;br&gt;&lt;br&gt;&lt;b&gt;By Moran D. on 4/3/2017 11:33:27 PM&lt;/b&gt;&lt;br&gt;Hi Jason, &lt;br&gt;Thanks for your reply. &lt;br&gt;I find the reason to the error. &lt;br&gt;I tried to install Ateasy while NI device was connected to &lt;br&gt;The PC USB port. &lt;br&gt;When i unplug it the installation succeed. &lt;br&gt;By the way i did not have this problem when installing Ateasy 8.&lt;br&gt;&lt;br&gt;&lt;b&gt;By Paul T. on 4/4/2017 2:13:49 AM&lt;/b&gt;&lt;br&gt;Hi Jason,&lt;br&gt;&lt;br&gt;What do you mean by "Also note that ATEasy 7 does not support Windows 7" ?!&lt;br&gt;We are using ATEasy 7 build 142g on a lot of computers with Windows 7 both 32-bit and 64-bit.&lt;br&gt;&lt;br&gt;&lt;br&gt;Regards,&lt;br&gt;Paul&lt;br&gt;&lt;br&gt;&lt;b&gt;By Jason D. on 4/4/2017 8:50:50 AM&lt;/b&gt;&lt;br&gt;Paul,&lt;br&gt;&lt;br&gt;What I mean is that the readme for ATEasy 7 142g only lists support for Windows Vista, XP, 2000, ME, and 98.&lt;br&gt;&lt;br&gt;Regards,&lt;br&gt;Jason&lt;br&gt;&lt;br&gt;</description><link>https://www.marvintest.com/Forums/Thread.aspx?ID=377</link><pubDate>4/3/2017 2:52:19 AM</pubDate></item><item><title>Allan variance Measurement - Created on Friday, March 3, 2017 (Solution Avaliable)</title><description>&lt;b&gt;By Mahesh N. on 3/3/2017 6:29:47 PM&lt;/b&gt;&lt;br&gt;Hi,&lt;br&gt;&lt;br&gt;I have a Vectron EX-219 oscillator ( https://www.vectron.com/products/space/EX-219.pdf ) and I need to measure the stability of this oscillator. To be very specific I need to measure the allan deviation. I was wondering if I could use the GTX2200/GC2200 Time interval counter to do this measurement. The allan deviation number specified is 5X10^-11. &lt;br&gt;&lt;br&gt;Is there a function that can be built for doing this measurement?&lt;br&gt;&lt;br&gt;Any help in this regard is welcome. &lt;br&gt;&lt;br&gt;rgds&lt;br&gt;mahesh&lt;br&gt;&lt;br&gt;&lt;b&gt;By Orr K. on 4/5/2017 8:07:36 AM&lt;/b&gt;&lt;br&gt;Mahesh,&lt;br&gt;&lt;br&gt;There is a software tool that can provide Allan Variation calculations for a set of data points, which would presumably be obtained from the GTX2200 instrument. Let me know if this helps.&lt;br&gt;&lt;br&gt;http://www.phidgets.com/docs/Allan_Deviation_Primer#Calculation &lt;br&gt;&lt;br&gt;Regards,&lt;br&gt;Orr&lt;br&gt;&lt;br&gt;</description><link>https://www.marvintest.com/Forums/Thread.aspx?ID=376</link><pubDate>3/3/2017 6:29:47 PM</pubDate></item><item><title>Source Control in AtEasy 8 - Created on Tuesday, February 7, 2017 (Solution Avaliable)</title><description>&lt;b&gt;By Yossi S. on 2/7/2017 9:33:25 PM&lt;/b&gt;&lt;br&gt;I am trying to add some source control in this IDE. Preferable not VSS but TFS or git &lt;br&gt;The File Source Control item is grayed out and the Advanced button is not visible in Tools Source Control panel.&lt;br&gt;Git, TFS and VSS are installed on the system.&lt;br&gt;Support is required.&lt;br&gt;Thank you.&lt;br&gt;&lt;br&gt;Yossi Seter.&lt;br&gt;&lt;br&gt;&lt;b&gt;By DrATEasy (Ron Y.) on 2/9/2017 6:29:35 PM&lt;/b&gt;&lt;br&gt;Hi Yossi, &lt;br&gt;&lt;br&gt;ATEasy v9 had re-design of all the source control support. I suggest to use v9 for anything other than MS Visual Source Safe. In addition I recommend to use GIT and not TFS, if you have a choice. MS Team Foundation Server has limited command line support and the SCC API support is not complete as well for third party tools other than MS Visual Studio. &lt;br&gt;&lt;br&gt;Here is an article of how to use GIT with v9:&lt;br&gt;http://www.marvintest.com/KnowledgeBase/KBArticle.aspx?ID=265&lt;br&gt;&lt;br&gt;Checlk also the following article, it explain about subversion with v9 it works very similar for all other source control: http://www.marvintest.com/KnowledgeBase/KBArticle.aspx?ID=298&lt;br&gt;&lt;br&gt;Ronnie&lt;br&gt;&lt;br&gt;&lt;b&gt;By Yossi S. on 2/11/2017 1:14:16 PM&lt;/b&gt;&lt;br&gt;Hi, Ronnie&lt;br&gt;Thank you for your reply.&lt;br&gt;Unfortunately, our organization decided NOT to upgrade for now to V9.&lt;br&gt;Does it mean that I am stuck with VSS only? Or there are ways to use TFS  of GIT with V8?&lt;br&gt;&lt;br&gt;Thank you for your support.&lt;br&gt;Yossi&lt;br&gt;&lt;br&gt;&lt;b&gt;By DrATEasy (Ron Y.) on 4/4/2017 9:09:06 AM&lt;/b&gt;&lt;br&gt;If you want to use the built in source control support for anything other that VSS you will need to upgrade to v9.&lt;br&gt;&lt;br&gt;Ronnie&lt;br&gt;&lt;br&gt;&lt;b&gt;By Eric J. on 1/3/2025 1:42:51 PM&lt;/b&gt;&lt;br&gt;Have there been any advances or improvements in integrated source control since v9 that someone could highlight?&lt;br&gt;&lt;br&gt;We are considering VS for our main developing application.  I know Git and Azure DevOps are integrated.&lt;br&gt;&lt;br&gt;&lt;b&gt;By DrATEasy (Ron Y.) on 1/3/2025 2:35:53 PM&lt;/b&gt;&lt;br&gt;We have support for GIT, SVN, Teams Foundation Server (Microsoft) and you can also define your custom source control using command line. In addition several bugs and improvements were implemented (see the latest Readme.txt)&lt;br&gt;&lt;br&gt;Ronnie&lt;br&gt;&lt;br&gt;</description><link>https://www.marvintest.com/Forums/Thread.aspx?ID=375</link><pubDate>2/7/2017 9:33:25 PM</pubDate></item><item><title>ATEasy-XX-YY conversion - Created on Thursday, February 2, 2017 (Solution Avaliable)</title><description>&lt;b&gt;By Jan S. on 2/2/2017 2:30:37 AM&lt;/b&gt;&lt;br&gt;Hi, our customer Benchmark seems to have 6 ATEasy licenses. They want to replace ONE license to be used at their customer site by purchasing the ATEasy-XX-YY module. They like to have the USB key license but want to be sure this one is “not locked”. The reason they want to use this license at their customer site on different computers so floating. Is this possible?&lt;br&gt;&lt;br&gt;Furthermore what is exactly the procedure to follow after we placed the order for 1 - ATEasy-XX-YY. Also what is the impact on the network licenses will this need also a new license file?&lt;br&gt;&lt;br&gt;Attached PDF file with additional info from the past.&lt;br&gt;&lt;br&gt;Please advise. &lt;br&gt;&lt;br&gt;Many thanks, Jan Snijders&lt;br&gt;&lt;br&gt;&lt;b&gt;By DrATEasy (Ron Y.) on 4/4/2017 9:15:55 AM&lt;/b&gt;&lt;br&gt;You can replace the key type (ATEasy-XX-YY) only if you have a current subscription plan (2017 policy change); otherwise you will need to purchase an upgrade. If you have a single license installed to your machine, no network license will be used. In v9, we added a way to borrow a license from the server up to 72 hours, so you can travel or disconnect from the network and still work. Once you are connected, it will return the license to the license server automatically.&lt;br&gt;&lt;br&gt;Ronnie&lt;br&gt;&lt;br&gt;</description><link>https://www.marvintest.com/Forums/Thread.aspx?ID=374</link><pubDate>2/2/2017 2:30:37 AM</pubDate></item><item><title>ATEasy 9 build 154 blocked by Avast - Created on Thursday, December 15, 2016 (Solution Avaliable)</title><description>&lt;b&gt;By Martin S. on 12/15/2016 9:31:10 AM&lt;/b&gt;&lt;br&gt;When installing the last build Avast blocked the .exe and the rt.&lt;br&gt;Each time I want to open I have to deactivate Avast or it'll put the files in quarantine.&lt;br&gt;It finds Win32: Evo-Gen whatever this is supposed to be.&lt;br&gt;I already reported a false detection but it may work better if the editor does it.&lt;br&gt;&lt;br&gt;&lt;b&gt;By DrATEasy (Ron Y.) on 12/15/2016 10:08:26 AM&lt;/b&gt;&lt;br&gt;Can attach a screen capture of the message that Avast display? Is you Avast up to date? What version of Avast are you using?&lt;br&gt;&lt;br&gt;&lt;b&gt;By DrATEasy (Ron Y.) on 12/15/2016 10:27:43 AM&lt;/b&gt;&lt;br&gt;In any case, we have submitted request for false detection removal  at Avast (https://www.avast.com/false-positive-file-form.php) so the next update to virus definition should fix this.&lt;br&gt;&lt;br&gt;&lt;b&gt;By DrATEasy (Ron Y.) on 12/16/2016 8:58:19 AM&lt;/b&gt;&lt;br&gt;Avast has notified us that it has now been resolved. ATEasy won't be detected by Avast anymore.&lt;br&gt;&lt;br&gt;&lt;b&gt;By Martin S. on 12/16/2016 10:09:47 AM&lt;/b&gt;&lt;br&gt;Yep it's OK now,&lt;br&gt;&lt;br&gt;Thanks a lot.&lt;br&gt;&lt;br&gt;</description><link>https://www.marvintest.com/Forums/Thread.aspx?ID=371</link><pubDate>12/15/2016 9:31:10 AM</pubDate></item><item><title>ATEasy 4 file manage functions implementation - Created on Sunday, December 11, 2016 (Solution Avaliable)</title><description>&lt;b&gt;By Adam C. on 12/11/2016 11:42:42 PM&lt;/b&gt;&lt;br&gt;Dear Marvin Test!&lt;br&gt;&lt;br&gt;I'm a test engineer guy , employed by JABIL.&lt;br&gt;I've got the following problem:&lt;br&gt;We are using an old test system with an obsolete industrial PC, running ATeasy 4 on it.&lt;br&gt;Unfortunately it's not possible to upgrade it because of the complexity of the test SW  and no support exits anymore.&lt;br&gt;I have to implement a new program with file management functions, files must be copied from server and size/last mod. date must be checked.&lt;br&gt;These functions were not implemented in ATeasy 4, so I tried to use them by calling kernel32 functions.&lt;br&gt;&lt;br&gt;This one was easy: CopyFileA&lt;br&gt;https://msdn.microsoft.com/en-us/library/windows/desktop/aa363851(v=vs.85).aspx&lt;br&gt;&lt;br&gt;But I cannot implement this one: FindFirstFileA&lt;br&gt;I think the problem with the return structure implementation.&lt;br&gt;lpFindFileData [out] A pointer to the WIN32_FIND_DATA structure &lt;br&gt;&lt;br&gt;Is it possible to send me how did you implement in higher versions of Ateasy this FindFirstFileA function?&lt;br&gt;&lt;br&gt;Thank you!&lt;br&gt;&lt;br&gt;&lt;b&gt;By DrATEasy (Ron Y.) on 12/12/2016 11:43:04 AM&lt;/b&gt;&lt;br&gt;I believe ATEasy 4 has a FileFind internal library function that you can use. It is similar to the FindFirstFileA.&lt;br&gt;&lt;br&gt;</description><link>https://www.marvintest.com/Forums/Thread.aspx?ID=367</link><pubDate>12/11/2016 11:42:42 PM</pubDate></item><item><title>how can i check if a string is numeric - Created on Thursday, November 17, 2016 (Solution Avaliable)</title><description>&lt;b&gt;By Production I. on 11/17/2016 6:42:25 AM&lt;/b&gt;&lt;br&gt;hi,
i want to check if string ist numeric
i have try with procedure val with base 10, but  i have the problem with this call val("123abc", 10).
i want that convert "123abc" to numeric causes  a error.
how can i check if all chars of string are numeric ? i think convert sring to char array and check every char if it in the interval 0-9

thanks in advance
youssef&lt;br&gt;&lt;br&gt;&lt;b&gt;By DrATEasy (Ron Y.) on 11/17/2016 8:45:29 AM&lt;/b&gt;&lt;br&gt;procedure IsValidInteger(s: Val String) : Long&lt;br&gt;iLast : Long&lt;br&gt;c:Char&lt;br&gt;{&lt;br&gt;iLast=Len(s)-1&lt;br&gt;for i=0 to iLast&lt;br&gt;    c=s[i]&lt;br&gt;    if c&lt;'0' and c&gt;'9' then  return False &lt;br&gt;next&lt;br&gt;&lt;br&gt;return  True&lt;br&gt;}&lt;br&gt;&lt;br&gt;You can change the procedure also to return the last numeric character or enhance to support floating point.&lt;br&gt;&lt;br&gt;Ronnie&lt;br&gt;&lt;br&gt;&lt;b&gt;By Production I. on 11/17/2016 11:23:45 PM&lt;/b&gt;&lt;br&gt;Hi Ronnie,&lt;br&gt;thank you for the quiqly response.&lt;br&gt;in the if statement should "or" instead of "and" used and i have a check added if the string is empty. &lt;br&gt;that works now&lt;br&gt;&lt;br&gt;iLast = Len(s) - 1&lt;br&gt;if iLast = -1&lt;br&gt;	! empty string&lt;br&gt;	return False&lt;br&gt;endif&lt;br&gt;for lCounter=0 to iLast&lt;br&gt;    c=s[lCounter]&lt;br&gt;    if c&lt;'0' or c&gt;'9' then  return False&lt;br&gt;next&lt;br&gt;&lt;br&gt;return  True&lt;br&gt;&lt;br&gt;&lt;b&gt;By DrATEasy (Ron Y.) on 11/18/2016 9:09:30 AM&lt;/b&gt;&lt;br&gt;Great!&lt;br&gt;&lt;br&gt;</description><link>https://www.marvintest.com/Forums/Thread.aspx?ID=366</link><pubDate>11/17/2016 6:42:25 AM</pubDate></item><item><title>DLLs need to be placed in the same folder as the .PRJ/.EXE under Win7-x64 (ATEasy 7) - Created on Saturday, November 12, 2016 (Solution Avaliable)</title><description>&lt;b&gt;By Paul T. on 11/12/2016 12:20:43 PM&lt;/b&gt;&lt;br&gt;Hi,

I am facing a new problem.
I have to upgrade the OS of a Test Equipment from WinXP - 32 bit to Win7 - 64 bits.
The old S/W package has all the DLLs in a dedicate folder ("Dll") and the .PRJ, .SYS, .PRG, .DRV files in different folders (custom folder structure).
For some reason, the ARINC-708 and ARINC-429 drivers (from Excalibur Systems) are not working under Windows 7 - x64 like they do on Windows XP, with the old folder structure (the Init() routines fail - the message is kind of "failed to load frontdesk").
They work only if I place the required DLLs (exc708ms.dll, frontdesk.dll, rtxms.dll, exc4000ms.dll) in the same folder as the .PRJ/.EXE file.
So, the error message from the initialization seems to be linked to the "frontdesk.dll" file (it failed to load it, even though this DLL is in the "Dll" folder).
I must mention that the ATEasy drivers have imported only one DLL file from the list above: ARINC-708 has exc708ms.dll, ARINC-429 has rtxms.dll.

I am using ATEasy 7 build 142g and I don&amp;#39;t have the option to upgrade (it&amp;#39;s a duplicate project, so only OS change is accepted).

Anybody know the reason / how can I make the system recognize all the required DLLs without moving them in the .PRJ/.EXE folder?


Thanks,
Paul&lt;br&gt;&lt;br&gt;&lt;b&gt;By DrATEasy (Ron Y.) on 11/14/2016 9:19:00 AM&lt;/b&gt;&lt;br&gt;I suggest to download and run  Dependency Walker  (DEPENDS.exe from http://www.dependencywalker.com/) on the DLL that does no load. It will tell you what is missing.&lt;br&gt;&lt;br&gt;Ron&lt;br&gt;&lt;br&gt;&lt;b&gt;By Paul T. on 11/14/2016 9:22:36 PM&lt;/b&gt;&lt;br&gt;Hi Ron,&lt;br&gt;&lt;br&gt;Thanks for the suggestion! &lt;br&gt;&lt;br&gt;&lt;br&gt;Best regards,&lt;br&gt;Paul&lt;br&gt;&lt;br&gt;</description><link>https://www.marvintest.com/Forums/Thread.aspx?ID=365</link><pubDate>11/12/2016 12:20:43 PM</pubDate></item><item><title>Accessing Test properties - Created on Wednesday, November 2, 2016 (Solution Avaliable)</title><description>&lt;b&gt;By Garry B. on 11/2/2016 4:50:59 PM&lt;/b&gt;&lt;br&gt;Is it possible to access test properties outside of when the test is being executed? I've tried x = Program.Test("Test1").Max, but it doesn't compile. I've tried x = Program.Tests("Test1").Max, but it doesn't run.&lt;br&gt;&lt;br&gt;&lt;b&gt;By Jason D. on 11/2/2016 5:19:17 PM&lt;/b&gt;&lt;br&gt;Hi Garry,&lt;br&gt;&lt;br&gt;I used x=Program.Tests("Test1").Max and it worked for me. Can you right click on your Test1 and check the properties window to make sure the Id is indeed "Test1"?&lt;br&gt;&lt;br&gt;I have also attached my sample project, "TestWS_Test1.zip", for you to try.&lt;br&gt;&lt;br&gt;Regards,&lt;br&gt;Jason&lt;br&gt;&lt;br&gt;&lt;b&gt;By Garry B. on 11/7/2016 12:50:49 PM&lt;/b&gt;&lt;br&gt;Thanks.&lt;br&gt;&lt;br&gt;</description><link>https://www.marvintest.com/Forums/Thread.aspx?ID=364</link><pubDate>11/2/2016 4:50:59 PM</pubDate></item><item><title>Access Function Return value in Simulation Mode - Created on Friday, September 23, 2016 (Solution Avaliable)</title><description>&lt;b&gt;By Garry B. on 9/23/2016 9:02:52 AM&lt;/b&gt;&lt;br&gt;I see how to get a pointer for a Procedure's argument by using "GetSimulateParameter" but how do I get a pointer to a Function's Return value in simulate mode?&lt;br&gt;&lt;br&gt;&lt;b&gt;By DrATEasy (Ron Y.) on 9/26/2016 9:22:11 AM&lt;/b&gt;&lt;br&gt;No pointer is used - the OnSimulate return Variant is used for the simulated function return. See the ATEasy Help OnSimulate topic for an example. The return is a variant and ATEasy will convert it to the simulated function return type.&lt;br&gt;&lt;br&gt;&lt;b&gt;By Garry B. on 9/26/2016 9:57:44 AM&lt;/b&gt;&lt;br&gt;Thanks!&lt;br&gt;&lt;br&gt;</description><link>https://www.marvintest.com/Forums/Thread.aspx?ID=361</link><pubDate>9/23/2016 9:02:52 AM</pubDate></item><item><title>Multi-line Winexec command - Created on Wednesday, September 14, 2016 (Solution Avaliable)</title><description>&lt;b&gt;By Andrew Y. on 9/14/2016 11:04:49 AM&lt;/b&gt;&lt;br&gt;Hello,&lt;br&gt;&lt;br&gt;I am trying to run a dos command that I can get to run in cmd.exe:&lt;br&gt;&lt;br&gt;cd C:\PCI3362LVInterface\CDM\support &amp;&amp; C:\PCI3362LVInterface\CDM\support\DataCapture.exe -Hlocalhost -jProjectManager -cProcessing -r25 -t1000 -n25 "NCC2916 01-01-01" "C:\PCI3362LVInterface\CDM\support\outfile.txt"&lt;br&gt;&lt;br&gt;However I seem to not be able to get to run using winexec.&lt;br&gt;&lt;br&gt;If I just try:&lt;br&gt;hHandle = winexec("C:\\PCI3362LVInterface\\CDM\\support",aformShow)&lt;br&gt;or &lt;br&gt;hHandle = winexec("cd C:\\PCI3362LVInterface\\CDM\\support",aformShow)&lt;br&gt;I get an error code of 2, file not found.&lt;br&gt;&lt;br&gt;Is there a simpler way to handle this?  I prefer not to use batch file as some of the items in the command prompt will change and would rather keep it inside ATEasy.&lt;br&gt;&lt;br&gt;Thanks.&lt;br&gt;Andy&lt;br&gt;&lt;br&gt;&lt;b&gt;By DrATEasy (Ron Y.) on 9/14/2016 11:51:05 AM&lt;/b&gt;&lt;br&gt;You need to execute the command line first followed by your command. For example:
WinExec("cmd.exe /K dir")

Use the /K and /C and also make sure to have quote or quote for each command between &amp;amp;&amp;amp;

See https://www.microsoft.com/resources/documentation/windows/xp/all/proddocs/en-us/cmd.mspx?mfr=true
&lt;br&gt;&lt;br&gt;&lt;b&gt;By Andrew Y. on 9/14/2016 12:04:01 PM&lt;/b&gt;&lt;br&gt;Outstanding, thanks Ron.&lt;br&gt;&lt;br&gt;&lt;b&gt;By Orr K. on 3/24/2017 8:48:35 AM&lt;/b&gt;&lt;br&gt;[Quote= DrATEasy (Ron Y.) wrote:&lt;br&gt;You need to execute the command line first followed by your command. For example: &lt;br&gt;WinExec("cmd.exe /K dir") &lt;br&gt; &lt;br&gt;Use the /K and /C and also make sure to have quote or quote for each command between &amp;&amp; &lt;br&gt; &lt;br&gt;See  https://www.microsoft.com/resources/documentation/windows/xp/all/proddocs/en-us/cmd.mspx?mfr=true  &lt;br&gt;   =Quote]&lt;br&gt;&lt;br&gt;If you follow these instructions you should be able to get this to work.&lt;br&gt;&lt;br&gt;&lt;b&gt;By DrATEasy (Ron Y.) on 1/29/2018 12:25:00 PM&lt;/b&gt;&lt;br&gt;Place all of these line with a .bat file and execute it using WinExec("c:\\MyBatFlder\\Example.bat"). &lt;br&gt;&lt;br&gt;Every time you are calling WinExec a new process is created and it does not related to another WinExec call.  &lt;br&gt;&lt;br&gt;In addition, CD command is not  an executable it runs only within CMD.&lt;br&gt;&lt;br&gt;</description><link>https://www.marvintest.com/Forums/Thread.aspx?ID=360</link><pubDate>9/14/2016 11:04:49 AM</pubDate></item><item><title>Access Denied Users.usr on new machine - Created on Monday, August 15, 2016 (Solution Avaliable)</title><description>&lt;b&gt;By Kenny K. on 8/15/2016 8:16:01 AM&lt;/b&gt;&lt;br&gt;I am getting an access denied error when I try to close the ATEasy test program on a new installation.&lt;br&gt;&lt;br&gt;Our test rack was running windows XP with AT Easy 8 (146a).  The PC had a hardware problem and had to be replaced.  The new PC no longer had Windows XP drivers, so we had to go to Windows 7.&lt;br&gt;&lt;br&gt;I installed ATEasy 8 (148d) as a runtime, and LabVIEW 2009 SP1 runtime as well as the VISA drivers.&lt;br&gt;&lt;br&gt;The ATEasy test program will open up on the main screen, but even if I do not do anything and just click Exit, I get an error that the users.usr access has been denied.&lt;br&gt;&lt;br&gt;We have verified that the user account under Windows 7 has permissions to the folder, and the user account is also an administrator.&lt;br&gt;&lt;br&gt;Any ideas on what is causing the file access errors?&lt;br&gt;&lt;br&gt;&lt;b&gt;By DrATEasy (Ron Y.) on 8/16/2016 11:42:59 AM&lt;/b&gt;&lt;br&gt;Do you mean ATEasy.usr? &lt;br&gt;&lt;br&gt;So the issue is when you run the application but not when you run ATEasy IDE?&lt;br&gt;&lt;br&gt;What's the path you set in you application TestExec to the usr file or you are just using the default path?  (C:\Windows\SysWOW64 or C:\Windows\System32).&lt;br&gt;&lt;br&gt;&lt;b&gt;By Kenny K. on 8/16/2016 1:55:37 PM&lt;/b&gt;&lt;br&gt;Sorry, I didnt specify correctly.&lt;br&gt;&lt;br&gt;The Users.usr was a custom name for the ATEasy.usr that was set in the build specification.&lt;br&gt;&lt;br&gt;I am running a built application (exe).&lt;br&gt;&lt;br&gt;The file is relative to the exe location.&lt;br&gt;&lt;br&gt;In the IDE, I set the name value to user.usr.&lt;br&gt;&lt;br&gt;Edit:  Problem solved.  The files were copied over as read only for some reason.  So even though the Windows Account had full permissions, the file was still marked read-only.&lt;br&gt;&lt;br&gt;&lt;b&gt;By Shaik A. on 5/4/2017 5:22:30 AM&lt;/b&gt;&lt;br&gt;[Quote= Kenny K. wrote:&lt;br&gt;I am getting an access denied error when I try to close the ATEasy test program on a new installation.&lt;br&gt;&lt;br&gt;Our test rack was running windows XP with AT Easy 8 (146a).  The PC had a hardware problem and had to be replaced.  The new PC no longer had Windows XP drivers, so we had to go to Windows 7.&lt;br&gt;&lt;br&gt;I installed ATEasy 8 (148d) as a runtime, and LabVIEW 2009 SP1 runtime as well as the VISA drivers.&lt;br&gt;&lt;br&gt;The ATEasy test program will open up on the main screen, but even if I do not do anything and just click Exit, I get an error that the users.usr access has been denied.&lt;br&gt;&lt;br&gt;We have verified that the user account under Windows 7 has permissions to the folder, and the user account is also an administrator.&lt;br&gt;&lt;br&gt;Any ideas on what is causing the file access errors? =Quote]&lt;br&gt;&lt;br&gt;</description><link>https://www.marvintest.com/Forums/Thread.aspx?ID=359</link><pubDate>8/15/2016 8:16:01 AM</pubDate></item><item><title>function's "compile" flag - Created on Wednesday, August 10, 2016 (Solution Avaliable)</title><description>&lt;b&gt;By Raz A. on 8/10/2016 3:20:13 AM&lt;/b&gt;&lt;br&gt;I understand that you should check the compile flag if you want it to be added to the compilation and .exe .&lt;br&gt;&lt;br&gt;What i dont  understand is why should i use that flag if i am not refferencing the function?&lt;br&gt;&lt;br&gt;Can someone give an example which i need to set the compile flag  of a function even that the function is not referenced?  &lt;br&gt;&lt;br&gt;&lt;b&gt;By Raz A. on 8/10/2016 10:37:36 PM&lt;/b&gt;&lt;br&gt;Actually you already answered me in another thread....:&lt;br&gt;&lt;br&gt;s="func"&lt;br&gt;Proc=s&lt;br&gt;Proc()&lt;br&gt;&lt;br&gt;You will get a run -time error since at compile time proc=s does not know that s contain "Proc".&lt;br&gt;&lt;br&gt;so in this example ill need to check the compile flag of func().....&lt;br&gt;&lt;br&gt;&lt;b&gt;By Raz A. on 8/11/2016 3:33:59 AM&lt;/b&gt;&lt;br&gt;&lt;br&gt;&lt;br&gt;</description><link>https://www.marvintest.com/Forums/Thread.aspx?ID=357</link><pubDate>8/10/2016 3:20:13 AM</pubDate></item><item><title>"Check All” vs “Build/ReBuild” in ATEasy - Created on Tuesday, August 9, 2016 (Solution Avaliable)</title><description>&lt;b&gt;By Raz A. on 8/9/2016 5:10:37 AM&lt;/b&gt;&lt;br&gt;I use ATEasy version 6-136b.

In one of the projects i use a third party driver that is password protected, so i cannot look at its code.

when i want to compile and check for errors (by clicking "Check All") i am getting:

Compiling ...
ST
System
A2D
Compiler error #570: Expected integer expression, found in &amp;#39;A2D.API_RemoteRegister&amp;#39; in line 3


But, when i am trying to compile &amp;amp; build the project (by clicking "Build" or "Rebuild all"), i get this:

    ------ Rebuild All started: Project: ST ------
Compiling ...
ST
System
A2D
No Errors

Creating &amp;#39;D:\ST.exe&amp;#39; ...
Done.


When i run the ST.EXE everything works fine.

How can it be? in both cases i see that its compiling the code (Compiling ...)&lt;br&gt;&lt;br&gt;&lt;b&gt;By DrATEasy (Ron Y.) on 8/9/2016 9:22:20 AM&lt;/b&gt;&lt;br&gt;Check All - checks all procedure no matter if they were referenced in your project. &lt;br&gt;Build and Rebuild All - only checks your project referenced procedures. &lt;br&gt;Since in your project you are not calling API_RemoteRegisterthe error you have will not shown.&lt;br&gt;&lt;br&gt;</description><link>https://www.marvintest.com/Forums/Thread.aspx?ID=356</link><pubDate>8/9/2016 5:10:37 AM</pubDate></item><item><title>Driver/Program Shortcut Compile Setting - Created on Thursday, August 4, 2016 (Solution Avaliable)</title><description>&lt;b&gt;By Ben W. on 8/4/2016 2:58:40 PM&lt;/b&gt;&lt;br&gt;Ronnie,

Is there any way to set the compile flag for all driver procedures at once? I was able to do this fairly quickly (compared to checking option in all procedures individually) using a find/replace command in a text editor with the text version of a driver file. However, if there is not another way, then I think it would be an excellent feature to add to ATEasy to be able to simply check a box in the driver shortcut in the system driver. This would allow multiple projects/system drivers to utilize the same driver file with different compile options. I understand there will most likely be a limitation that multiple copies of the same driver within the system driver will have to use the same setting, but that is the same as it currently stands. The same feature could be extended to program shortcuts and possibly system driver properties.  Let me know what you think.

Thanks,

Ben&lt;br&gt;&lt;br&gt;&lt;b&gt;By DrATEasy (Ron Y.) on 8/4/2016 3:24:29 PM&lt;/b&gt;&lt;br&gt;No there is no way  to set all of the procedure compile  However I don&amp;#39;t think it is needed since you can use Build, CheckAll command to make sure that all of the procedures compile (it will check everything), and when the driver is included in a project it only compiles the functions that are referenced which works faster and generates smaller memory footprint.&lt;br&gt;&lt;br&gt;&lt;b&gt;By Ben W. on 8/5/2016 4:39:05 PM&lt;/b&gt;&lt;br&gt;Ronnie,&lt;br&gt;&lt;br&gt;Procedures are not always automatically compiled in the case of using a procedure variable type to dynamically call procedures/commands based on a built string. This is useful for making identical calls to multiple instances of instruments such as DMM1, DMM2, DMM3, etc. without having to explicitly call each driver interface. For example: &lt;br&gt;&lt;br&gt;For i = 1 To 5&lt;br&gt;    Proc = "DMM" + Str(i) + " Measure"&lt;br&gt;    MeasurementArray[i-1] = Proc()&lt;br&gt;Next&lt;br&gt;&lt;br&gt;will be equivalent to:&lt;br&gt;MeasurementArray[0] = DMM1 Measure()&lt;br&gt;MeasurementArray[1] = DMM2 Measure()&lt;br&gt;MeasurementArray[2] = DMM3 Measure()&lt;br&gt;MeasurementArray[3] = DMM4 Measure()&lt;br&gt;MeasurementArray[4] = DMM5 Measure()&lt;br&gt;&lt;br&gt;Code reuse and efficiency only increases as  the sequence of commands increases. The compiler is not quite smart enough to recognize the built string as a procedure that must be compiled. In some cases it might not be possible at all since it could rely on user input, a configuration file, etc. I&amp;#39;m suggesting as an ATEasy feature that if the driver shortcut could specify to compile all rather than on a per-procedure basis within the driver file, then unnecessary compilations wouldn&amp;#39;t need to be made for projects that share the driver but do not use dynamic procedure calls.&lt;br&gt;&lt;br&gt;Thanks,&lt;br&gt;&lt;br&gt;Ben&lt;br&gt;&lt;br&gt;&lt;b&gt;By DrATEasy (Ron Y.) on 8/5/2016 4:55:24 PM&lt;/b&gt;&lt;br&gt;Yes, if you are using procedure variables and you are setting them using a string literal instead of the procedure literal,  ATEasy will not compile it since the expression is evaluated at run time and not during compile. I will add your request to our suggestion list.&lt;br&gt;&lt;br&gt;&lt;b&gt;By Raz A. on 8/10/2016 5:03:55 AM&lt;/b&gt;&lt;br&gt;Are you sure that when you use procedure variables and use them as a string literal it wont compile it?

i just tried to do to something like this:

Proc = "func"
Proc()

func() is a function that just prints "i am compiled"

when i run the program it prints "i am compiled", although compile flag of func() isnt set, how can it be?

ive attached the sources
&lt;br&gt;&lt;br&gt;&lt;b&gt;By DrATEasy (Ron Y.) on 8/10/2016 12:21:03 PM&lt;/b&gt;&lt;br&gt;Yes [Raz], this will work (procedure string literal generates a refrence), however if you did:&lt;br&gt;&lt;br&gt;s="func"&lt;br&gt;Proc=s&lt;br&gt;Proc()&lt;br&gt;&lt;br&gt;You will get a run -time error since at compile time proc=s does not know that s contain "Proc".&lt;br&gt;&lt;br&gt;&lt;br&gt;&lt;b&gt;By Raz A. on 8/11/2016 3:34:49 AM&lt;/b&gt;&lt;br&gt;Ok, got it!&lt;br&gt;&lt;br&gt;&lt;b&gt;By Ben W. on 8/23/2016 1:25:04 PM&lt;/b&gt;&lt;br&gt;Thanks, Ronnie. By the way, I don't seem to be getting email notifications for any replies to forum posts. I selected the option to receive them but so far have not actually gotten any.&lt;br&gt;&lt;br&gt;&lt;b&gt;By DrATEasy (Ron Y.) on 8/23/2016 3:05:08 PM&lt;/b&gt;&lt;br&gt;Should work now.&lt;br&gt;&lt;br&gt;</description><link>https://www.marvintest.com/Forums/Thread.aspx?ID=355</link><pubDate>8/4/2016 2:58:40 PM</pubDate></item><item><title>"Check all" Warning/Error message - Created on Monday, August 1, 2016 (Solution Avaliable)</title><description>&lt;b&gt;By Raz A. on 8/1/2016 10:45:21 PM&lt;/b&gt;&lt;br&gt;When i click "Check All" i get this message from one of the drivers:

    Merged argument list, including command fill-in arguments, for command call which generated error message below :
        StringGetIndexIn( obj . Name,,,mmNumeric,)

But eventually i get "No Errors" - so i guess that its a warning.

Can some one shed some light on what is this warning about?

What does it mean about this function?&lt;br&gt;&lt;br&gt;&lt;b&gt;By DrATEasy (Ron Y.) on 8/2/2016 9:18:47 AM&lt;/b&gt;&lt;br&gt;You have a mismatch between the command procedure arguments and the procedure (command fill ins are the procedure arguments entered at the bottom of the command view) .&lt;br&gt;You can fix it by unassign and reassign the procedure to the command Or by fixing the argument.&lt;br&gt;&lt;br&gt;&lt;br&gt;</description><link>https://www.marvintest.com/Forums/Thread.aspx?ID=354</link><pubDate>8/1/2016 10:45:21 PM</pubDate></item><item><title>Windows 10? - Created on Tuesday, July 26, 2016 (Solution Avaliable)</title><description>&lt;b&gt;By Bryan C. on 7/26/2016 2:26:57 PM&lt;/b&gt;&lt;br&gt;I am surprised that I find nothing in either the user forums or in the knowledge base with the phrase "Windows 10". Given that it is now the mainstream version of Windows, I would expect Marvin Test to be providing some information about using their products under this version. I do see mention of Windows 10 related to the Hardware Access Driver here: http://www.marvintest.com/Downloads.aspx?prodId=12&amp;amp;search=package Is there anything else I have missed?&lt;br&gt;&lt;br&gt;&lt;b&gt;By DrATEasy (Ron Y.) on 7/26/2016 2:35:12 PM&lt;/b&gt;&lt;br&gt;We are finalizing ATEasy 9 Build 154 and it will be available in a few days. The new version will support Windows 10. It will also be released with ATEasy v10 beta 2, so you can see some of the new features included (installed side by side with v9).&lt;br&gt;&lt;br&gt;For now, if you like to use ATEasy 9 under Windows 10, there is a pre-release of ATEasy that supports Windows 10, use the following link to download it:  http://www.marvintest.com/Search.aspx?kw=ATEasy9-152d&lt;br&gt;&lt;br&gt;&lt;br&gt;&lt;b&gt;By Bryan C. on 8/3/2016 7:53:44 PM&lt;/b&gt;&lt;br&gt;Thanks Ron!&lt;br&gt;&lt;br&gt;&lt;b&gt;By Cristiano F. on 8/4/2016 11:31:18 AM&lt;/b&gt;&lt;br&gt;Is there any possibility to be released a version of ATEasy 7 which is supported by Windows 10?&lt;br&gt;&lt;br&gt;&lt;b&gt;By DrATEasy (Ron Y.) on 8/4/2016 11:43:48 AM&lt;/b&gt;&lt;br&gt;[Quote= Cristiano F. wrote:&lt;br&gt;Is there any possibility to be released a version of ATEasy 7 which is supported by Windows 10? =Quote]&lt;br&gt;&lt;br&gt;No, At this point we are only modifying version 9 or newer. Version 7 was released a few years back and not expected to have any service updates.&lt;br&gt;&lt;br&gt;</description><link>https://www.marvintest.com/Forums/Thread.aspx?ID=353</link><pubDate>7/26/2016 2:26:57 PM</pubDate></item><item><title>ATEasy v9.0 build 152b trial ????? - Created on Thursday, July 21, 2016 (Solution Avaliable)</title><description>&lt;b&gt;By Vincent G. on 7/21/2016 1:41:01 AM&lt;/b&gt;&lt;br&gt;Hi community, 

This is my first post here, i want to evaluate ATEasy being NI TestStand user.
My issue is about the trial licence which can&amp;#39;t activate.... 
The License Setup dialog box ask me if i want a trial, i click OK then got a beautiful message :
"No licence was found".....

I downloaded ATEasy from marvintest website so i don&amp;#39;t have anu Product Number ID...

Any hints on what&amp;#39;s the issue. ?
Best Regards ,
Vincent GIRAUD&lt;br&gt;&lt;br&gt;&lt;b&gt;By Orr K. on 7/21/2016 7:26:01 AM&lt;/b&gt;&lt;br&gt;Vincent,&lt;br&gt;&lt;br&gt;There are two things you can try. The first will be if you need a released version of software  and the second is if you are willing to work with a pre-release.&lt;br&gt;&lt;br&gt;1.  First make sure that there are no other error messages when you open ATEasy. If you see "Unable to open HW.sys/VXD" then follow this knowledge base to fix it. https://www.marvintest.com/KnowledgeBase/KBArticle.aspx?ID=266 When you get the No License found message Click Ok. The License Setup dialog box opens and you should see a drop down list. Change the selection from 30-day license to Single License. Then change it back to 30-day license and click ok. It should say successfully installed license.&lt;br&gt;&lt;br&gt;2. The second thing you can do is install the latest pre-release. https://www.marvintest.com/Search.aspx?kw=pr-13 This should fix your issue without having to do the previous solution.&lt;br&gt;&lt;br&gt;Regards,&lt;br&gt;Orr&lt;br&gt;&lt;br&gt;&lt;b&gt;By DrATEasy (Ron Y.) on 7/26/2016 6:03:27 PM&lt;/b&gt;&lt;br&gt;Another suggestion is to Run ATEasy as Administrator: Right Click On ATEasy Shortcut and select Run as Administrator.&lt;br&gt;&lt;br&gt;</description><link>https://www.marvintest.com/Forums/Thread.aspx?ID=352</link><pubDate>7/21/2016 1:41:01 AM</pubDate></item><item><title>Ignoring Specific Warnings or Warning Instances - Created on Tuesday, June 21, 2016 (Solution Avaliable)</title><description>&lt;b&gt;By Ben W. on 6/21/2016 12:32:18 PM&lt;/b&gt;&lt;br&gt;Hello,&lt;br&gt;&lt;br&gt;I was wondering if during the build process it would be possible to have ATEasy suppress/ignore specific warning codes or even specific instances of warnings if there are multiple warnings of the same warning code. For example, a driver form variable is not referenced in a program but another program may reference that variable. The unused variable warning appears in the program that doesn&amp;#39;t use the variable. I know I can disable all warnings or just unused variable warnings, but that could hide warnings that I&amp;#39;d like to be shown.&lt;br&gt;&lt;br&gt;References:&lt;br&gt;https://msdn.microsoft.com/en-us/library/dn782850.aspx&lt;br&gt;http://stackoverflow.com/questions/857741/suppressing-obsolete-warnings-in-vb-net&lt;br&gt;&lt;br&gt;Thanks,&lt;br&gt;&lt;br&gt;Ben&lt;br&gt;&lt;br&gt;&lt;br&gt;&lt;b&gt;By DrATEasy (Ron Y.) on 6/23/2016 10:22:51 AM&lt;/b&gt;&lt;br&gt;There is no way to mask the unused variable warning, except from adding a refrence to it in the driver.&lt;br&gt;&lt;br&gt;I think we can improve this by adding ignore flags similar to the one the C compiler has. I will add it to our suggestion list. &lt;br&gt;&lt;br&gt;We probably need two ignore flags:  In the case of private driver variable, the warning is always correct since the variable cannot be reached, if  the variable is a public driver then it could be that another project will be using it. In any case, If you are defining a driver variable to be used from outside of the driver, it&amp;#39;s a good practice to have a set/get commands/procedures to use it, instead of accessing it directly.&lt;br&gt;&lt;br&gt; &lt;br&gt;&lt;br&gt;</description><link>https://www.marvintest.com/Forums/Thread.aspx?ID=349</link><pubDate>6/21/2016 12:32:18 PM</pubDate></item><item><title>Increasing the max number of values in cbUutCount - Created on Monday, May 2, 2016 (Solution Avaliable)</title><description>&lt;b&gt;By Andrew Y. on 5/2/2016 8:46:34 AM&lt;/b&gt;&lt;br&gt;I am trying to increase the UUT Count max value in the test executive to something larger or smaller than 10:&lt;br&gt;&lt;br&gt;1) I tried the properties&amp;gt;&amp;gt;list but it is read only&lt;br&gt;&lt;br&gt;2) I tried app.UUTcount = 20 in the system&amp;gt;&amp;gt;OnInit  &lt;br&gt;&lt;br&gt;thinking the following code would increase it, but it doesn&amp;#39;t.&lt;br&gt;&lt;br&gt;testxexec&amp;gt;&amp;gt;OnLoad &lt;br&gt;&lt;br&gt;! initialize UUT Count&lt;br&gt;f_iUutCount=app.UutCount&lt;br&gt;&lt;br&gt;if f_iUutCount&amp;gt;cbUutCount.ListCount&lt;br&gt;	cbUutCount.Text=Str(f_iUutCount)&lt;br&gt;else&lt;br&gt;	cbUutCount.ListIndex=f_iUutCount-1&lt;br&gt;endif&lt;br&gt;&lt;br&gt;&lt;br&gt;&lt;br&gt;3) Programmtically I can  TestExec Execution SetUutCount(14) to the system&amp;gt;&amp;gt;OnInit which makes 14 UUTs, but I would like to select the number of UUTs at runtime.&lt;br&gt;&lt;br&gt;Thanks,&lt;br&gt;Andrew&lt;br&gt;&lt;br&gt;&lt;b&gt;By Orr K. on 5/2/2016 11:03:05 AM&lt;/b&gt;&lt;br&gt;Andrew,&lt;br&gt;&lt;br&gt;In TestExec you can go to  Program-&amp;gt;Select and change the UUT Count as you suggested. You can type in whatever value you want. The drop down list only includes only 10 values, but you can type in whatever number you please. The 1-10 values are default and hard coded. There is currently no function to dynamically add to the UUT Count list.&lt;br&gt;&lt;br&gt;Regards,&lt;br&gt;Orr &lt;br&gt;&lt;br&gt;</description><link>https://www.marvintest.com/Forums/Thread.aspx?ID=345</link><pubDate>5/2/2016 8:46:34 AM</pubDate></item><item><title>String Split - Created on Friday, March 25, 2016 (Solution Avaliable)</title><description>&lt;b&gt;By Sean S. on 3/25/2016 6:16:06 AM&lt;/b&gt;&lt;br&gt;Does ATEasy have the equivalent of a String Split option. I have a String XXXXXXX-XXX but it could vary in XXXX-X, I need to be able to pick the values before and after the "-". Any suggestions?&lt;br&gt;&lt;br&gt;&lt;b&gt;By Paul T. on 3/25/2016 6:20:34 AM&lt;/b&gt;&lt;br&gt;Hi Sean,&lt;br&gt;&lt;br&gt;Actually, you&amp;#39;ve named the procedure yourself. :)&lt;br&gt;Open ATEasy, type F1 and search for "split" procedure. &lt;br&gt;I think it was added starting ATEasy v7.&lt;br&gt;&lt;br&gt;Regards,&lt;br&gt;Paul T.&lt;br&gt;&lt;br&gt;&lt;b&gt;By Sean S. on 3/25/2016 9:09:17 AM&lt;/b&gt;&lt;br&gt;That is to funny. I looked all over the place, but didn&amp;#39;t see it linked in the Help Menu to the other "String tools". Thank You so much, have a great weekend. &lt;br&gt;&lt;br&gt;</description><link>https://www.marvintest.com/Forums/Thread.aspx?ID=344</link><pubDate>3/25/2016 6:16:06 AM</pubDate></item><item><title>Can ATEasy create 64-bit applications? - Created on Monday, March 7, 2016 (Solution Avaliable)</title><description>&lt;b&gt;By Christopher C. on 3/7/2016 6:13:49 AM&lt;/b&gt;&lt;br&gt;We are looking into creating an ATEasy program that will require large amounts of memory.  Can ATEasy generate a 64-bit application so that we can use lots of memory?  I am currently using ATEasy version 8.0 (build 148b).&lt;br&gt;&lt;br&gt;&lt;b&gt;By Orr K. on 3/7/2016 7:59:18 AM&lt;/b&gt;&lt;br&gt;ATEasy is a 32-bit application, therefore it cannot create 64-bit EXE&amp;#39;s. How much memory are you looking to use?&lt;br&gt;&lt;br&gt;&lt;b&gt;By Yitzhak S. on 1/9/2019 1:37:41 AM&lt;/b&gt;&lt;br&gt;Hi,&lt;br&gt;you know if I can use .Net (dll) that build (compile) as x64 on any version of ATEazy?&lt;br&gt;&lt;br&gt;&lt;b&gt;By DrATEasy (Ron Y.) on 1/9/2019 11:23:28 AM&lt;/b&gt;&lt;br&gt;Yes, ATEasy X will load .Net Assemblies compiled with Target Platform set to Any CPU, X86 or X64. &lt;br&gt;&lt;br&gt;In addition, future versions of ATEasy (v11 or newer) will have 32 and 64 bit IDE.&lt;br&gt;&lt;br&gt;</description><link>https://www.marvintest.com/Forums/Thread.aspx?ID=343</link><pubDate>3/7/2016 6:13:49 AM</pubDate></item><item><title>Problem with .NET 4.5 assemblies inserted into ATEasy - Created on Tuesday, February 16, 2016</title><description>&lt;b&gt;By Paul T. on 2/16/2016 1:40:38 PM&lt;/b&gt;&lt;br&gt;Hi!  
  
I am trying to write a driver for the Konica Minolta LS-160 Luminance Meter.   
 After I installed .NET Framework 4.5 (because the SDK is based on .NET 4.5), I have downloaded the SDK from the manufacturer&amp;#39;s website (   http://www.konicaminolta.com/instruments/download/software/light/lc-misdk/index.html  )  and I&amp;#39;ve imported the LC-MISDK.dll assembly to ATEasy. The import is OK and the new class instantiate is OK, but when I try to call the Connect() method (to connect the PC with the instrument via USB - Virtual COM), the error attached is annoying me and it doesn&amp;#39;t permit any further work.  
  
Anybody got an idea about a possible workaround to this issue? I don&amp;#39;t know where the "IDeviceHandlerService" error comes from...  
  
  
Thanks,  
Paul  
  
    &lt;br&gt;&lt;br&gt;&lt;b&gt;By Victor B. on 2/19/2016 4:40:51 PM&lt;/b&gt;&lt;br&gt;Post some of your code leading up to the error.  Did you call LightColorMISDK.Initialize() first?&lt;br&gt;&lt;br&gt;&lt;b&gt;By Paul T. on 2/20/2016 11:03:24 AM&lt;/b&gt;&lt;br&gt;Hi Victor,

Yes, I called LightColorMISDK.Initialize() first but I get the same error when I try to connect to the instrument. :-(
Actually, the SDK documentation states that I need to call GetInstance() first, after which a Connect() should perform just fine.

Here is my code:
sdk = Driver.LC_MISDK.LightColorMISDK.GetInstance()
sdk.Initialize()   ! Added at your suggestion, but no use
try
    ret = sdk.Connect()
catch
    MsgBox("Error code is: "+str(ret.errorCode,10))
endtry

, where sdk variable is of type LightColorMISDK and ret is ReturnMessage.
When the Connect() method is run, I constantly get the IDeviceHandlerService error, as I stated before.

Any other idea?

Thank you for your time,
Paul

&lt;br&gt;&lt;br&gt;&lt;b&gt;By Victor B. on 2/22/2016 8:00:31 PM&lt;/b&gt;&lt;br&gt;I tried real quick but I wasn&amp;#39;t able to duplicate the error you saw, my system was looking for SimpleInjector.dll.  Searching the web gives me the impression that the error, &amp;#39;No registration for type IDeviceHandlerService ...&amp;#39; , was originated from the SimpleInjector API.  But I&amp;#39;m not sure why.&lt;br&gt;&lt;br&gt;My best suggestion to you would be to create an incident so the engineers can take a look at this.&lt;br&gt;&lt;br&gt;&lt;b&gt;By Paul T. on 3/7/2016 6:16:30 AM&lt;/b&gt;&lt;br&gt;Thank you, Victor. I will create an incident.&lt;br&gt;&lt;br&gt;Have a nice day!&lt;br&gt;&lt;br&gt;Paul&lt;br&gt;&lt;br&gt;&lt;b&gt;By Mike R. on 7/27/2016 7:47:05 AM&lt;/b&gt;&lt;br&gt;Curios if you have made any progress on this issue.  I am having the same problem with the CS-150.  Using the C# example provided in the LC-MISDK, the communication works fine.  When trying to implement the assembly in Matlab, I receive the error:  No registration for type IDeviceHandlerService could be found.&lt;br&gt;&lt;br&gt;&lt;b&gt;By Kevin L. on 8/1/2016 12:21:59 PM&lt;/b&gt;&lt;br&gt;The LC-MISDK uses a Singleton pattern to GetInstance.  The 50 dll files must also all be in the directory with your .exe file, as well as calcolor and IDMap directories.  Some support can be requested via vendors&amp;#39; website  http://sensing.konicaminolta.us/contact-us/general-inquiries/     &lt;br&gt;&lt;br&gt;&lt;b&gt;By Conor M. on 7/25/2018 2:30:39 AM&lt;/b&gt;&lt;br&gt;Has there been any update with this issue. I am trying to communicate with my LS-160 via MatLab and am having the same IDeviceHandlerService error. If this issue has been solved any help would be appreciated.&lt;br&gt;&lt;br&gt;&lt;b&gt;By Paul T. on 7/25/2018 2:50:15 AM&lt;/b&gt;&lt;br&gt;Hi Conor,&lt;br&gt;&lt;br&gt;It's been a while since then, but try to place your application file/project (Matlab or whatever) in the same folder with the installed DLLs ("LC-MISDK.dll" and others). Also, be sure that you import the LC-MISDK.dll from this location (same folder as the application).&lt;br&gt;Try this and tell us if it worked for you.&lt;br&gt;&lt;br&gt;Best regards,&lt;br&gt;Paul&lt;br&gt;&lt;br&gt;</description><link>https://www.marvintest.com/Forums/Thread.aspx?ID=342</link><pubDate>2/16/2016 1:40:38 PM</pubDate></item><item><title>Licence instalation problem - Created on Monday, February 8, 2016 (Solution Avaliable)</title><description>&lt;b&gt;By Yeruham H. on 2/8/2016 1:34:44 AM&lt;/b&gt;&lt;br&gt;I try to install ATEasy 8 on PC with WIN7 64 bit.&lt;br&gt;Licence is USB plug.&lt;br&gt;&lt;br&gt;I install the "Sentinel Protection Installer 7.6.6", plug the dungle and run ATEasy.&lt;br&gt;&lt;br&gt;ATEasy reports that there is no plug connected to the PC.&lt;br&gt;I try to set "Haedware Key" and "USB", it&amp;#39;s not work.&lt;br&gt;&lt;br&gt;What should I do?&lt;br&gt;&lt;br&gt;Thanks.&lt;br&gt;&lt;br&gt;&lt;b&gt;By Victor B. on 2/8/2016 6:45:40 AM&lt;/b&gt;&lt;br&gt;ATEasy may not be able to recognize the dongle without the correct software.&lt;br&gt;&lt;br&gt;Get the latest hardware key setup here: http://www.marvintest.com/Search.aspx?kw=HardwareKeySetup&lt;br&gt;&lt;br&gt;</description><link>https://www.marvintest.com/Forums/Thread.aspx?ID=341</link><pubDate>2/8/2016 1:34:44 AM</pubDate></item><item><title>File I/0 Functions - Created on Tuesday, November 10, 2015 (Solution Avaliable)</title><description>&lt;b&gt;By Ionut S. on 11/10/2015 1:20:48 AM&lt;/b&gt;&lt;br&gt;Hello!&lt;br&gt;I created a file in "c:\\x.txt" and after with a form I created 2 buttons ( write and read) to write and read from that file and 1 textbox! &lt;br&gt;I want to know how can I write in textbox many times and when I&amp;#39;ll read from the file (pressing Read button), to be capable to find all my TEXT that I saved before! &lt;br&gt;I tried with FileSeek and FileEOF, but still not working!&lt;br&gt;Thank you! &lt;br&gt;&lt;br&gt;Have a nice day! &lt;br&gt;&lt;br&gt;&lt;b&gt;By Orr K. on 11/10/2015 8:23:04 AM&lt;/b&gt;&lt;br&gt;Hi.&lt;br&gt;&lt;br&gt;First of all you need to make sure you have Read and Write access to the file. In this case I am creating the file from scratch every time.&lt;br&gt;&lt;br&gt;lFileMode=aFileModeCreateNew or aFileModeRead or aFileModeWrite&lt;br&gt;textFile=FileOpen(GetDir(aGetDirCurrent)+"\\FileRead_"+str(Tick())+".txt",lFileMode)&lt;br&gt;&lt;br&gt;Second, when reading from the file you need to select the beginning location of the file if you want to read all the files contents.&lt;br&gt;&lt;br&gt;FileSeek(textFile,0,aFileOriginBegin)&lt;br&gt;lBytes=FileRead(textFile,sText)&lt;br&gt;tbTextFileView.Text=sText&lt;br&gt;&lt;br&gt;I attached an example. &lt;br&gt;&lt;br&gt;Regards,&lt;br&gt;Orr&lt;br&gt;&lt;br&gt;</description><link>https://www.marvintest.com/Forums/Thread.aspx?ID=340</link><pubDate>11/10/2015 1:20:48 AM</pubDate></item><item><title>Temperature Testing - Created on Thursday, October 8, 2015 (Solution Avaliable)</title><description>&lt;b&gt;By Andrew Y. on 10/8/2015 12:20:21 PM&lt;/b&gt;&lt;br&gt;I am trying to run 4 units in a over temperature and just can&amp;#39;t seem to grasp the flow control.  I have the profile driver in the project which allows me to run a profile.  I created a project called temperature and added tests called cold, hot and room.  This allowed me, per unit, to add temperature sets to the test profile.&lt;br&gt;&lt;br&gt;However I programmed myself into a corner, with 4 UUTs if I put any of those temperature tests into the profile it will execute the test-cold-test-hot-test-room for the UUT, then switch to the next UUT then having to re-soak the UUT at that Temp.  If I put any of the temperature stuff into the UUT project the same thing will happen.  &lt;br&gt;&lt;br&gt;The desired result is:&lt;br&gt;Goto Room Temp&lt;br&gt;UUT1 Test, UUT2 Test, UUT3 Test, UUT4 Test&lt;br&gt;Goto Cold Temp&lt;br&gt;UUT1 Test, UUT2 Test, UUT3 Test, UUT4 Test&lt;br&gt;Goto Hot Temp&lt;br&gt;UUT1 Test, UUT2 Test, UUT3 Test, UUT4 Test&lt;br&gt;Goto Room Temp&lt;br&gt;&lt;br&gt;I know it there has to be a simple solution involving the test executive driver, but just can&amp;#39;t see it.  Any help would be great.&lt;br&gt;&lt;br&gt;Thanks,&lt;br&gt;Andrew&lt;br&gt;&lt;br&gt;&lt;b&gt;By Andrew Y. on 10/8/2015 12:43:42 PM&lt;/b&gt;&lt;br&gt;Found it.&lt;br&gt;&lt;br&gt;Need to set:&lt;br&gt;aUutSwitchLevelTask to 2.&lt;br&gt;&lt;br&gt;Very clever.....&lt;br&gt;&lt;br&gt;</description><link>https://www.marvintest.com/Forums/Thread.aspx?ID=339</link><pubDate>10/8/2015 12:20:21 PM</pubDate></item><item><title>Menu Bar missing in Development Environment - Created on Tuesday, August 4, 2015 (Solution Avaliable)</title><description>&lt;b&gt;By Kenny K. on 8/4/2015 5:11:18 AM&lt;/b&gt;&lt;br&gt;My menu bar has disappeared and now I cannot get it back.  I am on a laptop screen, where the last time I opened it I was using a docking station with larger resolution (same laptop).&lt;br&gt;&lt;br&gt;I used to be able to right click at the top and get to some properties, but now I cannot even do that.  I havent been able to located the ini file to see if there is a setting in there to mess with.&lt;br&gt;&lt;br&gt;Is there a keyboard shortcut to get the menu bar back?&lt;br&gt;&lt;br&gt;&lt;br&gt;&lt;br&gt;&lt;b&gt;By DrATEasy (Ron Y.) on 8/4/2015 9:18:02 AM&lt;/b&gt;&lt;br&gt;You can delete or rename the following registry key (Start, Run..., type RegEdit.exe):&lt;br&gt;&lt;br&gt;For ATEasy 8 or lower version:&lt;br&gt;HKEY_CURRENT_USER\SOFTWARE\Marvin Test Solutions\ATEasy\Workspace\Full&lt;br&gt;&lt;br&gt;For ATEasy 9:&lt;br&gt;HKEY_CURRENT_USER\SOFTWARE\Marvin Test Solutions\ATEasy 9.0\Workspace\Full&lt;br&gt;&lt;br&gt;This will restore the default menu/toolbar etc.&lt;br&gt;&lt;br&gt;Ronnie&lt;br&gt;&lt;br&gt;&lt;br&gt;&lt;br&gt;&lt;b&gt;By Kenny K. on 8/5/2015 3:17:57 AM&lt;/b&gt;&lt;br&gt;[Quote= DrATEasy (Ron Y.) wrote:&lt;br&gt;You can delete or rename the following registry key (Start, Run..., type RegEdit.exe):&lt;br&gt;&lt;br&gt;For ATEasy 8 or lower version:&lt;br&gt;HKEY_CURRENT_USER\SOFTWARE\Marvin Test Solutions\ATEasy\Workspace\Full&lt;br&gt;&lt;br&gt;For ATEasy 9:&lt;br&gt;HKEY_CURRENT_USER\SOFTWARE\Marvin Test Solutions\ATEasy 9.0\Workspace\Full&lt;br&gt;&lt;br&gt;This will restore the default menu/toolbar etc.&lt;br&gt;&lt;br&gt;Ronnie&lt;br&gt;&lt;br&gt; =Quote]&lt;br&gt;&lt;br&gt;This fixed it, but it was HKEY_CURRENT_USER\SOFTWARE\GeoTest\ATEasy\Workspace\Full&lt;br&gt;&lt;br&gt;&lt;b&gt;By Alex L. on 4/12/2023 10:30:55 AM&lt;/b&gt;&lt;br&gt;This solution didn't work for me on ATEasy 10. Any thoughts alternative solution for this?&lt;br&gt;&lt;br&gt;&lt;b&gt;By DrATEasy (Ron Y.) on 4/12/2023 10:35:35 AM&lt;/b&gt;&lt;br&gt;For ATEasy 10 delete the following key:&lt;br&gt;&lt;br&gt;HKEY_CURRENT_USER\Software\Marvin Test Solutions\ATEasy 10.0\Workspace&lt;br&gt;&lt;br&gt;Ronnie&lt;br&gt;&lt;br&gt;&lt;b&gt;By Alex L. on 4/12/2023 10:55:55 AM&lt;/b&gt;&lt;br&gt;Deleting that file never brought back the Menu but I was able to find an alternative solution.&lt;br&gt;&lt;br&gt;Pressing ALT + F brings back the menu bar and you can drag it back to the toolbar.&lt;br&gt;&lt;br&gt;&lt;b&gt;By Alex L. on 4/12/2023 11:04:34 AM&lt;/b&gt;&lt;br&gt;Deleting that file never brought back the Menu but I was able to find an alternative solution.&lt;br&gt;&lt;br&gt;Pressing ALT + F brings back the menu bar and you can drag it back to the toolbar.&lt;br&gt;&lt;br&gt;&lt;b&gt;By Alex L. on 4/12/2023 2:10:03 PM&lt;/b&gt;&lt;br&gt;This solution didn't work for me on ATEasy 10. Any thoughts alternative solution for this?&lt;br&gt;&lt;br&gt;&lt;b&gt;By DrATEasy (Ron Y.) on 4/12/2023 6:12:17 PM&lt;/b&gt;&lt;br&gt;This is not a file.  Follow these steps:&lt;br&gt;&lt;br&gt;1. Close ATEasy&lt;br&gt;2. Open Regedit from Windows Start, Run menu&lt;br&gt;3. Highlight the following key: HKEY_CURRENT_USER\Software\Marvin Test Solutions\ATEasy 10.0\_Workspace&lt;br&gt;4. Right click on that key and select Delete&lt;br&gt;5. Start ATEasy the menu and toolbar are all reset to their default state.&lt;br&gt;&lt;br&gt;Ronnie&lt;br&gt;&lt;br&gt;</description><link>https://www.marvintest.com/Forums/Thread.aspx?ID=338</link><pubDate>8/4/2015 5:11:18 AM</pubDate></item><item><title>New system setup of ATEasy 2.1d after harddisk damage - Created on Wednesday, July 8, 2015 (Solution Avaliable)</title><description>&lt;b&gt;By Dirk R. on 7/8/2015 5:03:40 AM&lt;/b&gt;&lt;br&gt;Hello,&lt;br&gt;I have to install everything new because the old HD crashes.&lt;br&gt;Now, with a new HD on the old system I installed Win98SE and it&amp;#39;s drivers (Grafic, Motherboard,...).&lt;br&gt;Then I installed ATEasy 2.1d without problems.&lt;br&gt;&lt;br&gt;But:&lt;br&gt;When I start ATEasy it detects the hardware key and it&amp;#39;s serial number. I enter the password but I&amp;#39;m missing the complete "Edit" menu, the "Save" and "Printing" entries in "File" menu and the "Defaults" entry in "Utilities" menu. It seems to be at a user level 1 not 3.&lt;br&gt;When I remove the hardware key ATEasy starts in Demo mode but all menu items appear.&lt;br&gt;&lt;br&gt;At the old system we have all menus with hardware key installed.&lt;br&gt;Do anyone have a solution?&lt;br&gt;&lt;br&gt;Best regards,&lt;br&gt;Dirk&lt;br&gt;&lt;br&gt;&lt;b&gt;By DrATEasy (Ron Y.) on 8/3/2015 12:25:22 PM&lt;/b&gt;&lt;br&gt;Looks like you have an ATEasy 2.x  Run-Time dongle otherwise it should show the whole menu.&lt;br&gt;&lt;br&gt;Ronnie&lt;br&gt;&lt;br&gt;</description><link>https://www.marvintest.com/Forums/Thread.aspx?ID=337</link><pubDate>7/8/2015 5:03:40 AM</pubDate></item><item><title>ATEasy Forums Script Errors - Created on Tuesday, June 23, 2015</title><description>&lt;b&gt;By Jon C. on 6/23/2015 11:22:53 AM&lt;/b&gt;&lt;br&gt;I get a script errors when viewing any ATEasy Forum page.  See attached error message when I received when the ATEasy &amp;gt;&amp;gt; General page was loaded.&lt;br&gt;Do you have a suggestions for resolving this issue?&lt;br&gt;&lt;br&gt;&lt;b&gt;By DrATEasy (Ron Y.) on 6/23/2015 3:59:59 PM&lt;/b&gt;&lt;br&gt;I could not replicate this. Was the error URL is : https://www.marvintest.com/Forums/mainForum.aspx?CatID=3  ?&lt;br&gt;&lt;br&gt;&lt;br&gt;&lt;b&gt;By Victor B. on 6/24/2015 8:30:16 AM&lt;/b&gt;&lt;br&gt;What browser version are you using?  Do you or your company block scripting (Java, ActiveX, Active Scripting)?&lt;br&gt;&lt;br&gt;&lt;b&gt;By Jon C. on 6/30/2015 3:24:05 PM&lt;/b&gt;&lt;br&gt;I get the error on every page that that loads.  The script error popup always indicates the error is " &amp;#39;FB&amp;#39; is undefined".  The line value sometimes changes, I have not seen the Char value or Code value change.  URL CatID= value will change depending on what page is loaded.  Other users at my company do not have this issue.  I am using IE11, viewing what is blocked by the company is hidden.  &lt;br&gt;&lt;br&gt;The &amp;#39;FB&amp;#39; in page source code is related to Facebook.  Could Facebook blocking be the issue causing script errors?&lt;br&gt;&lt;br&gt;&lt;br&gt;&lt;b&gt;By DrATEasy (Ron Y.) on 7/1/2015 12:01:07 PM&lt;/b&gt;&lt;br&gt;Seems like it a browser settings issue. I suggest to try another browser, machine or check the following article for troubleshooting this issue:&lt;br&gt;&lt;br&gt;https://support.microsoft.com/en-us/kb/308260#cause&lt;br&gt;&lt;br&gt;&lt;br&gt;</description><link>https://www.marvintest.com/Forums/Thread.aspx?ID=336</link><pubDate>6/23/2015 11:22:53 AM</pubDate></item><item><title>Executing Tasks - Created on Tuesday, June 16, 2015</title><description>&lt;b&gt;By Paul J. on 6/16/2015 8:50:08 AM&lt;/b&gt;&lt;br&gt;Hi,
      I don&amp;#39;t want the user to be able to remove tests from a task so I want to execute complete tasks. Using TestExec I cant&amp;#39; stop the user from de-selecting tests so I am writing my own Test Executive that lists only Tasks to execute. It&amp;#39;s based it on the TestExecMini example. When the Task is selected and the cbTask button is pressed, I can get the task but how do I execute all of the tests in the task? 

So far I have this, will this work? Will the For loop wait till the test is executed?...or should each test call the next one?

iTask = itemData
tsk = prg.Tests(iTask)
for ITest = 0 to tsk.TestsCount-1
        tst=tsk.Tests(iTest)
       Task iTask+1  ITest+1
next

Thanks,
Paul
&lt;br&gt;&lt;br&gt;&lt;b&gt;By DrATEasy (Ron Y.) on 6/16/2015 9:09:37 AM&lt;/b&gt;&lt;br&gt;This code will not work since the task statement does not return after executing the task/test. You will need to cjheck the next test in an event such OnEnd Test or better use the option described here.&lt;br&gt;&lt;br&gt;You need to use the TestExe option to prevent the user from selecting or un-checking tests. The option is called: "Run Selection Level ". You can get to the option from The test EXecutive Tools menu, Customize, Options. Set the option to None, to prevent users from checking/unchecking tests. &lt;br&gt;&lt;br&gt;Ronnie&lt;br&gt;&lt;br&gt;&lt;b&gt;By Paul J. on 6/16/2015 10:14:02 AM&lt;/b&gt;&lt;br&gt;Perfect!&lt;br&gt;Thank You for your help!!&lt;br&gt;&lt;br&gt;</description><link>https://www.marvintest.com/Forums/Thread.aspx?ID=335</link><pubDate>6/16/2015 8:50:08 AM</pubDate></item><item><title>Test Log field lengths - Created on Thursday, June 4, 2015 (Solution Avaliable)</title><description>&lt;b&gt;By Jon C. on 6/4/2015 11:49:57 AM&lt;/b&gt;&lt;br&gt;Is there a way to set the field lengths for Test Name and Pin so the printout of Test Logs contains what is displayed on the screen?&lt;br&gt;We need to be able to print up to 11 characters in the Pin field, and also need longer Test Names.&lt;br&gt;The text format truncates the displayed value to 18 characters for Test Name and 6 characters for Pin.&lt;br&gt;&lt;br&gt;Thank you.&lt;br&gt;&lt;br&gt;&lt;b&gt;By DrATEasy (Ron Y.) on 6/8/2015 10:56:34 AM&lt;/b&gt;&lt;br&gt;Did you look at the following article: http://www.marvintest.com/KnowledgeBase/KBArticle.aspx?ID=188 It explain  how to change the test log output in several ways.&lt;br&gt;&lt;br&gt;Ronnie&lt;br&gt;&lt;br&gt;</description><link>https://www.marvintest.com/Forums/Thread.aspx?ID=334</link><pubDate>6/4/2015 11:49:57 AM</pubDate></item><item><title>Print to Log Immediatly - Created on Tuesday, June 2, 2015 (Solution Avaliable)</title><description>&lt;b&gt;By Kenny K. on 6/2/2015 11:36:18 PM&lt;/b&gt;&lt;br&gt;The UUT sometimes is slow to respond to the IR command, which can cause a false failure on our RF test.  To prevent false failures, I will repeat the test up to two times if needed.&lt;br&gt;&lt;br&gt;I would like to inform the operator that a re-test is happening, however, it seems like the Print or Append statements only update the log after the test completes.&lt;br&gt;&lt;br&gt;With the append, the "Carrier Power too low, attempting to test again." is printed after the test result, and with the Print statement, it is printed before the test result.  But in both cases, it only shows up on the test log after the final test is run.&lt;br&gt;&lt;br&gt;Is there a way to have the test log update immediately during a test so that the operator knows what is happening?&lt;br&gt;&lt;br&gt;if (b_Temp = True) !If Set Test Mode IR command OK, run TX Test.&lt;br&gt;	!Loop twice if the carrier Power is too low&lt;br&gt;	i=0&lt;br&gt;	Repeat&lt;br&gt;	vi_IR_RunTransmitCarrierTest(e_CurrentTestPosition,Const_dSARefLevel,Const_dSAAtten,Const_dRSense,"105",Const_dSAExternalGain,st_Error,b_Temp,d_Temp2,d_Temp1,d_Temp4,d_Temp3,st_Error,1)&lt;br&gt;	handle_vi_error()&lt;br&gt;	!Check if carrier power is in range. Exit loop if in proper range.&lt;br&gt;	if((d_Temp1+Const_dTxCableLoss) &amp;lt; Const_dCarrierPowerMax and (d_Temp1+Const_dTxCableLoss) &amp;gt; Const_dCarrierPowerMin)&lt;br&gt;		st_WaterTestData[e_CurrentTestPosition].b_Retest = False !mark test as not a retest&lt;br&gt;		i=2 !Set i to greater than stement to exit loop&lt;br&gt;	else&lt;br&gt;		if((d_Temp1+Const_dTxCableLoss) &amp;lt; Const_dRetestCarrierPowerMax and (d_Temp1+Const_dTxCableLoss) &amp;gt; Const_dRetestCarrierPowerMin)!check if in retest range&lt;br&gt;			i=i+1  !increment counter&lt;br&gt;			Print ( "&amp;lt;P&amp;gt;&amp;lt;font size=\"3\" color=\"red\"&amp;gt;Carrier Power too low, attempting to test again.&amp;lt;/font&amp;gt;&amp;lt;P&amp;gt;")&lt;br&gt;			st_WaterTestData[e_CurrentTestPosition].b_Retest = True !mark test as a retest.&lt;br&gt;		else&lt;br&gt;			i=2  !Exit if not in retest range&lt;br&gt;		endif&lt;br&gt;	endif&lt;br&gt;	Until i &amp;gt; 1 !only loop twice&lt;br&gt;endif&lt;br&gt;&lt;br&gt;&lt;b&gt;By Michael W. on 6/3/2015 6:13:01 AM&lt;/b&gt;&lt;br&gt;I don&amp;#39;t know of a way to update the log immediately but I personally would use a modeless form to let the operator know what&amp;#39;s going on.&lt;br&gt;&lt;br&gt;&lt;b&gt;By Victor B. on 6/3/2015 7:57:25 AM&lt;/b&gt;&lt;br&gt;Use the Print statement to add your message to the print queue.  Then follow it with the statement &amp;#39;Log.Flush()&amp;#39;.  Log.Flush() will force all data in the print queue to be printed to the log immediately.  Log.Flush() does take a few milliseconds so it can slow your test program down if it is overused.&lt;br&gt;&lt;br&gt;Regards,&lt;br&gt;Victor Brode &lt;br&gt;&lt;br&gt;</description><link>https://www.marvintest.com/Forums/Thread.aspx?ID=333</link><pubDate>6/2/2015 11:36:18 PM</pubDate></item><item><title>Calling QTP ( UFT ) from ATEasy - Created on Sunday, May 17, 2015 (Solution Avaliable)</title><description>&lt;b&gt;By Nadav C. on 5/17/2015 1:53:07 AM&lt;/b&gt;&lt;br&gt;Hello professional users!&lt;br&gt;I have question about using .NET assembly from ATEasy&lt;br&gt;I created .NET assembly dll that have dependecy Interop.QuickTest.dll ( because i use ActiveX object (COM) of QTP.&lt;br&gt;My problem, that when i use assembly in ATEasy, I get message that :&lt;br&gt;run time error #420 could not load file or assambly "Interop.QuickTest.dll"&lt;br&gt;&lt;br&gt;I work with ATEasy 8&lt;br&gt;&lt;br&gt;P.S. B.T.W - why i can&amp;#39;t use COM of QTP directly from ATEasy, because it not shown in the list of ActiveX objects, and i haven&amp;#39;t browse option to show when dll is found.&lt;br&gt;&lt;br&gt;Thanks,&lt;br&gt;Shlomi and Nadav from Corning Mobile Access (Israel)&lt;br&gt;&lt;br&gt;&lt;b&gt;By DrATEasy (Ron Y.) on 5/18/2015 10:33:00 AM&lt;/b&gt;&lt;br&gt;Apparently this is a common issue with QTP/ActiveX. You should be able to use teh ActiveX directly. See if one of these can help:&lt;br&gt;&lt;br&gt;https://www.google.com/search?q=QTP&amp;amp;oq=QTP&amp;amp;aqs=chrome..69i57j69i61.312j0j4&amp;amp;sourceid=chrome&amp;amp;es_sm=122&amp;amp;ie=UTF-8#q=qtp+activex+objects+not+recognized&lt;br&gt;&lt;br&gt;http://www.knowledgeinbox.com/articles/qtp/object-identification/identifying-custom-windows-control/&lt;br&gt;&lt;br&gt;Also make sure the library  is registered (regsrvr32).&lt;br&gt;&lt;br&gt;&lt;br&gt;</description><link>https://www.marvintest.com/Forums/Thread.aspx?ID=332</link><pubDate>5/17/2015 1:53:07 AM</pubDate></item><item><title>Change Font and Text Color for print statement in TestLog - Created on Thursday, May 14, 2015</title><description>&lt;b&gt;By Kenny K. on 5/14/2015 8:33:19 AM&lt;/b&gt;&lt;br&gt;Two Part Question:&lt;br&gt;&lt;br&gt;The customer has asked that the test sequence abort if the Firmware version on the UUT does not match the expected Firmware version.  I can get the test program to do this, but the TestLog does not update with the value of the failed test, it aborts before the TestLog updates.  So I added a print statement to show the failure, but it blends in with the rest of the Test Log.&lt;br&gt;&lt;br&gt;Here is part of the code from the test:  s_Temp is the variable from the vi that reads the Firmware Version&lt;br&gt;&lt;br&gt;TestResult = s_Temp&lt;br&gt;!display test result before checking to abort.&lt;br&gt;i=6&lt;br&gt;&lt;br&gt;if(TestResult = s_FWRevision)&lt;br&gt;	sTestStatus = sTestStatus + ":"&lt;br&gt;else&lt;br&gt;	sTestStatus = sTestStatus + "1:"&lt;br&gt;	print ,&lt;br&gt;	print "Firmware version expected: "&lt;br&gt;	print s_FWRevision&lt;br&gt;	print ".  Firmware actual: "&lt;br&gt;	print s_Temp&lt;br&gt;	abort !abort if the firmware version does not match.&lt;br&gt;endif&lt;br&gt;&lt;br&gt;A)  Is it possible to have the "Firmware version expected: 2.11.  Firmware Actual: 2.2" to be larger and red, like the "....Application Aborted" text when ATEasy aborts.&lt;br&gt;&lt;br&gt;B)  Is it possible to have the test results from the firmware test to post to the TestLog before the program runs the abort?  This would allow me to not use the extra print statement.  The TestLog would show "002    CheckFirmwareVersion    -   -   2.11    2.2    Fail" like a normal failed test.&lt;br&gt;&lt;br&gt;&lt;b&gt;By DrATEasy (Ron Y.) on 5/14/2015 11:19:08 AM&lt;/b&gt;&lt;br&gt;A. Yes, use the HTML tag for font to change the font color and size, see http://www.w3schools.com/tags/tag_font.asp&lt;br&gt;&lt;br&gt;In ATEasy you simply use the following:&lt;br&gt;&lt;br&gt;print "&amp;lt;font size=\"3\" color=\"red\"&amp;gt;This is some red  text!&amp;lt;/font&amp;gt;"&lt;br&gt;&lt;br&gt;The test Exec driver has command to print in red (similar to the Abort message.&lt;br&gt;&lt;br&gt;TestExec Log Append ( sText , [sHtmlPrefix] , [sHtmlPostfix] , [enLogView] - will print your test with the HTML tags around it. If the log is Plain text the tags will not print. &lt;br&gt;&lt;br&gt;For example:&lt;br&gt;&lt;br&gt;TestExec Log Append ( "Red Text", "&amp;lt;font size=\"3\" color=\"red\"&amp;gt;", "&amp;lt;/font&amp;gt;")&lt;br&gt;&lt;br&gt;Also look at the following command :&lt;br&gt;&lt;br&gt;TestExec Log Append Message &lt;br&gt; &lt;br&gt;- will print messages similar to abort&lt;br&gt;&lt;br&gt;B. If you called the abort by yourself, you can print the log string before the abort message, add the following to the test :&lt;br&gt;&lt;br&gt;...&lt;br&gt;if failed&lt;br&gt; TestStatus=FAIL&lt;br&gt; print GetLogString(aLogStringCalcTestStatus)&lt;br&gt; abort&lt;br&gt;endif&lt;br&gt;&lt;br&gt;BTW In ATEasy 9 152b the Application Aborted message change to Aborting... Since we not yet aborted.&lt;br&gt;&lt;br&gt;More  information about log print/append see  the following KB article: http://www.marvintest.com/KnowledgeBase/KBArticle.aspx?ID=188&lt;br&gt;&lt;br&gt;</description><link>https://www.marvintest.com/Forums/Thread.aspx?ID=331</link><pubDate>5/14/2015 8:33:19 AM</pubDate></item><item><title>Setting a test not run under a task - Created on Wednesday, May 13, 2015 (Solution Avaliable)</title><description>&lt;b&gt;By Paul J. on 5/13/2015 2:12:14 PM&lt;/b&gt;&lt;br&gt;I&amp;#39;m a newbie at this and I am using Test Executive. I enable a timer interrupt to call  functiion1 and then call function2 to execute. While function2 is executing the timer interrupts, function1 executes and then calls a test to occur. How do I set the test that is being called, not to be executed under the current task? In other words, a test is to be called by an interrupt but it is listed under the current task I am executing and is being called as one of the tests under the task? Do I somehow need to create a test that is not under a task?&lt;br&gt;&lt;br&gt;Thanks,&lt;br&gt;Paul&lt;br&gt;&lt;br&gt;&lt;b&gt;By DrATEasy (Ron Y.) on 5/14/2015 11:44:34 AM&lt;/b&gt;&lt;br&gt;Add a WaitForTimer() call in the beginning of the test you want to wait for the timer. The wait procedure can wait:&lt;br&gt;&lt;br&gt;Procedure WaitForTimer()&lt;br&gt;{&lt;br&gt;   repeat &lt;br&gt;       WaitForEvent()  ! not consume 100% cpu&lt;br&gt;   until bTimer=True&lt;br&gt;   bTimer=False       ! reset the timer&lt;br&gt;}&lt;br&gt;&lt;br&gt;The timer procedure should set  bTimer  to True if interrupt received.&lt;br&gt;&lt;br&gt;&lt;br&gt;&lt;br&gt;</description><link>https://www.marvintest.com/Forums/Thread.aspx?ID=330</link><pubDate>5/13/2015 2:12:14 PM</pubDate></item><item><title>Unable to start ATEasy 7, looking for usr file - Created on Wednesday, May 6, 2015 (Solution Avaliable)</title><description>&lt;b&gt;By Christopher C. on 5/6/2015 4:25:13 PM&lt;/b&gt;&lt;br&gt;Whenever anyone tries to start ATEasy, it errors out, saying it can&amp;#39;t find a usr file associated with a particular user.  There is no option to redirect.&lt;br&gt;&lt;br&gt;&lt;b&gt;By DrATEasy (Ron Y.) on 5/6/2015 4:57:00 PM&lt;/b&gt;&lt;br&gt;This file usually located in c:\Windows\SysWOW64 or C:\Windows\System32 unless you change the path using the ATEasy Tools, Users... By default the file is called ATEasy.usr. Do you have the file in that folder? If you do make sure the file size is not 0, if it is you will need to copy it from another system.&lt;br&gt;&lt;br&gt;</description><link>https://www.marvintest.com/Forums/Thread.aspx?ID=328</link><pubDate>5/6/2015 4:25:13 PM</pubDate></item><item><title>Seperating data from garbage - Created on Friday, April 17, 2015 (Solution Avaliable)</title><description>&lt;b&gt;By Paul J. on 4/17/2015 3:00:02 PM&lt;/b&gt;&lt;br&gt;Hi,&lt;br&gt;&lt;br&gt;    I&amp;#39;m trying to read an RS232 port that spews out control codes and ASCII data, I need to parse out only the good data. How do you copy one element from an array to test it? Also, is there a more elegant way to test how much is in the receive buffer before reading it? OR should I be reading the port one byte at a time&amp;gt;&lt;br&gt;&lt;br&gt;BAUD is 9600&lt;br&gt;&lt;br&gt;loop&lt;br&gt;icount = ComReceive(LCD_PORT,"",100, ,byteArray)&lt;br&gt;if icount &amp;gt; 0  &lt;br&gt;    while i &amp;lt; icount&lt;br&gt;	    byteOne = byteArray[i]        !!!!!!!! Here is part of the problem, How do you read one byte from an array?&lt;br&gt;        if ByteOne &amp;gt; 32   ! ASCII printable range&lt;br&gt;	   if ByteOne &amp;lt;95  !range&lt;br&gt;   		LCD_Data = LCD_Data + byteArray[i]    ! Save the good data&lt;br&gt;		endif&lt;br&gt;	i = i+1&lt;br&gt;    endwhile&lt;br&gt;endif&lt;br&gt;endloop&lt;br&gt;&lt;br&gt;Thanks,&lt;br&gt;Paul&lt;br&gt;&lt;br&gt;&lt;b&gt;By Paul T. on 4/18/2015 3:49:20 AM&lt;/b&gt;&lt;br&gt;Hi Paul,


You can see your code below, with some adjustments made by me, if I understood you right.

Defining byteArray and LCD_Data as a unidimensional arrays with 10000 elements, for example. Do you have any idea how long the message could be? Do you need to acquire bytes in an infinite loop?

Redim byteArray[10000]
Redim LCD_Data[10000]

icount = ComReceive(LCD_PORT,"",100, ,byteArray)

if icount &amp;gt; 0 
   Redim Preserve byteArray [icount] 
   i=0
   k=0
    while i &amp;lt; icount
        byteOne = byteArray[i]        !!!!!!!! Here is part of the problem, How do you read one byte from an array?
        if ((byteOne &amp;gt; 32) /*ASCII printable range*/ and (byteOne &amp;lt;95)  /*range*/) then
           LCD_Data[k] = byteOne   ! Save the good data
           k = k+1
        endif
    i = i+1
    endwhile
Redim Preserve LCD_Data[k]  /*to limit the LCD_Data array only with the useful data*/
endif





Regards,
Paul T.&lt;br&gt;&lt;br&gt;&lt;b&gt;By Paul J. on 4/20/2015 3:16:52 PM&lt;/b&gt;&lt;br&gt;Hi Paul,

    Thanks for the help BUT the "byteOne = byteArray[i]" statement keeps incurring a "Cannot assign array to a non-array "ByteOne"" error.

    The array is a byte array and I am trying to copy one byte from that array to a single byte.

Thanks,
Paul
&lt;br&gt;&lt;br&gt;&lt;b&gt;By Victor B. on 4/20/2015 3:47:41 PM&lt;/b&gt;&lt;br&gt;How is byteArray declared?

I&amp;#39;m thinking it&amp;#39;s a 2-dimensional byte array, like Byte[1][1]


&lt;br&gt;&lt;br&gt;&lt;b&gt;By Paul T. on 4/20/2015 10:50:48 PM&lt;/b&gt;&lt;br&gt;Hi Paul,

As Victor said: byteArray should be declared as Byte[1] and byteOne as a simple Byte. It should work without any problems.


Regards,
Paul T.&lt;br&gt;&lt;br&gt;&lt;b&gt;By Paul J. on 4/21/2015 7:42:35 AM&lt;/b&gt;&lt;br&gt;Its a simple one-dimensional 16 byte array. In a Procedure, I&amp;#39;m trying to copy one byte from the array to a byte variable (byteOne = byteArray[1]) Is the only way to a declare a variable in a procedure is to use the "Property" dialog box? You are limited to 19 bytes this way.

&lt;br&gt;&lt;br&gt;&lt;b&gt;By Paul J. on 4/21/2015 8:14:27 AM&lt;/b&gt;&lt;br&gt;OH WOW...just figured it out!! "Dim" is referring to the dimension size of the array, not the the number of items in the dimension. Duhhhh.... thanks guys!!&lt;br&gt;&lt;br&gt;&lt;b&gt;By Victor B. on 4/21/2015 8:19:42 AM&lt;/b&gt;&lt;br&gt;When viewing a Procedure, local variables and parameters can be added/modified in the area above the code editor and below the procedure combo-box selector.  Right-click in this area and select &amp;#39;Insert Parameter/Local Parameter&amp;#39;.  I attached an image.&lt;br&gt;&lt;br&gt;&lt;b&gt;By Paul J. on 4/22/2015 11:30:12 AM&lt;/b&gt;&lt;br&gt;Thanks for the information Victor.......&lt;br&gt;&lt;br&gt;Victor, our ATE equipment uses COM1 thru 10 and COM 30, and 31. When I added a TTL-to-USB FTDI device to bypass our UUT LCD. It was assigned a COM of 11. I understand that ATEAsy won&amp;#39;t read/write to COM devices over COM9 .....please say that isn&amp;#39;t true! &lt;br&gt;&lt;br&gt;Thanks,&lt;br&gt;Paul&lt;br&gt;&lt;br&gt;&lt;b&gt;By Paul T. on 4/22/2015 12:57:05 PM&lt;/b&gt;&lt;br&gt;That isn&amp;#39;t true, Paul! ATEasy will work with COM Ports over 9 as well as other COM Ports... &lt;br&gt;&lt;br&gt;</description><link>https://www.marvintest.com/Forums/Thread.aspx?ID=325</link><pubDate>4/17/2015 3:00:02 PM</pubDate></item><item><title>COM Port Interrupt stops interrupting - Created on Thursday, April 16, 2015 (Solution Avaliable)</title><description>&lt;b&gt;By Paul J. on 4/16/2015 10:23:19 AM&lt;/b&gt;&lt;br&gt;Hi,
     I&amp;#39;m trying to read, parse and test data from a serial device. I wrote two procedures called ReceivePort and IntitalizePort. The IntializePort intializes the com port and enables the COM interrupt. When the interrupt occurs, it calls the ReceivePort procedure. I call  the InitialzePort procedure from a Test. If I run the test it only responds to 1 interrupt and the test stops.  How can I keep the Interrupt alive to respond to more interrupts?
Thanks,
Paul&lt;br&gt;&lt;br&gt;&lt;b&gt;By DrATEasy (Ron Y.) on 4/16/2015 10:29:23 AM&lt;/b&gt;&lt;br&gt;ATEasy runs the test and closes, If you want to keep it alive add a Modal Form to your application or loop endloop to keep it running. See also the ComChat example.&lt;br&gt;&lt;br&gt;&lt;b&gt;By Hans B. on 4/17/2015 12:57:36 PM&lt;/b&gt;&lt;br&gt;I found that Ateasy loops sometimes are consuming lots of processor time.

loop
   sleep(5)        !gives the interrupt routine some time
endloop

will do the job.&lt;br&gt;&lt;br&gt;</description><link>https://www.marvintest.com/Forums/Thread.aspx?ID=324</link><pubDate>4/16/2015 10:23:19 AM</pubDate></item><item><title>Looking for ATEasy example of controlling instrument with a .NET dll - Created on Wednesday, April 8, 2015 (Solution Avaliable)</title><description>&lt;b&gt;By Dennis B. on 4/8/2015 6:23:40 AM&lt;/b&gt;&lt;br&gt;I am new to using .NET assemblies in ATEasy and have minimal knowledge of programming in C#. I was able to import the .NET assembly for an Omega DAQ into my program library. I studied the DotNet.prj in the ATEasy Examples folder hoping to find enough information show me how to talk to the DAQ. The example seems to give examples of basic constructs, but doesn&amp;#39;t give me a clue as to how to use them to do anything useful such as write to and read from an instrument. Does anyone have a real world example of how they have used a .NET dll to control an instrument and would they be willing to share their code with me so I can see how it&amp;#39;s done?&lt;br&gt;&lt;br&gt;&lt;b&gt;By DrATEasy (Ron Y.) on 4/8/2015 3:10:06 PM&lt;/b&gt;&lt;br&gt;Take a look at the ATEasy driver for AX1553 PXI 1553 Bus Interface(AimOwl1553.drv/prj) it uses a .Net library.

Ronnie&lt;br&gt;&lt;br&gt;&lt;b&gt;By Dennis B. on 4/9/2015 6:04:35 AM&lt;/b&gt;&lt;br&gt;When I open that project, it cannot locate the .NET dll: AimUsa.Owl1553Sharp.dll. I can&amp;#39;t seem to locate it on my system, on the Marvin Test site or on aim-online.com. Do you know where I can find the dll? The product is obsolete.&lt;br&gt;&lt;br&gt;&lt;b&gt;By DrATEasy (Ron Y.) on 4/9/2015 8:29:33 AM&lt;/b&gt;&lt;br&gt;Look or request for Owl1553.NET-win-pci.exe from http://www.aim-online.com/. &lt;br&gt;&lt;br&gt;</description><link>https://www.marvintest.com/Forums/Thread.aspx?ID=321</link><pubDate>4/8/2015 6:23:40 AM</pubDate></item><item><title>30 Days Trial License asking for Serial Number - Created on Friday, April 3, 2015</title><description>&lt;b&gt;By Paul R. on 4/3/2015 7:53:38 PM&lt;/b&gt;&lt;br&gt;I&amp;#39;m trying to install ATEasy 9.0 at home to augment what I&amp;#39;m doing at work BUT when I run the ATEasy License Setup I select "30 Days Trial License" it comes back and says "No License Found". What am I forgetting to do?
Thanks,
Paul&lt;br&gt;&lt;br&gt;&lt;b&gt;By Victor B. on 4/5/2015 9:42:36 PM&lt;/b&gt;&lt;br&gt;No License Found should pop before displaying the License Setup Wizard.  Ever installed a license on this system before?
Tell me more about your home system.  OS?  Using a VM?

Regards,
Victor&lt;br&gt;&lt;br&gt;&lt;b&gt;By Paul R. on 4/6/2015 7:30:58 PM&lt;/b&gt;&lt;br&gt;I am installing on a WIndows 8.1 machine and I have never had ATEasy installed on it before. I also do see the "No license found" message before the Wizard starts. The License Setup also says "Searching for license server...." and that never finishes. The "Serial #" box is grayed out as expected. When I fill in my name and organization and click OK, I get another  "No License Found" message. Not using VM.

Thanks,
Paul
&lt;br&gt;&lt;br&gt;&lt;b&gt;By DrATEasy (Ron Y.) on 4/8/2015 3:14:08 PM&lt;/b&gt;&lt;br&gt;Not sure why it is not working maybe the trail already used. I suggest to open a support incident and request for a 30 days license extension. 

Ronnie&lt;br&gt;&lt;br&gt;&lt;b&gt;By Sergey K. on 11/1/2015 12:30:10 PM&lt;/b&gt;&lt;br&gt;[Quote= Paul R. wrote:&lt;br&gt;I am installing on a WIndows 8.1 machine and I have never had ATEasy installed on it before. I also do see the "No license found" message before the Wizard starts. The License Setup also says "Searching for license server...." and that never finishes. The "Serial #" box is grayed out as expected. When I fill in my name and organization and click OK, I get another  "No License Found" message. Not using VM.&lt;br&gt;&lt;br&gt;Thanks,&lt;br&gt;Paul&lt;br&gt; =Quote]&lt;br&gt;&lt;br&gt;I have exactly the same problem in Win 10 . &lt;br&gt;&lt;br&gt;&lt;b&gt;By Sergey K. on 11/1/2015 12:30:23 PM&lt;/b&gt;&lt;br&gt;&lt;br&gt;&lt;br&gt;&lt;b&gt;By DrATEasy (Ron Y.) on 11/2/2015 8:43:15 AM&lt;/b&gt;&lt;br&gt;Did you look at this KB article:  http://www.marvintest.com/KnowledgeBase/KBArticle.aspx?ID=256  ? Maybe you already used your 30 days trial license. 
If you didn&amp;#39;t, please use our support system Magic and ask for another 30 days license (  https://www.marvintest.com/Magic/).   &lt;br&gt;&lt;br&gt;</description><link>https://www.marvintest.com/Forums/Thread.aspx?ID=320</link><pubDate>4/3/2015 7:53:38 PM</pubDate></item><item><title>String Concationation - Created on Friday, March 27, 2015 (Solution Avaliable)</title><description>&lt;b&gt;By Paul J. on 3/27/2015 3:16:47 PM&lt;/b&gt;&lt;br&gt;I need to concatenate two  string to create a command string. Any such function in ATEasy?&lt;br&gt;&lt;br&gt;&lt;b&gt;By Michael W. on 3/27/2015 3:25:51 PM&lt;/b&gt;&lt;br&gt;NewString=String1+String2&lt;br&gt;&lt;br&gt;</description><link>https://www.marvintest.com/Forums/Thread.aspx?ID=317</link><pubDate>3/27/2015 3:16:47 PM</pubDate></item><item><title>Test Application Command Line Arguments - Created on Saturday, March 14, 2015 (Solution Avaliable)</title><description>&lt;b&gt;By Mark H. on 3/14/2015 3:38:44 PM&lt;/b&gt;&lt;br&gt;How does one pass a profile selection to the test application so that the application starts with a particular profile already loaded?&lt;br&gt;&lt;br&gt;&lt;b&gt;By DrATEasy (Ron Y.) on 3/14/2015 4:33:42 PM&lt;/b&gt;&lt;br&gt;See the Profile.prj example in the examples folder. Look inside the System.OnInitSystem():

TestExec Execution SetInitialProfile(GetDir(aGetDirAppExe)+"\\Profile.prf", "Profile - Main")&lt;br&gt;&lt;br&gt;</description><link>https://www.marvintest.com/Forums/Thread.aspx?ID=316</link><pubDate>3/14/2015 3:38:44 PM</pubDate></item><item><title>Generation of 5 signals in // on gx3788 - Created on Friday, January 30, 2015 (Solution Avaliable)</title><description>&lt;b&gt;By Olivier D. on 1/30/2015 8:38:38 AM&lt;/b&gt;&lt;br&gt;Sirs,&lt;br&gt;&lt;br&gt;I would like to use GX3788 fpga board to generate 5 signals of different frequencies.&lt;br&gt;These signals can have this profile (see attached file).&lt;br&gt;Some are periodic some others more like AWG signals.&lt;br&gt;&lt;br&gt;Is it possible without interruption of signal ?&lt;br&gt;&lt;br&gt;&lt;b&gt;By Amit G. on 1/30/2015 4:31:33 PM&lt;/b&gt;&lt;br&gt;Oliver,

What frequency (sampling) would you require for your application?&lt;br&gt;&lt;br&gt;&lt;b&gt;By Amit G. on 1/30/2015 4:50:06 PM&lt;/b&gt;&lt;br&gt;Oliver,

It seems like you want an arbitrary waveform generator (ARB) that can output 5 user defined waveforms continuously (+/- 15 Volts). The GX1649 would provide this capability, with up to 64 channels.

Go to the following link for more information on the GX1649:

https://www.marvintest.com/Product.aspx?Model=GX1649

&lt;br&gt;&lt;br&gt;</description><link>https://www.marvintest.com/Forums/Thread.aspx?ID=312</link><pubDate>1/30/2015 8:38:38 AM</pubDate></item><item><title>IVI-C driver for a power supply error - Created on Monday, January 19, 2015</title><description>&lt;b&gt;By Cyril P. on 1/19/2015 8:14:55 AM&lt;/b&gt;&lt;br&gt;Hello,

I have a power supply (DSP-060-025HD from IDRC) which is LXI and provide IVI-C driver only (I prefer IVI-COM with ATeasy and in general).

First I was thinking I can use IVI-COM Class-compliant driver loading IviDCPwr 2.0 Library. But it is only interface and after reading some documents about IVI, I&amp;#39;ve discovered that I miss understood some parts of IVI driver.

Then, I tried to use the IVI-C driver provide with Ateasy 8 : IviDCPwr.drv
Not a successful trial. I have an access memory violation when I tried to set the output voltage.

So, I have download and install the IVI-C driver for this PSU and import the FP into Ateasy.
Same result as driver above : memory access violation.

Here is a sample of code :
DCPWR Initialize("PSU_IDRC",0,1,"")
DCPWR Configuration Output ConfigureVoltageLevel("Channel",5.0)
DCPWR Close()

Initialize is OK. To be OK I have defined in NI-MAX the Logical Name PSU_IDRC using the DSPHR driver session.
This driver session point to the DSPHR software module and the hardware asset point to the TCPIP address.
Close works fine too.

For the configuration output, I tried several setup:
- provide "Channel" as the channel name to setup --&amp;gt; memory access violation.
- provide "1" as the channel name to setup --&amp;gt; memory access violation.
- provide "" as the channel name to setup --&amp;gt; memory access violation.
- provide "rr", a bad name --&amp;gt; Unknown channel, which is normal
I have checked the variables type according to the header files and it seems ok for me.

I have install/reinstall software, nothing change.
I have these softwares version installed on my Windows XP SP3 computer:
IVI compliance package 4.6
IVI shared components 2.3
VISA shared components 1.4 (I&amp;#39;ve tried the 1.6 version but nothing change and I have an error with the Keysight IVI-COM driver for the N67xx)
I&amp;#39;m currently developing under Ateasy 8 build 148c, but I tried Ateasy 9 and its the same.

I would appreciate some help.
Thanks.
Cyril&lt;br&gt;&lt;br&gt;</description><link>https://www.marvintest.com/Forums/Thread.aspx?ID=311</link><pubDate>1/19/2015 8:14:55 AM</pubDate></item><item><title>Managing UUT via telnet - Created on Thursday, December 4, 2014 (Solution Avaliable)</title><description>&lt;b&gt;By Yeruham H. on 12/4/2014 8:29:15 AM&lt;/b&gt;&lt;br&gt;I need to manage a UUT via Telnet.

Is ATEasy supports it?

Where can I found an example?

Thanks a lot.

Y.

&lt;br&gt;&lt;br&gt;&lt;b&gt;By DrATEasy (Ron Y.) on 12/15/2014 12:48:16 PM&lt;/b&gt;&lt;br&gt;Take a look at the following knowledge base article: https://www.marvintest.com/KnowledgeBase/KBArticle.aspx?ID=195

Let me know if that works for you.

Ron&lt;br&gt;&lt;br&gt;</description><link>https://www.marvintest.com/Forums/Thread.aspx?ID=302</link><pubDate>12/4/2014 8:29:15 AM</pubDate></item><item><title>Convert chars from a sctring to their ASCII code? - Created on Tuesday, August 26, 2014 (Solution Avaliable)</title><description>&lt;b&gt;By Paul T. on 8/26/2014 12:01:16 AM&lt;/b&gt;&lt;br&gt;Hi,

Is there a way to convert a char representation to its ASCII code? I know the chr(...) procedure, but I need something that does the opposite of it (receive a char and return its ASCII code). I am using ATEasy 7.


Thanks,

Alex&lt;br&gt;&lt;br&gt;&lt;b&gt;By Nagib M. on 8/26/2014 5:19:24 AM&lt;/b&gt;&lt;br&gt;Hi,

You just need to cast a char variable to a short variable.
Char c
Short n

c = &amp;#39;A&amp;#39;
n = c

!n is 65 now

The short variable will &amp;#39;display&amp;#39; in the debug window the ascii value or you can use it as a numeric value in your code.

Regards&lt;br&gt;&lt;br&gt;&lt;b&gt;By Paul T. on 8/26/2014 5:29:06 AM&lt;/b&gt;&lt;br&gt;Thank you very much, Nagib. Now I know the trick.



Best regards,

Alex&lt;br&gt;&lt;br&gt;</description><link>https://www.marvintest.com/Forums/Thread.aspx?ID=294</link><pubDate>8/26/2014 12:01:16 AM</pubDate></item><item><title>Modify Testlog - Created on Wednesday, August 13, 2014 (Solution Avaliable)</title><description>&lt;b&gt;By Oliver W. on 8/13/2014 7:54:42 AM&lt;/b&gt;&lt;br&gt;Hi,&lt;br&gt;&lt;br&gt;does anyone know how to replace the "ATEasy Test Log" string in the upper left of the log window?&lt;br&gt;I tried:&lt;br&gt;&lt;br&gt;s = GetLogString() &lt;br&gt;i = Pos("ATEasy Test Log", s)&lt;br&gt;if (i &amp;gt; 0)&lt;br&gt;	s = Mid(s, 0, i) + "Productname Test Log" + Mid(s, i+19) &lt;br&gt;endif&lt;br&gt;SetLogString(s)&lt;br&gt;&lt;br&gt;String is found and replaced, but not set in Log window. Tried all System events from OnInit() downto OnInitProgram().&lt;br&gt;&lt;br&gt;&lt;br&gt;&lt;b&gt;By DrATEasy (Ron Y.) on 8/13/2014 8:24:11 AM&lt;/b&gt;&lt;br&gt;Move your code to System.OnInitSystem() event. If you are using the test Executive call the 

TestExec Log Set InitialString(s)

&lt;br&gt;&lt;br&gt;&lt;b&gt;By Oliver W. on 8/15/2014 8:03:45 AM&lt;/b&gt;&lt;br&gt;Thank you, TestExec Log Set InitialString(s) did it.&lt;br&gt;&lt;br&gt;</description><link>https://www.marvintest.com/Forums/Thread.aspx?ID=293</link><pubDate>8/13/2014 7:54:42 AM</pubDate></item><item><title>ATEASY 8.0 VS. Win 8 - Created on Thursday, July 31, 2014</title><description>&lt;b&gt;By Yaniv S. on 7/31/2014 1:25:12 AM&lt;/b&gt;&lt;br&gt;Does any build of Ateasy 8 support win 8 ?&lt;br&gt;&lt;br&gt;&lt;b&gt;By DrATEasy (Ron Y.) on 7/31/2014 11:49:28 AM&lt;/b&gt;&lt;br&gt;No. You need to upgrade to ATEasy 9 in order to run it in Windows 8.&lt;br&gt;&lt;br&gt;&lt;b&gt;By Maxim S. on 8/19/2014 2:20:15 AM&lt;/b&gt;&lt;br&gt;ATEasy 8 runs smoothly on WIN7?&lt;br&gt;&lt;br&gt;&lt;b&gt;By Maxim S. on 8/19/2014 2:20:21 AM&lt;/b&gt;&lt;br&gt;ATEasy 8 runs smoothly on WIN7?&lt;br&gt;&lt;br&gt;&lt;b&gt;By Martin S. on 8/19/2014 3:12:15 AM&lt;/b&gt;&lt;br&gt;Yes no problem.&lt;br&gt;&lt;br&gt;</description><link>https://www.marvintest.com/Forums/Thread.aspx?ID=290</link><pubDate>7/31/2014 1:25:12 AM</pubDate></item><item><title>Can we use winexec to open .bat file? - Created on Thursday, July 24, 2014 (Solution Avaliable)</title><description>&lt;b&gt;By Binh P. on 7/24/2014 10:12:55 AM&lt;/b&gt;&lt;br&gt;I tried to open a .bat file with winexec but all I get is a flash on a screen. &lt;br&gt;When manually double click on the .bat file, it opens fine. &lt;br&gt;I&amp;#39;m using ATEasy 8.0 148b. Thanks for the help.&lt;br&gt;&lt;br&gt;&lt;b&gt;By DrATEasy (Ron Y.) on 7/24/2014 10:32:40 AM&lt;/b&gt;&lt;br&gt;WinExec("cmd.exe /C c:\\a.bat")&lt;br&gt;&lt;br&gt;Use the /K instead of /C to leave the window open aftter executing it, so you can see the outcome.&lt;br&gt;&lt;br&gt;&lt;br&gt;</description><link>https://www.marvintest.com/Forums/Thread.aspx?ID=289</link><pubDate>7/24/2014 10:12:55 AM</pubDate></item><item><title>ATEasy crashes if you right click on the Tests - Created on Tuesday, July 8, 2014 (Solution Avaliable)</title><description>&lt;b&gt;By Binh P. on 7/8/2014 4:25:20 PM&lt;/b&gt;&lt;br&gt;I started seeing this problem recently, not sure what happened. I&amp;#39;m using ATEasy 8.0 ver 148d. Please see attached file for error message. Any help is appreciated.&lt;br&gt;&lt;br&gt;&lt;b&gt;By Victor B. on 7/8/2014 4:35:25 PM&lt;/b&gt;&lt;br&gt;Can you check if a more detailed crash report was recorded by Windows:&lt;br&gt;http://www.marvintest.com/KnowledgeBase/KBArticle.aspx?ID=213&lt;br&gt;&lt;br&gt;Regards,&lt;br&gt;Victor Brode&lt;br&gt;&lt;br&gt;&lt;b&gt;By DrATEasy (Ron Y.) on 7/9/2014 9:53:57 AM&lt;/b&gt;&lt;br&gt;For now, You can avoid the crash if you copy text to the clipboard from ATEasy or any application. The crash occurs when the clipboard is empty.&lt;br&gt;&lt;br&gt;</description><link>https://www.marvintest.com/Forums/Thread.aspx?ID=286</link><pubDate>7/8/2014 4:25:20 PM</pubDate></item><item><title>Copy Array to Struct - Created on Wednesday, June 18, 2014 (Solution Avaliable)</title><description>&lt;b&gt;By Noam G. on 6/18/2014 3:17:24 AM&lt;/b&gt;&lt;br&gt;Hi, &lt;br&gt;How can i copy array to structure ??&lt;br&gt;Noam.&lt;br&gt;&lt;br&gt;&lt;b&gt;By DrATEasy (Ron Y.) on 6/18/2014 8:43:55 AM&lt;/b&gt;&lt;br&gt;Use memory copy:for simple types of array (i.e. numeric, type must be identical) or using a variant:

an={1, 2, 3, 4}

MemoryCopy(&amp;amp;stStucture, &amp;amp;anArray)

Or using a Variant data type to perform the copy (this will work for any data type):

vVariant=an
stStructure=vVariant   ! will assign each element in the array to a field in the structure, data type must be compatible

Also the other way around, structure to array

vVariant=stStructure
an=vVariant&lt;br&gt;&lt;br&gt;&lt;b&gt;By Yariv S. on 12/28/2020 6:16:29 AM&lt;/b&gt;&lt;br&gt;Hi,&lt;br&gt;How do I get the names of the structure into an array, not their values?&lt;br&gt;Thanks in advance&lt;br&gt;YS&lt;br&gt;&lt;br&gt;&lt;b&gt;By Tero S. on 12/28/2020 7:45:14 AM&lt;/b&gt;&lt;br&gt;Hi Yariv,&lt;br&gt;&lt;br&gt;If you mean the names of struct fields, this is not supported. &lt;br&gt;&lt;br&gt;Regards,&lt;br&gt;Tero&lt;br&gt;&lt;br&gt;</description><link>https://www.marvintest.com/Forums/Thread.aspx?ID=285</link><pubDate>6/18/2014 3:17:24 AM</pubDate></item><item><title>How to load test parameters from Excel? - Created on Monday, June 2, 2014</title><description>&lt;b&gt;By Jon C. on 6/2/2014 8:01:30 AM&lt;/b&gt;&lt;br&gt;I would like to be able to load test parameters from an Excel file at initilization.&lt;br&gt;Knowledge base article #Q200233 provides an example, but requires Excel.drv which is not part of the zip file.&lt;br&gt;I was unable to locate the driver on my system.&lt;br&gt;I do have Excel 2007 installed.&lt;br&gt;Any help would be appreciated.&lt;br&gt;Thank you.&lt;br&gt;&lt;br&gt;&lt;b&gt;By Martin S. on 6/2/2014 8:04:09 AM&lt;/b&gt;&lt;br&gt;Excel.drv is provided in the examples folder.&lt;br&gt;&lt;br&gt;&lt;br&gt;&lt;b&gt;By Jon C. on 6/26/2014 11:49:44 AM&lt;/b&gt;&lt;br&gt;Thanks.  I added Excel.drv and was still not able to get the #Q200233 example to work.  I had Excel 2007 installed, but the ActiveX Object library was not included in the install and was not available.  I was able to upgrade to Excel 2013 which included Microsoft Excel 15.0 Object Library.  Still no luck. I get "Compiler error #650: Type &amp;#39;Excel.Application&amp;#39; is undefined, found in &amp;#39;EXCEL.Initialize&amp;#39; in line 1".  &lt;br&gt;&lt;br&gt;I then tried both the early and late binding examples on pages 161-166 of "Getting Started with ATEasy".&lt;br&gt;The early binding example had a run-time error (see attached):&lt;br&gt;Run-time error #430: &amp;#39;Unable to call the method or property. Object does not support the IDispatch interface.&amp;#39; found in &amp;#39;Using_Early_Binding&amp;#39; in line 17&lt;br&gt;&lt;br&gt;The late binding example worked.&lt;br&gt;&lt;br&gt;&lt;b&gt;By Orr K. on 7/7/2014 10:27:08 AM&lt;/b&gt;&lt;br&gt;Jon,&lt;br&gt;&lt;br&gt;I have tried to replicate the problem with the early binding example and I could not. I have tried running the same Tests with object libraries 12.0(2007) and 15.0(2013). They have all worked for me with the information that you have provided. &lt;br&gt;&lt;br&gt;If you have any more questions please post again and I will be happy to try and resolve the issue.&lt;br&gt;&lt;br&gt;&lt;br&gt;</description><link>https://www.marvintest.com/Forums/Thread.aspx?ID=284</link><pubDate>6/2/2014 8:01:30 AM</pubDate></item><item><title>Limit to number of tests? - Created on Monday, June 2, 2014 (Solution Avaliable)</title><description>&lt;b&gt;By Jon C. on 6/2/2014 7:53:22 AM&lt;/b&gt;&lt;br&gt;Is there a limit to the number of tests that can be in a task, or in a project?&lt;br&gt;Thank you.&lt;br&gt;&lt;br&gt;&lt;b&gt;By DrATEasy (Ron Y.) on 6/2/2014 8:56:38 AM&lt;/b&gt;&lt;br&gt;No, there is no limit for tests or tasks or number of task/tests levels in ATEasy.&lt;br&gt;&lt;br&gt;Ronnie&lt;br&gt;&lt;br&gt;</description><link>https://www.marvintest.com/Forums/Thread.aspx?ID=283</link><pubDate>6/2/2014 7:53:22 AM</pubDate></item><item><title>.NET Assemblies - Created on Tuesday, May 6, 2014</title><description>&lt;b&gt;By Joseph P. on 5/6/2014 12:19:37 PM&lt;/b&gt;&lt;br&gt;Currently in the .pgt file, the .NET Assemblies are recorded like so:&lt;br&gt;&lt;br&gt;.NET Assembly SomeDLL            !SomeDLL, Version=1.0.2.17&lt;br&gt;--------------------------------------------------------------------------------&lt;br&gt;AssemblyName = SomeDLL, Version=1.0.2.17, Culture=neutral&lt;br&gt;File = ..\..\..\..\..\Program Files (x86)\Company\SomeDLL.dll&lt;br&gt;&lt;br&gt;&lt;br&gt;Is there a way to alter the storage to do a few things?&lt;br&gt;&lt;br&gt;1. store as absolute paths to the dll by default?&lt;br&gt;2. not care about parts of the version information, i.e. 1.0.2.* so long as the version starts with 1.0.2&lt;br&gt;3. dynamically change out the dll&amp;#39;s as long as interfaces do not change?&lt;br&gt;&lt;br&gt;&lt;b&gt;By Joseph P. on 5/6/2014 12:20:16 PM&lt;/b&gt;&lt;br&gt;Sorry, please note I am using version 8.0 148c&lt;br&gt;&lt;br&gt;&lt;b&gt;By DrATEasy (Ron Y.) on 5/6/2014 6:13:36 PM&lt;/b&gt;&lt;br&gt;Hi,&lt;br&gt;&lt;br&gt;1. ATEasy serializes the file path as relative to current project target executable folder (unless the selected assembly file path is belong to a different drive). You can modify the text file (pgt, drt, syt) to change the path to absolute or use the Edit in Text format if you want to keep the binary format).&lt;br&gt;2. If ATEasy is able to load the assembly using the file path serialized, ATEasy will ignore assembly’s build and revision.&lt;br&gt;3. Yes, as long as the serialized assembly name matched the new file assembly name (ignore build and revision). &lt;br&gt;&lt;br&gt;Ronnie&lt;br&gt;&lt;br&gt;&lt;b&gt;By Joseph P. on 5/13/2014 7:58:15 AM&lt;/b&gt;&lt;br&gt;I am using 8.0 148c as stated above and I am not seeing the described functionality in #3.&lt;br&gt;When run from the F5 (Start) command the ATEasy program runs to completion.&lt;br&gt;When Build -&amp;gt; Execute is used the program does not run.&lt;br&gt;&lt;br&gt;To fix this, I am having to do the following:&lt;br&gt;&lt;br&gt;1. remove the libs from the project&lt;br&gt;2. save&lt;br&gt;3. close ATEasy&lt;br&gt;4. re-open ATEasy&lt;br&gt;5. re-select the libs&lt;br&gt;6. save/rebuild&lt;br&gt;7. execute&lt;br&gt;&lt;br&gt;any advice or fixes available?&lt;br&gt;&lt;br&gt;&lt;b&gt;By DrATEasy (Ron Y.) on 5/13/2014 1:43:41 PM&lt;/b&gt;&lt;br&gt;I could not replicate it, can you upload an example or provide more details that will provide a way to replicate the issue?&lt;br&gt;&lt;br&gt;Ronnie  &lt;br&gt;&lt;br&gt;&lt;b&gt;By Joseph P. on 5/16/2014 9:26:55 AM&lt;/b&gt;&lt;br&gt;I will do that and sumbit through the magic ticket.&lt;br&gt;&lt;br&gt;</description><link>https://www.marvintest.com/Forums/Thread.aspx?ID=279</link><pubDate>5/6/2014 12:19:37 PM</pubDate></item><item><title>Ping command to a device hangs up - Created on Wednesday, April 30, 2014</title><description>&lt;b&gt;By Yeruham H. on 4/30/2014 2:24:26 AM&lt;/b&gt;&lt;br&gt;Hello,&lt;br&gt;&lt;br&gt;I use ATEasy v8. and use the StdIOProcess driver to send ping to remove device.&lt;br&gt;&lt;br&gt;Using this line from program.&lt;br&gt;        StdIOProcess Execute("cmd.exe", "", "Ping "+strNE_IP_Address)&lt;br&gt;&lt;br&gt;ATEasy hanged at this line:&lt;br&gt;	m_sStdOutput=m_obProcess.StandardOutput.ReadToEnd()	! process must exit, otherwise deadlock&lt;br&gt;&lt;br&gt;Anybody can help? Thanks&lt;br&gt;&lt;br&gt;Y.&lt;br&gt;&lt;br&gt;&lt;b&gt;By Yeruham H. on 4/30/2014 2:35:01 AM&lt;/b&gt;&lt;br&gt;Ok I have found.
Just forgot to add "exit" at the end of command.

The right command is:
        StdIOProcess Execute("cmd.exe", "", "Ping "+strNE_IP_Address+"\r\nExit\r\n")

It&amp;#39;s works!

Thanks.

Y.&lt;br&gt;&lt;br&gt;</description><link>https://www.marvintest.com/Forums/Thread.aspx?ID=277</link><pubDate>4/30/2014 2:24:26 AM</pubDate></item><item><title>Import LabVIEW vi - Created on Thursday, April 24, 2014 (Solution Avaliable)</title><description>&lt;b&gt;By Kenny K. on 4/24/2014 2:57:34 AM&lt;/b&gt;&lt;br&gt;I am trying to create a new procedure using LabVIEW.&lt;br&gt;&lt;br&gt;I right click and select "Import LabVIEW.vi" and I get an error "Unable to locate the LabVIEW Run-Time Engine".  ALabVIEWHelper100 requires version 2010 or newer.&lt;br&gt;&lt;br&gt;I have LV 2009, 2010, and 2012 installed.&lt;br&gt;&lt;br&gt;I could not find anywhere in the Options dialog to link to LabVIEW.&lt;br&gt;&lt;br&gt;What do I need to do to be able to import the vi?&lt;br&gt;&lt;br&gt;&lt;b&gt;By Kenny K. on 4/24/2014 5:19:26 AM&lt;/b&gt;&lt;br&gt;I found the libdir entry I needed to add into the .ini file, and it is working now.&lt;br&gt;&lt;br&gt;</description><link>https://www.marvintest.com/Forums/Thread.aspx?ID=273</link><pubDate>4/24/2014 2:57:34 AM</pubDate></item><item><title>Run-time error #464 - Created on Thursday, March 13, 2014 (Solution Avaliable)</title><description>&lt;b&gt;By Michael S. on 3/13/2014 7:34:54 AM&lt;/b&gt;&lt;br&gt;Hello&lt;br&gt;&lt;br&gt;I’ve have three programs in my project: Program1.pgt, Program2.pgt and Program3.pgt&lt;br&gt;&lt;br&gt;The code below is all in a system.&lt;br&gt;&lt;br&gt;I select a program using a list box (lbPrograms). The list box is populated with:&lt;br&gt;&lt;br&gt;for iProgram = 0 to App.ProgramsCount-1 &lt;br&gt;    m_frmTestManagerLoad.lbPrograms.AddItem(App.Programs(iProgram).Name()) &lt;br&gt;next&lt;br&gt;&lt;br&gt;Program to run is selected with:&lt;br&gt;&lt;br&gt;for iProgramNumber = 0 to (m_frmTestManagerLoad.lbPrograms.ListCount()-1) &lt;br&gt;    if m_frmTestManagerLoad.lbPrograms.Selected(iProgramNumber) then &lt;br&gt;        m_vProgram = iProgramNumber &lt;br&gt;    endif &lt;br&gt;next&lt;br&gt;&lt;br&gt;Tasks from selected program put into list box (lbTasks) so I can select what to run:&lt;br&gt;&lt;br&gt;appPrograms = App.Programs(m_vProgram) &lt;br&gt; &lt;br&gt;for iTask = 0 to appPrograms.TestsCount - 1 &lt;br&gt;    atTask = appPrograms.Tests(iTask) &lt;br&gt;    m_frmTestManager.lbTasks.AddItem(atTask.Name) &lt;br&gt;next&lt;br&gt;&lt;br&gt;&lt;br&gt;I select a task and press the start button&lt;br&gt;&lt;br&gt;Start button calls procedure RunTasks()&lt;br&gt;&lt;br&gt;RunTask()&lt;br&gt;appPrograms = App.Programs(m_vProgram) &lt;br&gt; &lt;br&gt;! only run tasks that have been selected by the operator in list box lbTasks &lt;br&gt;for iTaskNumber = m_iTaskNumber to (m_frmTestManager.lbTasks.ListCount() - 1) &lt;br&gt;    ! increment m_iTaskNumber so when RunTask() called again by OnEndTask() we move to the next task &lt;br&gt;    m_iTaskNumber = m_iTaskNumber + 1 &lt;br&gt;    if m_frmTestManager.lbTasks.Selected(iTaskNumber) then &lt;br&gt;        atTask = appPrograms.Tests(iTaskNumber) &lt;br&gt;        Task atTask.Id ! Run-time error generated here&lt;br&gt;    endif &lt;br&gt;next&lt;br&gt;&lt;br&gt;Selecting Program1 (m_vProgram = 0) and tasks run correctly, &lt;br&gt;however selecting Program2 (m_vProgram = 1) and atTask.Id generates the following error:&lt;br&gt;“Run-time error #464 : &amp;#39;No Task or Test with given number&amp;#39; found in &amp;#39;TestManager.RunTasks&amp;#39; in line 9”&lt;br&gt;&lt;br&gt;atTask.Id returns the correct value that was assigned to it in the IDE.&lt;br&gt;&lt;br&gt;What have I missed?&lt;br&gt;&lt;br&gt;Thanks&lt;br&gt;Michael&lt;br&gt;&lt;br&gt;&lt;b&gt;By DrATEasy (Ron Y.) on 3/13/2014 7:08:37 PM&lt;/b&gt;&lt;br&gt;This will not work. &lt;br&gt;You need to:&lt;br&gt;&lt;br&gt;1. First run the program using the RUN statement. &lt;br&gt;2. In the OnInitProgram() event, you need to jump to the task (cash it to a global variable) using the TASK statement.&lt;br&gt;&lt;br&gt;&lt;b&gt;By Michael S. on 3/14/2014 1:26:17 AM&lt;/b&gt;&lt;br&gt;Thanks DrATEasy!&lt;br&gt;&lt;br&gt;I changed my code so:&lt;br&gt;&lt;br&gt;Start button executes Run App.Programs(m_vProgram)&lt;br&gt;&lt;br&gt;OnInitProgram() calls first iteration of RunTasks()&lt;br&gt;&lt;br&gt;I can now select and run programs from a list&lt;br&gt;&lt;br&gt;Thanks again&lt;br&gt;Michael&lt;br&gt;&lt;br&gt;</description><link>https://www.marvintest.com/Forums/Thread.aspx?ID=270</link><pubDate>3/13/2014 7:34:54 AM</pubDate></item><item><title>Control the volume and audio balance - Created on Thursday, February 27, 2014</title><description>&lt;b&gt;By Paul T. on 2/27/2014 4:26:47 AM&lt;/b&gt;&lt;br&gt;Hi! I have an application where I need to control the volume and the audio balance from a PC. Has anybody tried to do this from ATEasy?&lt;br&gt;&lt;br&gt;</description><link>https://www.marvintest.com/Forums/Thread.aspx?ID=266</link><pubDate>2/27/2014 4:26:47 AM</pubDate></item><item><title>Running a program inported from ATML - Created on Monday, February 24, 2014 (Solution Avaliable)</title><description>&lt;b&gt;By Michael S. on 2/24/2014 7:28:46 AM&lt;/b&gt;&lt;br&gt;Hello&lt;br&gt;&lt;br&gt;I&amp;#39;ve looked at the ATML example provided with ATEasy but cannot see how to run the program that has been converted from ATML to PGT.&lt;br&gt;&lt;br&gt;I&amp;#39;ve traced the code and can see AtmlTestDescription.xml being converted into AtmlConvertedTestDescription.pgt using &lt;br&gt;ATML Transform TestDescription ATEasyProgram()&lt;br&gt;&lt;br&gt;When clicking on the &amp;#39;Run Program&amp;#39; button run App.Programs(0) is called but this runs the program that is hardcoded into the application in the IDE. I&amp;#39;ve made a change to the hardcoded program and observed this change in the test log.&lt;br&gt;&lt;br&gt;I cannot find a way to point App to the imported program.&lt;br&gt;&lt;br&gt;Can a program be imported and run without having to insert the program into the IDE and rebuild?&lt;br&gt;&lt;br&gt;Thanks&lt;br&gt;Michael&lt;br&gt;&lt;br&gt;&lt;b&gt;By Paul T. on 2/24/2014 7:42:05 AM&lt;/b&gt;&lt;br&gt;Hi Michael,&lt;br&gt;&lt;br&gt;&lt;br&gt;Take a look at the "Run" statement. You could use "Run [EndEvents] program-specifier", and for program-specifier you can specify the program file&amp;#39;s full path (+filename). No need to rebuild the whole application.&lt;br&gt;I hope this helps you.&lt;br&gt;&lt;br&gt;&lt;br&gt;Regards,&lt;br&gt;&lt;br&gt;Paul&lt;br&gt;&lt;br&gt;&lt;b&gt;By Michael S. on 2/25/2014 2:23:31 AM&lt;/b&gt;&lt;br&gt;Hello Paul&lt;br&gt;&lt;br&gt;I&amp;#39;ve looked at the help for the Run statement:&lt;br&gt;&lt;br&gt;"In ATEasy v2 the program-specifier string expression was a filename, if you are migrating from ATEasy2 you must change it to a program shortcut."&lt;br&gt;&lt;br&gt;I&amp;#39;m using version 8 and there is nothing in help about how program shortcuts are defined for external programs.&lt;br&gt;&lt;br&gt;Ultimately, I want to use an external program to populate a list box with available tests, so that the operator can select which tests to run / not run.&lt;br&gt;&lt;br&gt;Thanks&lt;br&gt;Michael&lt;br&gt;&lt;br&gt;&lt;b&gt;By DrATEasy (Ron Y.) on 2/26/2014 11:29:07 AM&lt;/b&gt;&lt;br&gt;Hi Michael,&lt;br&gt;&lt;br&gt;You can not run external program without including it in the project at design time. In ATEasy 2, this was not the case and you could use an external program using the run statement while in v3 or above the run statement changed to a program shortcut name or a program object. &lt;br&gt;&lt;br&gt;If you need to run a program that is created dynamically, you can invoke compiler to build EXE from your project (assuming the program is in the project, or if not you can write a project text file which is simple). After the build is complete you can run the EXE. &lt;br&gt;&lt;br&gt;See the online help under "Command Line" regarding how to compile/build using the command line, for example:&lt;br&gt;&lt;br&gt;ATEasy /b+"c:\program files\ateasy\examples\language.prj" /s&lt;br&gt;&lt;br&gt;Ronnie&lt;br&gt;&lt;br&gt;</description><link>https://www.marvintest.com/Forums/Thread.aspx?ID=265</link><pubDate>2/24/2014 7:28:46 AM</pubDate></item><item><title>Killing a process created by WinExec - Created on Wednesday, February 19, 2014 (Solution Avaliable)</title><description>&lt;b&gt;By Kevin E. on 2/19/2014 6:32:41 AM&lt;/b&gt;&lt;br&gt;I&amp;#39;m using the internal WinExec procedure to launch a helper application required by my ATEasy test application.  The helper application is launched successfully.  &lt;br&gt;&lt;br&gt;As part of the cleanup of my test application I want to terminate the helper application.  I&amp;#39;ve tried using the Win32 kernel function TerminateProcess, passing the AHandle returned from WinExec as (hopefully) the process identifier required by TerminateProcess.  Unfortunately, the helper application is not terminated.&lt;br&gt;&lt;br&gt;Any ideas or suggestions?&lt;br&gt;&lt;br&gt;&lt;b&gt;By Cyril P. on 2/19/2014 6:47:48 AM&lt;/b&gt;&lt;br&gt;Hi Kevin,

as you have seen, the handle expected by win32 function is not the same the WinExec Ateasy return.

Here is my own procedure I wrote to kill a process by its name.
I pass the variable "sProcessNameToKill" to my procedure (val string)

! Get the array containing the process id&amp;#39;s for each process object
psapi.EnumProcesses(adwProcessIDs,Sizeof(adwProcessIDs),cbNeeded)
! calculate how many process IDs were returned
wNbProcess=cbNeeded/Sizeof(cbNeeded)

! init var
bStatus=false

for n=1 to (wNbProcess)
    ! Get a handle to the Process
    hProcess=kernel32.OpenProcess((kernel32.PROCESS_QUERY_INFORMATION OR kernel32.PROCESS_VM_READ OR kernel32.PROCESS_TERMINATE),0,adwProcessIDs[n])
    ! Iterate through each process with an ID that &amp;lt;&amp;gt; 0
    if (hProcess &amp;lt;&amp;gt; 0) then
        psapi.GetModuleBaseNameA(hProcess,0,sProcessName,1024)
        if (Pos(LCase(sProcessNameToKill),LCase(sProcessName),0) &amp;gt;= 0) then
            ! terminate the process
            bStatus=kernel32.TerminateProcess(hProcess,0)
        endif
    endif
    ! Close the handle to the process
    kernel32.CloseHandle(hProcess)
next

return bStatus

Hope this help.
Cheers,
Cyril&lt;br&gt;&lt;br&gt;&lt;b&gt;By Cyril P. on 2/19/2014 6:56:56 AM&lt;/b&gt;&lt;br&gt;I have attached a system with the procedure and windows api.&lt;br&gt;&lt;br&gt;&lt;b&gt;By Paul T. on 2/19/2014 10:16:27 AM&lt;/b&gt;&lt;br&gt;Things worked simple for me some time ago (under Windows 7). I was launching external applications with hProcess = WinExec(...), after which I was terminating them with TerminateProcess(hProcess, lExitCode).

TerminateProcess is defined within Kernel32, with hProcess - Val AHandle, and lExitCode - Var Long. lExitCode wasn&amp;#39;t of any concern for me.

I hope it will work for you too, Kevin.



Best regards,

Paul&lt;br&gt;&lt;br&gt;</description><link>https://www.marvintest.com/Forums/Thread.aspx?ID=263</link><pubDate>2/19/2014 6:32:41 AM</pubDate></item><item><title>Problems with stopping the sound played in ATEasy - Created on Thursday, February 6, 2014 (Solution Avaliable)</title><description>&lt;b&gt;By Paul T. on 2/6/2014 5:50:18 AM&lt;/b&gt;&lt;br&gt;Hi,&lt;br&gt;&lt;br&gt;&lt;br&gt;I am trying to play a sound in a test program, asking the user if he/she hears the sound, after which a button click should stop the sound.&lt;br&gt;&lt;br&gt;I&amp;#39;ve read the article: http://www.marvintest.com/KnowledgeBase/KBSearchArticles.aspx?ID=118&amp;amp;task=go&amp;amp;search=sound&amp;amp;type=OR , &lt;br&gt;it&amp;#39;s OK, only that I didn&amp;#39;t manage to stop the sound by playng sndPlaySound("",1) (passing a NULL parameter to stop the sound - this is the way the MSDN site says to stop the sound).&lt;br&gt;&lt;br&gt;Any clue why do I have this issue?&lt;br&gt;&lt;br&gt;Any other suggestions to try?&lt;br&gt;&lt;br&gt;Thank you in advance.&lt;br&gt;&lt;br&gt;&lt;br&gt;&lt;br&gt;Best regards,&lt;br&gt;&lt;br&gt;Paul T.&lt;br&gt;&lt;br&gt;&lt;b&gt;By Victor B. on 2/6/2014 10:07:16 AM&lt;/b&gt;&lt;br&gt;Use sndPlaySound(null, 1) instead.&lt;br&gt;&lt;br&gt;If you use empty string, it will attempt opening another file to play.&lt;br&gt;&lt;br&gt;&lt;b&gt;By Paul T. on 2/6/2014 10:45:30 AM&lt;/b&gt;&lt;br&gt;Already tried this. No use. I&amp;#39;ve changed the FileName type from String to Any, and I&amp;#39;ve passed NULL to this parameter but the same result... It returns TRUE (success) but the WAV file doesn&amp;#39;t stop. Maybe it&amp;#39;s some strange behaviour because of Windows 7 32-bit. I&amp;#39;ve read some article over the web that states some strange behaviour of the sndPlaySound function over Win 7...&lt;br&gt;&lt;br&gt;&lt;b&gt;By Victor B. on 2/6/2014 10:56:10 AM&lt;/b&gt;&lt;br&gt;I ran Win7 - 64 bit to try it out with no issue.  &lt;br&gt;&lt;br&gt;If you think its a Win 7 - 32 bit specific bug, maybe try WMA instead of WAV.  Microsoft APIs seem to work better with Microsoft file types.&lt;br&gt;Or maybe try Windows Update in case they found and fixed the bug.&lt;br&gt;&lt;br&gt;&lt;b&gt;By Paul T. on 2/16/2014 12:24:45 PM&lt;/b&gt;&lt;br&gt;No effect. &lt;br&gt;Actually, my solution consists in playing (only once) another .WAV file that is short (1 sec) and without any sounds that can be heard. :)&lt;br&gt;&lt;br&gt;&lt;br&gt;Thanks anyway, Victor.&lt;br&gt;&lt;br&gt;&lt;br&gt;Regards,&lt;br&gt;&lt;br&gt;Paul T.&lt;br&gt;&lt;br&gt;</description><link>https://www.marvintest.com/Forums/Thread.aspx?ID=262</link><pubDate>2/6/2014 5:50:18 AM</pubDate></item><item><title>Problems about log - Created on Sunday, January 26, 2014</title><description>&lt;b&gt;By Li L. on 1/26/2014 3:07:00 AM&lt;/b&gt;&lt;br&gt;Hello,everyone. I have some problems about logs .&lt;br&gt;1. The font of messages  in the build log tag of ATEasy after building my project sometimes changes(size, bold or not)&lt;br&gt;2. My test log (html format) sometimes changes its font while I change nothing. I use the internal variable &amp;#39;log&amp;#39;, and assign it with an ALog control in a form.Sometimes I haven&amp;#39;t changed my code but my test log appears some blank lines and a line full of "-" which I don&amp;#39;t want. I don&amp;#39;t know why.&lt;br&gt;3. I&amp;#39;ve ticked &amp;#39;append scroll&amp;#39; in the property dialog box of a alog control ,but when running my program my test log (html format) can&amp;#39;t scroll automatically when appending new test results.&lt;br&gt;Could anyone help me? Thank you very much!&lt;br&gt;&lt;br&gt;&lt;b&gt;By Li L. on 2/17/2014 2:54:35 AM&lt;/b&gt;&lt;br&gt;To make one of the question clear, I&amp;#39;ve made an example and print some pictures:&lt;br&gt;It&amp;#39;s a problem about the log:&lt;br&gt;I want to print a html log with informations of company,project name,program name and so on,but there appears some unexpected lines below "Test Log"(see log_w.jpg,designated by a rectangle).&lt;br&gt;I&amp;#39;ve writen a html file with notepad, but there is no such problem(see try.html).&lt;br&gt;I created a simple project in folder "try3" to explain the problem. To run this propgram, you need to create a folder "lxf" in disk E and copy the folder "ate3" below.In this project, we can click "run" button to run the test, and click "InitP2" button to try another part of print whose contents is less and unexpected lines is less too.&lt;br&gt;I don&amp;#39;t know the reason. It seems that the problem appears after I updated the ATEasy8 edition to Build 148c.&lt;br&gt;For when I build and run it in ATEasy8 version Build 146b,the test log is correct(see log_r.jpg).&lt;br&gt;Could anybody help me? Thanks a lot. &lt;br&gt;&lt;br&gt;&lt;b&gt;By Victor B. on 2/19/2014 11:14:27 AM&lt;/b&gt;&lt;br&gt;I don&amp;#39;t see the same issue on my computer, but it could be a localization issue.  Does the issue persist in ATEasy 9?&lt;br&gt;&lt;br&gt;</description><link>https://www.marvintest.com/Forums/Thread.aspx?ID=261</link><pubDate>1/26/2014 3:07:00 AM</pubDate></item><item><title>new test at task tree - Created on Saturday, January 18, 2014 (Solution Avaliable)</title><description>&lt;b&gt;By DoubleM (Moti M.) on 1/18/2014 11:59:18 PM&lt;/b&gt;&lt;br&gt;Is there a way to create new test outside a task in the task tree?&lt;br&gt;&lt;br&gt;&lt;b&gt;By DrATEasy (Ron Y.) on 1/20/2014 8:30:44 AM&lt;/b&gt;&lt;br&gt;Yes, You need to enable this from the ATEasy Options Tests/Procedures tab. The option is called "Allow Inserting Tests and Tasks at the Same Level". You may also check the first option as well " Allow Inserting a Test Bellow Tests Sub-Module".&lt;br&gt;&lt;br&gt;&lt;br&gt;&lt;b&gt;By DoubleM (Moti M.) on 6/12/2014 11:42:57 AM&lt;/b&gt;&lt;br&gt;the insert menu allows me to insert only tasks at any level but after inserting a new task i can copy/move its test to the tasks level. i don&amp;#39;t think this was the idea at the first place.&lt;br&gt;&lt;br&gt;&lt;b&gt;By DrATEasy (Ron Y.) on 6/12/2014 10:16:50 PM&lt;/b&gt;&lt;br&gt;That depends on the options selected, in the tests/procedures tabs.&lt;br&gt;&lt;br&gt;Also, If you want to insert a task you need to activate the tasks list in the tests view (on the left), to insert a test, activate the right list .&lt;br&gt;&lt;br&gt;</description><link>https://www.marvintest.com/Forums/Thread.aspx?ID=260</link><pubDate>1/18/2014 11:59:18 PM</pubDate></item><item><title>ping - Created on Saturday, January 18, 2014</title><description>&lt;b&gt;By DoubleM (Moti M.) on 1/18/2014 11:55:54 PM&lt;/b&gt;&lt;br&gt;How can I perform an ethernet communication check like ping from ateasy8?&lt;br&gt;&lt;br&gt;&lt;b&gt;By DrATEasy (Ron Y.) on 1/20/2014 11:42:12 AM&lt;/b&gt;&lt;br&gt;Simplest way is to execute the command ping through the command prompt and read back the response, you can use the StdIoProcess driver.  An example project is located in the ATEasy examples directory by default and named StdIoProcess.prj. &lt;br&gt;&lt;br&gt;&lt;br&gt;&lt;br&gt;&lt;b&gt;By DrATEasy (Ron Y.) on 1/20/2014 3:21:58 PM&lt;/b&gt;&lt;br&gt;Another way is to use Windows Management Instrumentation (WMI) COM Component:

Declare :
ob, obSWbemSet, obSWbemEx, obSWbemProperty : Object

Code:
ob=GetObject("winmgmts:\\\\.\\root\\cimv2") 
! the following method returns object collection 
obSWbemSet=ob.ExecQuery("Select * from WIN32_Pingstatus where address = &amp;#39;" + "www.MarvinTest.com" + "&amp;#39;")           
if obSWbemSet.Count&amp;gt;=1
                ! Retrieve first ping result of type obSWbemEx
                obSWbemEx=obSWbemSet.ItemIndex(0)
                obSWbemProperty=obSWbemEx.Properties_.Item("StatusCode")
                print obSWbemProperty.Name
                print obSWbemProperty.Value
                obSWbemProperty=obSWbemEx.Properties_.Item("Address")
                print obSWbemProperty.Name
                print obSWbemProperty.Value
                obSWbemProperty=obSWbemEx.Properties_.Item("ReplySize")
                print obSWbemProperty.Name
                print obSWbemProperty.Value
endif

&lt;br&gt;&lt;br&gt;&lt;b&gt;By DoubleM (Moti M.) on 6/5/2014 10:47:28 AM&lt;/b&gt;&lt;br&gt;got Run-time error #422 : &amp;#39;Late-bound object does not have member &amp;#39;ItemIndex&amp;#39;&amp;#39; found in &amp;#39;Examples.Procedure1&amp;#39; in line 6&lt;br&gt;&lt;br&gt;&lt;br&gt;&lt;br&gt;&lt;b&gt;By DrATEasy (Ron Y.) on 6/10/2014 5:03:44 PM&lt;/b&gt;&lt;br&gt;I was not able to replicate this. Maybe WMI need a reset or re-register. &lt;br&gt;&lt;br&gt;In any case, you can use the the following ATEasy code that is using .Net Ping class as shown here instead:&lt;br&gt;&lt;br&gt;! include System.System.Net.NetworkInformation under System.dll assembly, System.Net.NetworkInformation namewspace obsolete&lt;br&gt;! define pinSender : Ping, pingReply : PingReply&lt;br&gt;&lt;br&gt;pingSender=new Ping ()&lt;br&gt;pingReply=pingSender.Send("www.marvintest.com")&lt;br&gt;if pingReply.Status=IPStatus.Success&lt;br&gt;    print "Address:"; pingReply.Address.ToString()&lt;br&gt;    print "RoundTrip time:"; pingReply.RoundtripTime&lt;br&gt;    print "Time to live:"; pingReply.Options.Ttl&lt;br&gt;    print "Don&amp;#39;t fragment:"; pingReply.Options.DontFragment&lt;br&gt;else&lt;br&gt;	print "Error: "; pingReply.Status &lt;br&gt;endif&lt;br&gt;pingReply=Nothing&lt;br&gt;pingSender=Nothing&lt;br&gt;&lt;br&gt;&lt;br&gt;&lt;b&gt;By DoubleM (Moti M.) on 6/12/2014 11:56:34 AM&lt;/b&gt;&lt;br&gt;sorry for asking but how to include System.System.Net.NetworkInformation under System.dll assembly ?&lt;br&gt;&lt;br&gt;&lt;b&gt;By DoubleM (Moti M.) on 6/12/2014 12:38:14 PM&lt;/b&gt;&lt;br&gt;with few changes the code is working:&lt;br&gt;&lt;br&gt;! include System.Net.NetworkInformation under System.dll assembly&lt;br&gt;! define pingSender : SystemLib.Ping, pingReply : SystemLib.PingReply&lt;br&gt;&lt;br&gt;pingSender=new SystemLib.Ping()&lt;br&gt;pingReply=pingSender.Send("www.marvintest.com")&lt;br&gt;if pingReply.Status=IPStatus.Success&lt;br&gt;    print "Address:"; pingReply.Address.ToString()&lt;br&gt;    print "RoundTrip time:"; pingReply.RoundtripTime&lt;br&gt;    print "Time to live:"; pingReply.Options.Ttl&lt;br&gt;    print "Don&amp;#39;t fragment:"; pingReply.Options.DontFragment&lt;br&gt;else&lt;br&gt;    print "Error: "; pingReply.Status &lt;br&gt;endif&lt;br&gt;pingReply=Nothing&lt;br&gt;pingSender=Nothing&lt;br&gt;&lt;br&gt;&lt;br&gt;</description><link>https://www.marvintest.com/Forums/Thread.aspx?ID=259</link><pubDate>1/18/2014 11:55:54 PM</pubDate></item><item><title>problems about .exe file - Created on Friday, January 17, 2014 (Solution Avaliable)</title><description>&lt;b&gt;By Li L. on 1/17/2014 2:40:47 AM&lt;/b&gt;&lt;br&gt;Hi,everyone.I need your help.&lt;br&gt;When run in the ATEasy development environment, my program has no error. But when I run the .exe file generated by ATEasy, there would be an error msgbox showing that there is something error. After clicking &amp;#39;OK&amp;#39; button , an ATEasy exception box appears.&lt;br&gt;Strange!&lt;br&gt;I&amp;#39;ve printed several screens,copied message from system application error reports, and uploaded my project. &lt;br&gt;Will any experts help me? Thank you very much!&lt;br&gt;&lt;br&gt;&lt;br&gt;&lt;b&gt;By Victor B. on 1/22/2014 10:25:33 PM&lt;/b&gt;&lt;br&gt;The error windows indicate where the error occurs, which seems to be when you load frmWaitImage.&lt;br&gt;&lt;br&gt;You can confirm this by putting a breakpoint on the function_ihm.drv procedure Output_WaitBoxStart(), line 6: "load frmWaitImage, False" and then stepping over that line to see if the crash occurs at that point.&lt;br&gt;&lt;br&gt;I noticed that the first thing that you are doing is to call Execute_FormTopMost().  Do multiple forms call this same procedure?  Are they actively competing to be the window that is in focus?&lt;br&gt;&lt;br&gt;-Victor Brode&lt;br&gt;&lt;br&gt;&lt;b&gt;By Li L. on 1/25/2014 8:34:40 PM&lt;/b&gt;&lt;br&gt;Hi, Victor Brode.Thank you for your suggestion.&lt;br&gt;But it seems no use to set a breakpoint on the function_ihm.drv procedure Output_WaitBoxStart(), line 6: "load frmWaitImage, False" ,because there isn&amp;#39;t error when running in ATEasy development environment. Errors only occurs when run .exe file outside.&lt;br&gt;I simplified the project more and add some codes like ‘MsgBox("xx")’step by step to find where the error occurs when run the .exe file. By line 4 of the procedure &amp;#39;StartingTests&amp;#39; of driver &amp;#39;Edition_config&amp;#39;,I know there is a runtime error "419" which means the error is "Object is null". Finally I found the ".exe" file error occurs in line 2 of the procedure &amp;#39;Output_WaitBoxStart&amp;#39; of driver &amp;#39;fonction_ihm&amp;#39;. The code of this line is "if(frmWaitImage &amp;lt;&amp;gt; nothing)"."frmWaitImage" is a public variable of type "frmWaitImage" here.&lt;br&gt;Does it mean that error occurs when ATEasy create an object of "frmWaitImage"? What should I do?&lt;br&gt;It seems that there are some unstable factors, for sometimes when I run my program inside ATEasy , I will be told that a dll file is not found, but when I exit ATEasy and try again, no errors occurs; sometimes when I run my program inside ATEasy, an error about sharing occurs(see attachment &amp;#39;ATEasysharing_error.bmp&amp;#39;). &lt;br&gt;I use the ATEasy8 build148c edition. I&amp;#39;ve downloaded the &amp;#39;ATEasy9.-150d.exe&amp;#39; file whose size is 35.5MB, but when I tried to install it,an error occured(see attachment &amp;#39;ATEasy9Error.bmp&amp;#39;). The operating system is Windows XP professional Version 2002, service pack 2. &lt;br&gt;Thank you again for your advise.Best wishes!&lt;br&gt;&lt;br&gt;&lt;b&gt;By Li L. on 1/26/2014 2:42:13 AM&lt;/b&gt;&lt;br&gt;I can run exe file outside now.It&amp;#39;s something wrong about the variable log.&lt;br&gt;&lt;br&gt;</description><link>https://www.marvintest.com/Forums/Thread.aspx?ID=258</link><pubDate>1/17/2014 2:40:47 AM</pubDate></item><item><title>execution error when running .exe - Created on Wednesday, December 4, 2013 (Solution Avaliable)</title><description>&lt;b&gt;By Li Y. on 12/4/2013 8:56:00 PM&lt;/b&gt;&lt;br&gt;Hi,&lt;br&gt;I have to questions to ask for help:&lt;br&gt;   When running .exe file generated by the ATEasy8 software ,there is an error.Please see attachment1 "exe_wro.bmp";&lt;br&gt;   When debugging my program in ATEasy, I click "run" button in the IDE, an error will often appear . Please see attachment 2 "ate_wro.bmp".&lt;br&gt;What can I do?&lt;br&gt;Thank you!&lt;br&gt;&lt;br&gt;&lt;b&gt;By DrATEasy (Ron Y.) on 12/5/2013 1:59:50 PM&lt;/b&gt;&lt;br&gt;Both of these errors show Memory access violations.Please refer to the http://www.marvintest.com/KnowledgeBase/KBArticle.aspx?ID=213 article explaining possible reasons for this error and how the information displayed in the exception dialog can be used. If you can&amp;#39;t figure this out, you can open a support incident and upload your projects files.&lt;br&gt;&lt;br&gt;</description><link>https://www.marvintest.com/Forums/Thread.aspx?ID=256</link><pubDate>12/4/2013 8:55:59 PM</pubDate></item><item><title>How to add a Procedure (method) to a Form - Created on Tuesday, December 3, 2013 (Solution Avaliable)</title><description>&lt;b&gt;By Darrell L. on 12/3/2013 12:06:03 PM&lt;/b&gt;&lt;br&gt;I&amp;#39;ve scoured the help files and user forum to no avail...&lt;br&gt;&lt;br&gt;How do I add my own procedures to a Form?&lt;br&gt;&lt;br&gt;Thanks,&lt;br&gt;&lt;br&gt;Darrell.&lt;br&gt;&lt;br&gt;&lt;br&gt;&lt;br&gt;&lt;b&gt;By Michael W. on 12/3/2013 12:31:32 PM&lt;/b&gt;&lt;br&gt;I can do it, but I doubt it is the "right" way.  Create your procedure not in the Form, but in your Program, like you would do for normal procedures.  Once it&amp;#39;s done, right-click on the procedure name and click "cut".  Open up your form and choose "Procedures" from the drop-down list.  Make sure you have left-clicked on the word "Procedures", then right-click and select Paste.  You should now see your procedure in your form.  Not pretty, but it works.&lt;br&gt;&lt;br&gt;&lt;b&gt;By Victor B. on 12/3/2013 12:37:55 PM&lt;/b&gt;&lt;br&gt;You can also highlight the procedure group of your form and select &amp;#39;Insert Procedure Below&amp;#39; from the Insert menu bar.&lt;br&gt;&lt;br&gt;&lt;b&gt;By Darrell L. on 12/4/2013 9:02:43 AM&lt;/b&gt;&lt;br&gt;Michael &amp;amp; Victor,&lt;br&gt;&lt;br&gt;Thanks for the replies.  I got it, now.&lt;br&gt;&lt;br&gt;Cheers,&lt;br&gt;&lt;br&gt;D.&lt;br&gt;&lt;br&gt;</description><link>https://www.marvintest.com/Forums/Thread.aspx?ID=255</link><pubDate>12/3/2013 12:06:03 PM</pubDate></item><item><title>Add timestamp to Log file - Created on Thursday, November 21, 2013</title><description>&lt;b&gt;By Trevor P. on 11/21/2013 12:39:25 PM&lt;/b&gt;&lt;br&gt;I am running a test where conditions are varied over time and need the log file to summarize what/when conditions were applied. To this ends, is there a way to have a timestamp automatically added throughout the ATEasy log file? Moreover, is it possible to control how frequently those conditions are output (e.g. every 0.1 second, 1 second, etc.).&lt;br&gt;&lt;br&gt;&lt;b&gt;By DrATEasy (Ron Y.) on 11/21/2013 12:51:44 PM&lt;/b&gt;&lt;br&gt;Check the following KB artcicle:&lt;br&gt;https://www.marvintest.com/KnowledgeBase/KBSearchArticles.aspx?ID=188&amp;amp;task=go&amp;amp;search=test+log+customize&amp;amp;type=AND&lt;br&gt;&lt;br&gt;Also check the ATest object for StartTime/EndTime properties.&lt;br&gt;&lt;br&gt;You can use an ateasy ATimer, EnableInterrupt or CretaeThread/Sleep to create a timer. &lt;br&gt;&lt;br&gt;&lt;br&gt;&lt;b&gt;By Paul T. on 11/21/2013 12:54:02 PM&lt;/b&gt;&lt;br&gt;Hi Trevor! You could use the STime() function to return the current time whenever you need it (you also have the SDate() function for the current date). If you want to control things at different time intervals, you could use the Tick() function:&lt;br&gt;&lt;br&gt;This example waits for 0.1 second to elapse until a specific task is performed:&lt;br&gt;&lt;br&gt;&lt;br&gt;dwTime = Tick()&lt;br&gt;&lt;br&gt;while Tick() - dwTime &amp;lt; 100&lt;br&gt;DoEvents()&lt;br&gt;&lt;br&gt;endwhile&lt;br&gt;&lt;br&gt;&lt;br&gt;I hope my post is helpful for you. If not, excuse me and please wait until an official helper will assist you.&lt;br&gt;&lt;br&gt;Best regards,&lt;br&gt;&lt;br&gt;Paul&lt;br&gt;&lt;br&gt;</description><link>https://www.marvintest.com/Forums/Thread.aspx?ID=254</link><pubDate>11/21/2013 12:39:25 PM</pubDate></item><item><title>Can&amp;#39;t get ATEasy to debug .NET DLL - Created on Tuesday, November 5, 2013 (Solution Avaliable)</title><description>&lt;b&gt;By Darrell L. on 11/5/2013 12:48:40 PM&lt;/b&gt;&lt;br&gt;I&amp;#39;ve installed Visual Studio 2010 Professional, and have run the DotNet demo that comes with ATEasy.  That works, no problem. 
 
My problem however lies in the fact that when I try to create a .NET DLL from scratch and link to ATEasy as per the  
procedure listed out here:  https://www.marvintest.com/Forums/Thread.aspx?ID=129#390    
 
It simply does not work... I keep receiving Error #420 from ATEasy (148c) when trying to create an instance of the object. 
 
What am I missing? 
 
Please see attached project files in order to be able to reproduce the issue. 
 
Thanks, 
 
Darrell.  &lt;br&gt;&lt;br&gt;&lt;b&gt;By Darrell L. on 11/5/2013 12:49:40 PM&lt;/b&gt;&lt;br&gt;And the 2nd project file (Forum didn&amp;#39;t allow me to upload 2 files???)&lt;br&gt;&lt;br&gt;&lt;br&gt;&lt;br&gt;&lt;b&gt;By Victor B. on 11/5/2013 4:31:06 PM&lt;/b&gt;&lt;br&gt;Rename your CONFIG file to ATEasy8DebugDemo.exe.config and place in the same directory as ATEasy8DebugDemo.exe&lt;br&gt;&lt;br&gt;Regards,&lt;br&gt;Victor Brode&lt;br&gt;&lt;br&gt;&lt;b&gt;By Darrell L. on 11/6/2013 5:43:13 AM&lt;/b&gt;&lt;br&gt;Victor,&lt;br&gt;&lt;br&gt;I&amp;#39;ve done as you suggested and still have not been successful (still getting Error #420)...&lt;br&gt;&lt;br&gt;Also noticed that VS2010 tells me that my breakpoints won&amp;#39;t be "hit" as no symbols have been loaded...&lt;br&gt;&lt;br&gt;Any thoughts on this?&lt;br&gt;&lt;br&gt;Cheers,&lt;br&gt;&lt;br&gt;D.&lt;br&gt;&lt;br&gt;&lt;b&gt;By Darrell L. on 11/7/2013 9:41:33 AM&lt;/b&gt;&lt;br&gt;The problem occurred because my ATEasy source code was residing on our Corporate fileserver.  &lt;br&gt;&lt;br&gt;Moving the ATEasy source code to my local machine resolved the Error #420 issue.&lt;br&gt;&lt;br&gt;Having the .NET code stored locally or on the fileserver made no difference.&lt;br&gt;&lt;br&gt;All works as it should, now :)&lt;br&gt;&lt;br&gt;Regards,&lt;br&gt;&lt;br&gt;D.&lt;br&gt;&lt;br&gt;</description><link>https://www.marvintest.com/Forums/Thread.aspx?ID=253</link><pubDate>11/5/2013 12:48:40 PM</pubDate></item><item><title>Change in True/False evaluation? - Created on Thursday, October 31, 2013 (Solution Avaliable)</title><description>&lt;b&gt;By Richard T. on 10/31/2013 5:00:42 PM&lt;/b&gt;&lt;br&gt;I recently came accross a project that was not used for 18 months and it now currently fails a test that was verified with probes to be working properly. The code was compiled in ATEasy 6 and had been using that runtime engine. Recently we upgraded to ATEasy 8 and the coressponding runtime engine. Knowing this, I recompiled the code for ATEasy 8, however the failure still occurs.&lt;br&gt;&lt;br&gt;After debugging I found the dll I was interfacing with was populating a boolean value with 0 for FALSE and 1 for TRUE. ATEasy has -1 for TRUE and 0 for FALSE. Since this used to work, I think the ATEasy runtime engine changed the assembly code from a TRUE = Not Zero to a TRUE = -1 test leaving FALSE to be anytime that test fails.&lt;br&gt;&lt;br&gt;I looked through all of the ATEasy Readme file and I could not find any mention of how a bool value is interpreted for TRUE FALSE.&lt;br&gt;&lt;br&gt;&lt;b&gt;By DrATEasy (Ron Y.) on 11/1/2013 10:02:06 AM&lt;/b&gt;&lt;br&gt;Did the bool value was set by a DLL/COM function Var parameter?&lt;br&gt;&lt;br&gt;&lt;b&gt;By Richard T. on 11/1/2013 2:52:30 PM&lt;/b&gt;&lt;br&gt;Yes.&lt;br&gt;&lt;br&gt;I have a ATEasy driver that then interfaces with another company&amp;#39;s DLL where I am using a procedure as defined by:&lt;br&gt;&lt;br&gt;Procedure (Val DWord, Val Long, Var Bool, Var DWord, Var DWord)&lt;br&gt;&lt;br&gt;&lt;br&gt;&lt;br&gt;&lt;br&gt;&lt;b&gt;By DrATEasy (Ron Y.) on 11/1/2013 3:03:32 PM&lt;/b&gt;&lt;br&gt;That is an issue that was introduced in v8 and will be fixed in the next build 148d.&lt;br&gt;In v6 Var Bool  was normalized to 0/-1 on the return. This code was omitted by mistake in v8. We will bring it back in 148d.&lt;br&gt;Thanks for the report.&lt;br&gt;&lt;br&gt;&lt;b&gt;By DoubleM (Moti M.) on 1/28/2014 12:25:01 AM&lt;/b&gt;&lt;br&gt;where can I find the 148d build?&lt;br&gt;&lt;br&gt;</description><link>https://www.marvintest.com/Forums/Thread.aspx?ID=252</link><pubDate>10/31/2013 5:00:42 PM</pubDate></item><item><title>.pgt file error when saving - Created on Wednesday, October 23, 2013</title><description>&lt;b&gt;By David K. on 10/23/2013 12:17:48 PM&lt;/b&gt;&lt;br&gt;I have a program that was initially written in ATEasy 6 and then migrated to ATEasy 8. When I set the options for save as Binary &amp;amp; Text and save the file an error is displayed that simply says it failed to save the document. I have previously tried deleting the file and allowing it to rebuild from scratch and it has the same problem.&lt;br&gt;&lt;br&gt;Thanks for any help.&lt;br&gt;&lt;br&gt;&lt;b&gt;By Victor B. on 10/24/2013 11:57:11 AM&lt;/b&gt;&lt;br&gt;Hi David,&lt;br&gt;&lt;br&gt;I tried to reproduce the issue that you saw but I was unable to do so.  I tried the following process:&lt;br&gt;&lt;br&gt;-Installed ATEasy 6-136d&lt;br&gt;-Created a Text Application with a WSP, PJT, PGT, SYT&lt;br&gt;-Created a Binary Application with a WSP PRJ, PRG, SYS&lt;br&gt;-Installed ATEasy 8-148c&lt;br&gt;-Opened Binary Application&lt;br&gt;---Set Save Option to Both Txt and Bin&lt;br&gt;---Added procedures to the Program and System.&lt;br&gt;---Clicked Save for each module.&lt;br&gt;-Opened Text Application&lt;br&gt;  -Same process as above&lt;br&gt;&lt;br&gt;Maybe you had a different step?  Or maybe it&amp;#39;s specific to something in one of your files?&lt;br&gt;&lt;br&gt;&lt;b&gt;By David K. on 10/29/2013 10:28:23 AM&lt;/b&gt;&lt;br&gt;What it looks like is it creates the .pgt file and is always stopping somewhere in the middle of my commands statements. Modifying the command seems move the issue around but not in a pattern I can follow. Deleting the entire commands section from my program allows it to generate the .pgt completely. Is there a known sensativity to the commands structure or content that can stop .pgts from being created?&lt;br&gt;&lt;br&gt;Thanks,&lt;br&gt;&lt;br&gt;&lt;b&gt;By Victor B. on 10/29/2013 10:34:20 AM&lt;/b&gt;&lt;br&gt;I haven&amp;#39;t heard of anything like that, but I&amp;#39;m glad that you were able to narrow it down.  If you post the PGT file, we can look through it or run it through the debugger to pinpoint the issue.  This forum is public, so if you have information that you would rather not share it would be best to open a support incident at this point.&lt;br&gt;&lt;br&gt;&lt;b&gt;By David K. on 10/29/2013 10:38:05 AM&lt;/b&gt;&lt;br&gt;I was able to isolate it. Looks like a couple of the commands have invalid parameters being set which was throwing a infinite loop of errors if you tried to click on the substatements. Deleting the entries and recreating them with the proper procedure attachments has fixed the issue. Apparently I had been carrying this code element around quite some time. Thanks for the support.&lt;br&gt;&lt;br&gt;</description><link>https://www.marvintest.com/Forums/Thread.aspx?ID=251</link><pubDate>10/23/2013 12:17:48 PM</pubDate></item><item><title>System.Windows.Input.ICommand not available in ATEasy 8.0 148c? - Created on Monday, September 9, 2013 (Solution Avaliable)</title><description>&lt;b&gt;By Joseph P. on 9/9/2013 8:43:31 AM&lt;/b&gt;&lt;br&gt;I am trying to import a .NET 4.0 dll, that exposes some properties as: System.Windows.Input.ICommand&lt;br&gt;When ATEasy shows the classes, the value is show as only Object.&lt;br&gt;So I tried just inserting the PresentationCore 4.0 library, this did not show the ICommand interface as being imported as well.&lt;br&gt;&lt;br&gt;Is this a known problem, and if so, is there a work around?&lt;br&gt;&lt;br&gt;NOTE: I downloaded 148c and this did not help the problem.&lt;br&gt;TO DUPLICATE: Insert PresentationCore 3.0 or 4.0 and look for the ICommand uder the classes in the System.Windows.Input namespace.&lt;br&gt;&lt;br&gt;&lt;b&gt;By DrATEasy (Ron Y.) on 9/9/2013 4:05:01 PM&lt;/b&gt;&lt;br&gt;The problem is with the  PresentationCore.dll assembly.  In .Net 4.0 Microsoft has moved the ICommand interface from PresentationCore.dll to System.dll (namespace System.Windows.Input.ICommand); ATEasy unable to load ICommand from PresentationCore.dll assembly and has to convert it to generic Object type. You will need to include System v4.0 assembly (select the System.Windows.Input.ICommandclass ) to view ICommand interface.  &lt;br&gt;&lt;br&gt;&lt;br&gt;&lt;b&gt;By Joseph P. on 9/18/2013 4:29:27 PM&lt;/b&gt;&lt;br&gt;To my knowledge the change to the ICommand interface is for .NET 4.5.&lt;br&gt;So the System.Windows.Input.ICommand interface still exists in the PresentationCore.dll as of 4.0.&lt;br&gt;The object browser in Visual Studio shows me that PresentationCore has the ICommand and System does not.&lt;br&gt;The object browser in ATEasy seems to find an ICommand interface in the System.dll in the 4.0 version and therefore no ICommand in the PresentationCore.dll&lt;br&gt;&lt;br&gt;I am not sure how to rectify this other than wrap my ICommand objects so that they are ATEasy compatible?&lt;br&gt;&lt;br&gt;&lt;br&gt;&lt;b&gt;By Albert Q. on 9/19/2013 12:57:06 PM&lt;/b&gt;&lt;br&gt;When .NET 4.5 is installed it effectively replaces .NET 4.0 on the machine, the new set of assemblies have the same version v4.0.30319 as the old ones.&lt;br&gt;The v4.0 System.dll and PresentationCore.dll displayed under ATEasy are actually new assemblies installed by .Net 4.5.&lt;br&gt;&lt;br&gt;You can work-around this problem by forcing ATEasy to use old version assemblies (&amp;lt;4.0) using the xml config file, the config file must have the same name as the exe (e.g ATEasy.exe.config or MyStandAloneExe.exe.config) and resides in the same folder as the exe, the file contains the following xml text :&lt;br&gt;&lt;br&gt;&amp;lt;?xml version="1.0" encoding="utf-8" ?&amp;gt; &lt;br&gt;&amp;lt;configuration&amp;gt; &lt;br&gt;  &amp;lt;!-- http://msdn.microsoft.com/en-us/library/w4atty68.aspx --&amp;gt; &lt;br&gt;  &amp;lt;startup useLegacyV2RuntimeActivationPolicy="true"&amp;gt; &lt;br&gt;    &amp;lt;supportedRuntime version="v2.0.50727" /&amp;gt; &lt;br&gt;  &amp;lt;/startup&amp;gt; &lt;br&gt;&amp;lt;/configuration&amp;gt;&lt;br&gt;&lt;br&gt;I&amp;#39;ve attached the ATEasy.exe.config file, please download and copy this file to ATEasy folder.&lt;br&gt;&lt;br&gt;&lt;br&gt;</description><link>https://www.marvintest.com/Forums/Thread.aspx?ID=246</link><pubDate>9/9/2013 8:43:31 AM</pubDate></item><item><title>4 questions about ATEasy - Created on Sunday, September 1, 2013 (Solution Avaliable)</title><description>&lt;b&gt;By Li Y. on 9/1/2013 10:12:37 PM&lt;/b&gt;&lt;br&gt;Hi,&lt;br&gt;I have 4 questions about ATEasy and need your help: &lt;br&gt;1,whether it can  be used in Agilent PXIe embedded computer, I&amp;#39;m not sure that it can recognize the PXI, GPIB and the LAN interface instruments well; &lt;br&gt;2,whether it can run in operating systems like Win 7 or above,&lt;br&gt;3,what should we do and need if we want to run executive files .exe automated generated from ATEasy 8.It seems that sometimes  there would be error message if we double click it.&lt;br&gt;4,how can it support Chinese language?&lt;br&gt;   Thank you and may you all have happy lives!&lt;br&gt;&lt;br&gt;&lt;b&gt;By DrATEasy (Ron Y.) on 9/3/2013 10:02:21 AM&lt;/b&gt;&lt;br&gt;1. Yes, ATEasy can work with all the above (GPIB, LXI, etc) on any chassis running Windows XP-Windows 8 (32/64 bit). It can also work with any VISA implementation (NI/Aggilent) or wIth MTS HW PXI Explorer and/or with the vendor specific driver (for example NI-GPIB).&lt;br&gt;2. We recommend Windows XP-Windows 8 (32 or 64 bit). It will also run on older Windows.&lt;br&gt;3. Please open a support incident (https://www.marvintest.com/magic) and upload the EXE file that is not working for you. Specify the error message that you see (screen capture would be nice).&lt;br&gt;4. Our upcomming ATEasy 9 fully support any unicode language inclusing chineese, If you want to try it, open a support incident and requires a copy of the pre-release v9.&lt;br&gt;&lt;br&gt;Ronnie&lt;br&gt;&lt;br&gt;</description><link>https://www.marvintest.com/Forums/Thread.aspx?ID=245</link><pubDate>9/1/2013 10:12:37 PM</pubDate></item><item><title>Process and StreamReader in ATEasy - Created on Tuesday, August 20, 2013 (Solution Avaliable)</title><description>&lt;b&gt;By Roy D. on 8/20/2013 7:05:50 AM&lt;/b&gt;&lt;br&gt;hello,&lt;br&gt;i&amp;#39;m building a testing software in ATEasy&lt;br&gt;where i need to open cmd send a command, and read the result&lt;br&gt;then verify whether the result is ok&lt;br&gt;&lt;br&gt;i wrote these steps in c#, using the Process class&lt;br&gt;and the StandardOutput property to read the response from cmd.exe&lt;br&gt;&lt;br&gt;i&amp;#39;m getting a hard time doing the same this in ATEasy&lt;br&gt;the closest i got is with the WinExec procedure, but i don&amp;#39;t get a stream reader with it.&lt;br&gt;&lt;br&gt;i tried to use .NET assemblies in order to use C# classes in ATEasy&lt;br&gt;but i get runtime exeptions&lt;br&gt;&lt;br&gt;thank you&lt;br&gt;&lt;br&gt;&lt;b&gt;By DrATEasy (Ron Y.) on 8/20/2013 9:01:48 AM&lt;/b&gt;&lt;br&gt;Take a look at the StdIoProcess example (test 1) provided with ATEasy 8. It shows how to capture and output data from/to the command prompt:&lt;br&gt;&lt;br&gt;append "\r\nTest Results:\r\n"&lt;br&gt;StdIOProcess Execute("cmd.exe", "", "Dir\r\nExit\r\n")&lt;br&gt;append  StdIOProcess Get StdOutput()&lt;br&gt;append "Process Exit Code="; StdIOProcess Get ExitCode();"\r\n"&lt;br&gt;&lt;br&gt;</description><link>https://www.marvintest.com/Forums/Thread.aspx?ID=242</link><pubDate>8/20/2013 7:05:50 AM</pubDate></item><item><title>Reset ATEasy.usr - Created on Friday, August 2, 2013 (Solution Avaliable)</title><description>&lt;b&gt;By Oliver W. on 8/2/2013 3:15:20 AM&lt;/b&gt;&lt;br&gt;Hello,&lt;br&gt;&lt;br&gt;how do i reset login requirement? I forgot the password and now can&amp;#39;t enter the IDE anymore. Tryed to reinstall and to delete ATEasy.usr under windows/system32 but neither helped.&lt;br&gt;&lt;br&gt;&lt;b&gt;By DrATEasy (Ron Y.) on 8/2/2013 6:11:07 PM&lt;/b&gt;&lt;br&gt;Did you set the path of the user file to a different location than system32?&lt;br&gt;&lt;br&gt;If you did not, I&amp;#39;ve included the default ATEasy.usr file you can copy it to your Windows System32 folder or SysWOW64 on x64 machines. If your application does not verify for specific ATEasy.usr content or path - copying it should work. Note that If you customized the test executive your changes will be lost. &lt;br&gt;&lt;br&gt;&lt;b&gt;By Oliver W. on 8/5/2013 4:42:36 AM&lt;/b&gt;&lt;br&gt;The default ATEasy.usr file did not work for me. I checked security settings and set it to full control for System user. It&amp;#39;s possible that i changed the path to a different location, i don&amp;#39;t exactly remember that. But i searched for .usr files on all drives and couldn&amp;#39;t find another one.

Edit: Problem solved for me now. After the 1000th guess of a user/password combination i&amp;#39;m now back into the workspace. There was no path to a .usr file set in settings. Pointed it to the default system32 file and all good now.&lt;br&gt;&lt;br&gt;</description><link>https://www.marvintest.com/Forums/Thread.aspx?ID=241</link><pubDate>8/2/2013 3:15:20 AM</pubDate></item><item><title>Clear recent Files/Workspaces list - Created on Tuesday, July 23, 2013 (Solution Avaliable)</title><description>&lt;b&gt;By Darrell L. on 7/23/2013 1:40:26 PM&lt;/b&gt;&lt;br&gt;How do I clear the recently opened files list as well as the recently opened workspaces list?&lt;br&gt;&lt;br&gt;Can&amp;#39;t find a clear option anywhere for it.&lt;br&gt;&lt;br&gt;Thanks,&lt;br&gt;&lt;br&gt;Darrell.&lt;br&gt;&lt;br&gt;&lt;b&gt;By Victor B. on 7/23/2013 5:07:41 PM&lt;/b&gt;&lt;br&gt;Hi Darrell,&lt;br&gt;&lt;br&gt;The recent files are stored in the registry:&lt;br&gt;HKEY_CURRENT_USER\Software\Geotest\ATEasy\Recent File List&lt;br&gt;HKEY_CURRENT_USER\Software\Geotest\ATEasy\Recent Workspace List&lt;br&gt;&lt;br&gt;Regards,&lt;br&gt;Victor Brode&lt;br&gt;&lt;br&gt;&lt;b&gt;By Darrell L. on 7/24/2013 6:58:31 AM&lt;/b&gt;&lt;br&gt;Victor,&lt;br&gt;&lt;br&gt;Thanks for the info.  That did the trick.&lt;br&gt;&lt;br&gt;Regards,&lt;br&gt;&lt;br&gt;Darrell.&lt;br&gt;&lt;br&gt;</description><link>https://www.marvintest.com/Forums/Thread.aspx?ID=240</link><pubDate>7/23/2013 1:40:26 PM</pubDate></item><item><title>Window Messages WM_COPYDATA with Ateasy 8 - Created on Wednesday, July 17, 2013</title><description>&lt;b&gt;By Cyril P. on 7/17/2013 11:01:44 AM&lt;/b&gt;&lt;br&gt;Hello,

is there a way to use Window Message SendMessage() WM_COPYDATA with Ateasy 8 to control another application?

I need to control another application which allow to do that with the SendMessage() with system-defined message WM_COPTYDATA, but I&amp;#39;m not familiar with Window Messages and I don&amp;#39;t know if it is possible to do it with Ateasy 8.

Thanks for your help.
Cyril&lt;br&gt;&lt;br&gt;&lt;b&gt;By Victor B. on 7/17/2013 1:04:16 PM&lt;/b&gt;&lt;br&gt;Hi Cyril,&lt;br&gt;&lt;br&gt;Yes, the SendMessage APIs are part of User32.dll and the functions can be called from ATEasy.  Link to the User32.dll and define the functions that you will need to use in your ATEasy project (or import the Windows.h file if you want all the functions defined).&lt;br&gt;&lt;br&gt;Regards,&lt;br&gt;Victor Brode&lt;br&gt;&lt;br&gt;&lt;b&gt;By Cyril P. on 7/18/2013 6:36:36 AM&lt;/b&gt;&lt;br&gt;Hi Victor,&lt;br&gt;&lt;br&gt;thanks for your reply.&lt;br&gt;I know that SendMessage API is part of User32.dll and I have define it in ateasy, but the MSDN doc is not so much clear and I don&amp;#39;t know exactly how I can used it in ateasy.&lt;br&gt;I have done some trials and it is not working yet. SendMessage return always 0.&lt;br&gt;&lt;br&gt;Regards,&lt;br&gt;Cyril&lt;br&gt;&lt;br&gt;&lt;b&gt;By Victor B. on 7/18/2013 10:11:28 PM&lt;/b&gt;&lt;br&gt;Hi Cyril,&lt;br&gt;&lt;br&gt;I wonder if the simplest method for transferring data between applications wouldn&amp;#39;t be using the system clipboard?  You can access it from ATEasy using functions like Clipboard.SetText("Foo") or myImage=Clipboard.GetPicture()&lt;br&gt;&lt;br&gt;If you have already imported the relevant User32 APIs, then I would suggest adapting an example like http://msdn.microsoft.com/en-us/library/windows/desktop/ms649009(v=vs.85).aspx or posting the code here.&lt;br&gt;&lt;br&gt;Regards,&lt;br&gt;Victor Brode&lt;br&gt;&lt;br&gt;&lt;b&gt;By Cyril P. on 7/19/2013 2:19:45 AM&lt;/b&gt;&lt;br&gt;Hi Victor,

The application I would to communicate with is a commercial one. After reading again its documentation I finally understand how it work and what I should do to communicate with.
For now, I am able to send message to this application and it works.
I am focusing now how to get the anwser from this application.

Edit: It seems to be much complicated to receive a message from the other application than sending it.
I tried to implement the SetWindowLong to change the WndProc to mine, but Ateasy doesn&amp;#39;t like and crash.
If you have a hint for me, I&amp;#39;ll thankful.

Regards,
Cyril&lt;br&gt;&lt;br&gt;&lt;b&gt;By Cyril P. on 7/19/2013 4:41:13 AM&lt;/b&gt;&lt;br&gt;Previous post edited.&lt;br&gt;&lt;br&gt;&lt;b&gt;By Victor B. on 7/19/2013 5:25:36 PM&lt;/b&gt;&lt;br&gt;There should be nothing to prevent you from receiving messages to your ATEasy application.  You would use the same library to to check the message queue and retrieve the messages.  See this article for more examples: http://msdn.microsoft.com/en-us/library/windows/desktop/ms644928(v=vs.85).aspx&lt;br&gt;&lt;br&gt;Regards,&lt;br&gt;Victor Brode&lt;br&gt;&lt;br&gt;</description><link>https://www.marvintest.com/Forums/Thread.aspx?ID=239</link><pubDate>7/17/2013 11:01:44 AM</pubDate></item><item><title>System.OnAbort() Runs Twice - Created on Wednesday, June 5, 2013 (Solution Avaliable)</title><description>&lt;b&gt;By Adam B. on 6/5/2013 2:58:56 PM&lt;/b&gt;&lt;br&gt;I noticed my program printing 2 copies of the test report (prompted in the System.OnAbort section) when I either manually aborted or programmatically aborted.&lt;br&gt;&lt;br&gt;You can test this by creating a simple program and a popup box in the System.OnAbort section.  You will have to close the box twice.  The Program.OnAbort only runs once.  This seems to happen with and without the TestExec.&lt;br&gt;&lt;br&gt;I am running ATEasy 8 build 148a.&lt;br&gt;&lt;br&gt;&lt;b&gt;By DrATEasy (Ron Y.) on 6/14/2013 11:05:42 AM&lt;/b&gt;&lt;br&gt;This issue was fixed in v8 148b. &lt;br&gt;&lt;br&gt;</description><link>https://www.marvintest.com/Forums/Thread.aspx?ID=236</link><pubDate>6/5/2013 2:58:56 PM</pubDate></item><item><title>Log Summary Tab - Created on Tuesday, May 21, 2013 (Solution Avaliable)</title><description>&lt;b&gt;By Adam B. on 5/21/2013 8:17:12 AM&lt;/b&gt;&lt;br&gt;I have a lengthy test, and at the end of the test I want the Test Exec to automatically switch to the test summary tab.  (Likewise, it should switch to the ALL tests tab when starting a new test).  I cannot seem to find the right commands to do this.&lt;br&gt;&lt;br&gt;Additionally, I&amp;#39;d like the Print Log button to print either the ALL log or the summary depending on which tab is enabled.  An acceptable compromise  would be to make a Print Summary button, but I have not found a command to do this either.&lt;br&gt;&lt;br&gt;So far, the only command I&amp;#39;ve found to accomplish these goals is the below to ensure Log Failures are enabled:&lt;br&gt;TestExec.SetOption(ateOptionsLogFailuresInSummary,TRUE)&lt;br&gt;&lt;br&gt;&lt;br&gt;&lt;br&gt;&lt;b&gt;By DrATEasy (Ron Y.) on 5/21/2013 12:42:25 PM&lt;/b&gt;&lt;br&gt;Use the following in System.OnEndProgram:&lt;br&gt;&lt;br&gt;tab: ATab&lt;br&gt;&lt;br&gt;tab=TestExec Log Get Control(ateLogSummary).Container&lt;br&gt;tab.ActivatePage(1)&lt;br&gt;&lt;br&gt;&lt;b&gt;By Adam B. on 5/22/2013 11:04:23 AM&lt;/b&gt;&lt;br&gt;Thanks Ron,&lt;br&gt;&lt;br&gt;I was able to make my own print button to print the log summary.&lt;br&gt;&lt;br&gt;Surprisingly, to change back to the ALL tab I used:&lt;br&gt;&lt;br&gt;tab=TestExec Log Get Control(ateLogSummary).Container&lt;br&gt;tab.ActivatePage(0)&lt;br&gt;&lt;br&gt;Adam&lt;br&gt;&lt;br&gt;</description><link>https://www.marvintest.com/Forums/Thread.aspx?ID=234</link><pubDate>5/21/2013 8:17:12 AM</pubDate></item><item><title>OnInit / OnInitSystem / OnInitProgram - Created on Thursday, May 16, 2013 (Solution Avaliable)</title><description>&lt;b&gt;By Brian B. on 5/16/2013 9:17:45 AM&lt;/b&gt;&lt;br&gt;Is there any settings within ATEasy 148b that would prevent OnInit from working?&lt;br&gt;The system&amp;#39;s OnInit does not run at all. The system&amp;#39;s OnInitProgram seems to be the first event to run. &lt;br&gt;The individual drivers&amp;#39; OnInits do not run either unless explicitly called.&lt;br&gt;According to the help file, the order is &lt;br&gt;system OnInit&lt;br&gt;driver OnInit&lt;br&gt;system OnInitSystem&lt;br&gt;...&lt;br&gt;system OnInitProgram&lt;br&gt;...&lt;br&gt;&lt;br&gt;The system does not exit or abort.&lt;br&gt;TestExec seems to be working, but even there the OnInitProgram fires before OnInit.&lt;br&gt;&lt;br&gt;So what am I doing wrong?&lt;br&gt;&lt;br&gt;&lt;br&gt;&lt;br&gt;&lt;b&gt;By DrATEasy (Ron Y.) on 5/16/2013 10:18:22 AM&lt;/b&gt;&lt;br&gt;1. Order of events is correct however, events are called only if they have code in them. &lt;br&gt;2. Are you running using DoIt!? Or you just use the Start button? There is a setting to force calling events, however it applies to DoIt! (See Options dialog, Other page). &lt;br&gt;3. Try to run the ModuleEvents.prj example, It print the events that get called.&lt;br&gt;4. If you are using the TestExec, it will call all the drivers that are inserted after it (under System drivers) explicitly, See TestExec.InitializeDriversAndSystem() called from TestExec.OnInit(). You can place a break point there and see what happens.&lt;br&gt;&lt;br&gt;Regards,&lt;br&gt;Ronnie&lt;br&gt;&lt;br&gt;&lt;br&gt;&lt;br&gt;&lt;b&gt;By Brian B. on 5/16/2013 11:37:04 AM&lt;/b&gt;&lt;br&gt;Many of the drivers that I am dealing with have code in the OnInit. I placed print statements in to trace through the program. This is how I verified the event was not being called. I also found that the .syt file OnInit event does not fire, but its OnInitProgram does.&lt;br&gt;&lt;br&gt;I run the program executable directly as the program reads the commandline for parameters.&lt;br&gt;&lt;br&gt;&lt;b&gt;By Brian B. on 5/16/2013 11:41:56 AM&lt;/b&gt;&lt;br&gt;What about the drivers that need to be initialized before the TestExec?&lt;br&gt;&lt;br&gt;&lt;b&gt;By DrATEasy (Ron Y.) on 5/16/2013 11:46:38 AM&lt;/b&gt;&lt;br&gt;1. Print statement will not work since the log is created only after the test TestExec.OnInit s called. Change to MsgBox.&lt;br&gt;2. The drivers that are inserted before the TestExec are called automatically by the run-time before the test executive get&amp;#39;s called.&lt;br&gt;&lt;br&gt;&lt;br&gt;&lt;b&gt;By Brian B. on 5/16/2013 1:08:46 PM&lt;/b&gt;&lt;br&gt;Thanks, that clears up a lot of confusion.&lt;br&gt;&lt;br&gt;</description><link>https://www.marvintest.com/Forums/Thread.aspx?ID=233</link><pubDate>5/16/2013 9:17:45 AM</pubDate></item><item><title>Check Version - Created on Thursday, May 2, 2013 (Solution Avaliable)</title><description>&lt;b&gt;By Brian B. on 5/2/2013 8:55:45 AM&lt;/b&gt;&lt;br&gt;I am running a debug on some code and keep getting an error from TestExec:&lt;br&gt;&lt;br&gt;"Check Version and Modify failed"&lt;br&gt;&lt;br&gt;I try to trace through the issue, but I don&amp;#39;t see exactly where the error thrown. I follow along until this line in the TestExec CheckVersionAndModify() procedure:&lt;br&gt;&lt;br&gt;        if m_stRunTime.stPublicTag.vOptionsLast[ateOptionsLastLogFormat][ateOptionValue]=TRUE &lt;br&gt;&lt;br&gt;and when I go to step into or over, I get tossed out and the error message is displayed&lt;br&gt;&lt;br&gt;What is causing this issue? Or where should I be looking to fix the problem?&lt;br&gt;&lt;br&gt;&lt;b&gt;By DrATEasy (Ron Y.) on 5/2/2013 3:00:38 PM&lt;/b&gt;&lt;br&gt;The problem is caused because the USR file that is used to store the options and other settings is different then the version of the USR file that is required by your version of the Test executive. Normally USR files are backward compatible and when you load a file that has an older version the test executive will update it. In that case the code you mentioned is called. Somehow in your case the file has wrong or unexpected data and that is why you get the error. If you have not customized the test executive you can replace the file with the generic one that comes with ATEasy (normally located in The Windows System32/SysWow64), or you can create a brand new one using the AUsers.Open function. If you customize you need to see place a breakpoint in that line and see what is wrong with the m_stRunTime.stPublicTag.vOptionsLast or just skip that block and make him continue with the load.&lt;br&gt;&lt;br&gt;&lt;br&gt;&lt;b&gt;By Brian B. on 5/3/2013 9:37:20 AM&lt;/b&gt;&lt;br&gt;I should clarify. That is exactly where I set a breakpoint. When the program encounters this "if" statement and I go to step over or into, it does not go to either the true or false branch of this statement, it just jumps out to display the error message. &lt;br&gt;&lt;br&gt;Also, the program is just using the generic straight out of the box .usr file. TestExec has not been modified. &lt;br&gt;&lt;br&gt;&lt;b&gt;By DrATEasy (Ron Y.) on 5/3/2013 4:34:44 PM&lt;/b&gt;&lt;br&gt;Check your TestExec shortcut properties does it specify the path for different user file? You can try to rename it and see if you can still run the application.The default USR file works with the test executive. I attached the USR file.&lt;br&gt;&lt;br&gt;&lt;b&gt;By Brian B. on 5/8/2013 7:21:15 AM&lt;/b&gt;&lt;br&gt;The .usr file is located in windows\syswow64. I don&amp;#39;t see a path listed in the testexec properties. Where would that be listed? Under misc? If so, this is blank.&lt;br&gt;&lt;br&gt;I replaced the .usr file with the one you suggested and had the same result.&lt;br&gt;&lt;br&gt;&lt;b&gt;By DrATEasy (Ron Y.) on 5/8/2013 3:43:57 PM&lt;/b&gt;&lt;br&gt;I need to verify that the USR file that you use is from that folder, Can you rename the  USR file and see if the test executive complains when you start the an EXE that is using the test executive?  If you are rename the USR file, you will not be able to run the IDE, so that is why I need you to run EXE.&lt;br&gt;&lt;br&gt;What version and exact build  are you using? Is it 148b? was the test executive modified or is it the default? Can you upload the file, so I can verify that it was not modified? I&amp;#39;ve tried to use ATEasy.usr and the Test Exec 148b and there is no issue.&lt;br&gt;&lt;br&gt;&lt;br&gt;&lt;b&gt;By Brian B. on 5/13/2013 2:45:12 PM&lt;/b&gt;&lt;br&gt;I believe the issue stems from testing the 148.c version. I found out later that our customer could not use this version. So I reloaded the 148.b version.&lt;br&gt;&lt;br&gt;&lt;b&gt;By DrATEasy (Ron Y.) on 5/14/2013 6:47:18 PM&lt;/b&gt;&lt;br&gt;The 148c is pre-release. I tried it and could not see a problem with. I uploaded the latest testexec.drv. If you have time , let me know if it shows with this driver.&lt;br&gt;&lt;br&gt;&lt;b&gt;By Brian B. on 5/15/2013 7:18:41 AM&lt;/b&gt;&lt;br&gt;The problem occurred after dropping back to 148b. Sorry for the confusion. I can&amp;#39;t be certain if that is the problem or not.&lt;br&gt;&lt;br&gt;</description><link>https://www.marvintest.com/Forums/Thread.aspx?ID=232</link><pubDate>5/2/2013 8:55:45 AM</pubDate></item><item><title>NI GPIB interface and drivers not listed after upgrading GeoTest Hardware drivers - Created on Thursday, May 2, 2013 (Solution Avaliable)</title><description>&lt;b&gt;By Darrell L. on 5/2/2013 7:41:57 AM&lt;/b&gt;&lt;br&gt;I&amp;#39;ve inherited a legacy system and wanted to use the GXXXXX control panels but the installed
software drivers were outdated and continually crashing on my system.

Once the software was updated, the panels work correctly but now ATEasy won&amp;#39;t allow me to
add my GPIB interface in order to control my external instruments.

When trying to add the GPIB interface, no NI drivers are listed in the selection comboBox
even though I have them installed and can use them without incident in other development
environments.

I am currently using ATEasy 8, latest build.

See screenshot for details.

Any help on this is greatly appreciated.

D.&lt;br&gt;&lt;br&gt;&lt;b&gt;By Darrell L. on 5/2/2013 8:47:54 AM&lt;/b&gt;&lt;br&gt;Solved:&lt;br&gt;&lt;br&gt;System had BOTH Agilent IO and NI-VISA/488 installed.  Since I have an NI board, the Agilent drivers were uninstalled.&lt;br&gt;&lt;br&gt;Reboot, still no driver listed for ATE easy to use.&lt;br&gt;&lt;br&gt;Updated NI-VISA to 5.3 and we&amp;#39;re good to go.&lt;br&gt;&lt;br&gt;</description><link>https://www.marvintest.com/Forums/Thread.aspx?ID=231</link><pubDate>5/2/2013 7:41:57 AM</pubDate></item><item><title>assign commands to procedure variables - Created on Friday, April 12, 2013 (Solution Avaliable)</title><description>&lt;b&gt;By Nagib M. on 4/12/2013 8:24:25 AM&lt;/b&gt;&lt;br&gt;Hi,&lt;br&gt;&lt;br&gt;I&amp;#39;ve seen in ATeasy documentation that since v8.0, it&amp;#39;s possible to assign commands to procedures variables.&lt;br&gt;&lt;br&gt;Does anyone know how to achieve this?&lt;br&gt;&lt;br&gt;Thank you&lt;br&gt;&lt;br&gt;&lt;b&gt;By DrATEasy (Ron Y.) on 4/12/2013 8:55:31 AM&lt;/b&gt;&lt;br&gt;Declare a procedure variable:&lt;br&gt;&lt;br&gt;proc :Procedure&lt;br&gt;&lt;br&gt;Suppose we have a command:&lt;br&gt;&lt;br&gt;DMM Measure (pdResult: Var Double)&lt;br&gt;&lt;br&gt;Use it as follows:&lt;br&gt;&lt;br&gt;proc="DMM Measure"&lt;br&gt;&lt;br&gt;or&lt;br&gt;&lt;br&gt;proc=DMM Measure&lt;br&gt;&lt;br&gt;Now, call It:&lt;br&gt;&lt;br&gt;proc(TestResult)&lt;br&gt;&lt;br&gt;&lt;br&gt;&lt;br&gt;&lt;b&gt;By DoubleM (Moti M.) on 4/14/2013 1:02:03 AM&lt;/b&gt;&lt;br&gt;What if the original command was: "DMM Measure (pdResult: Val Double=12)" ? meaning, there is a constant in the command.&lt;br&gt;&lt;br&gt;&lt;b&gt;By DrATEasy (Ron Y.) on 4/15/2013 8:49:19 AM&lt;/b&gt;&lt;br&gt;If you mean that the command has an argument, then the parameter is eliminated and you call it:&lt;br&gt;&lt;br&gt;proc()&lt;br&gt;&lt;br&gt;If you mean that the procedure have an optional parameter with default value of 12, then you can call it:&lt;br&gt;&lt;br&gt;proc()&lt;br&gt;or proc(13)&lt;br&gt;&lt;br&gt;&lt;br&gt;</description><link>https://www.marvintest.com/Forums/Thread.aspx?ID=229</link><pubDate>4/12/2013 8:24:25 AM</pubDate></item><item><title>How to bring a Form to the foreground? (top of the Windows Z order) - Created on Wednesday, April 10, 2013</title><description>&lt;b&gt;By Darrell L. on 4/10/2013 12:55:08 PM&lt;/b&gt;&lt;br&gt;I have a Form object that starts other Windows processes during its "Initialize" event.&lt;br&gt;&lt;br&gt;Once the other processes have loaded, my Main form always goes to back of the Windows Z order.&lt;br&gt;&lt;br&gt;Using the Form&amp;#39;s Focus() method does not bring it to the front nor can I find a BringToFront() method (or similar).&lt;br&gt;&lt;br&gt;How do I achieve this?&lt;br&gt;&lt;br&gt;Thanks,&lt;br&gt;&lt;br&gt;Darrell.&lt;br&gt;&lt;br&gt;&lt;b&gt;By DrATEasy (Ron Y.) on 4/10/2013 2:27:39 PM&lt;/b&gt;&lt;br&gt;Take a look at the following knowledge base article:&lt;br&gt;&lt;br&gt;https://www.marvintest.com/KnowledgeBase/KBArticle.aspx?ID=54&lt;br&gt;&lt;br&gt;&lt;br&gt;&lt;br&gt;&lt;b&gt;By Darrell L. on 4/10/2013 4:40:26 PM&lt;/b&gt;&lt;br&gt;Thanks, Ron... was hoping to not have to use the Win32 API :)&lt;br&gt;&lt;br&gt;Cheers,&lt;br&gt;&lt;br&gt;D.&lt;br&gt;&lt;br&gt;</description><link>https://www.marvintest.com/Forums/Thread.aspx?ID=228</link><pubDate>4/10/2013 12:55:08 PM</pubDate></item><item><title>GUI / text editor code mismatch - Created on Tuesday, April 9, 2013</title><description>&lt;b&gt;By Brian B. on 4/9/2013 7:00:11 AM&lt;/b&gt;&lt;br&gt;Here&amp;#39;s the conumdrum. The file paths are correct, but when I compile, ATEasy 8 throws an error in the GUI view, but when I look at the code in a text view the error is not there! Looking at the code with an external text editor verifies the code is correct.&lt;br&gt;&lt;br&gt;The GUI editor shows the error:&lt;br&gt;UpdateProcessPlan( GetStatusFilePath() , Cmd Get Sequence() , "Proc Start Time","20"+Right(sDate(),2) , 2)+"/"+Mid(sDate(),3,2) )&lt;br&gt;&lt;br&gt;The text editor shows:&lt;br&gt;UpdateProcessPlan(GetStatusFilePath(),Cmd Get Sequence(),"Proc Start Time","20"+Right(sDate(),2)+"/"+Left(sDate(),2)+"/"+Mid(sDate(),3,2)+" "+sTime())&lt;br&gt;&lt;br&gt;?&lt;br&gt;&lt;br&gt;brian&lt;br&gt;&lt;br&gt;&lt;b&gt;By Victor B. on 4/9/2013 9:43:50 PM&lt;/b&gt;&lt;br&gt;Just for clarification, you are saving your ATEasy files in text-format (PGT, SYT, or DRT) and then editing them with a third-party text editor (like Notepad++) and when you re-load the files into ATEasy, the GUI code is altered/incorrect.  This is about it?&lt;br&gt;&lt;br&gt;Also, what is your ATEasy build?&lt;br&gt;&lt;br&gt;Regards,&lt;br&gt;Victor&lt;br&gt;&lt;br&gt;&lt;b&gt;By Brian B. on 4/10/2013 6:32:49 AM&lt;/b&gt;&lt;br&gt;I am using ATEasy 8. I do all edits within that environment. I came across this when I did a build and the compiler threw an error. If I follow the error to where a command is defined, it clearly shows the error as noted previously. But if I look at the text version with either the internal viewer or external text editor, the error is not there. &lt;br&gt;&lt;br&gt;I tried deleting the .drt from the workspace and then saving the workspace, compile. The compile most defiinitely did not like that. After which I added the driver back into the workspace, recompiled and the problem remained.&lt;br&gt;&lt;br&gt;I don&amp;#39;t want to make any corrections to the code because 1) I don&amp;#39;t see it in the file and 2) I don&amp;#39;t know which or what file will be changed.&lt;br&gt;&lt;br&gt;I am sure it is just some setting somewhere, but I am at a loss right now.&lt;br&gt;&lt;br&gt;Thanks for the response.&lt;br&gt;&lt;br&gt;brian&lt;br&gt;&lt;br&gt;&lt;br&gt;&lt;br&gt;&lt;b&gt;By DrATEasy (Ron Y.) on 5/1/2013 3:56:24 PM&lt;/b&gt;&lt;br&gt;The issue has been fixed and will be available in 148c. For Pre-Release see: http://geotest.fileburst.com/downloads/ATEasy8-148c-Candidate2.exe &lt;br&gt;&lt;br&gt;</description><link>https://www.marvintest.com/Forums/Thread.aspx?ID=227</link><pubDate>4/9/2013 7:00:11 AM</pubDate></item><item><title>DLL interface problem - Created on Thursday, March 28, 2013</title><description>&lt;b&gt;By David K. on 3/28/2013 10:42:05 AM&lt;/b&gt;&lt;br&gt;I am trying to interface with a DLL written in C++.  The C++ code launches a few threads that RX/TX messages.  I know the C++ works properly because I have a C++ console app that works fine.&lt;br&gt;&lt;br&gt;The problem is that I time out waiting for a message.  Messages are received by a thread that waits for data to arrive.&lt;br&gt;&lt;br&gt;I know that I am successfully calling into the DLL since the problem occurs in the middle of my Init function.&lt;br&gt;&lt;br&gt;Does anyone know the problem?  Any suggestions on how to troublehoot the problem?&lt;br&gt;&lt;br&gt;&lt;b&gt;By Victor B. on 3/28/2013 4:02:19 PM&lt;/b&gt;&lt;br&gt;Hi David,&lt;br&gt;&lt;br&gt;Can you post the C++ function prototype (if you have the source)?  What kind of callback is expected?  Are you passing an ATEasy procedure for the callback?&lt;br&gt;&lt;br&gt;Regards,&lt;br&gt;Victor Brode&lt;br&gt;&lt;br&gt;&lt;b&gt;By David K. on 3/29/2013 10:25:24 AM&lt;/b&gt;&lt;br&gt;Multiple threads are used to receive and process messages.  There are no callbacks.&lt;br&gt;&lt;br&gt;ReadThread&lt;br&gt;- waits for data to arrive (on UDP).  Using WaitForMultipleObjects and overlapped I/O to block until data arrives&lt;br&gt;- when data is received it puts the data in a queue and sets a flag for another thread (MsgProcessorThread) to process the data &lt;br&gt;&lt;br&gt;MsgProcessorThread&lt;br&gt;- waits for event to be set by ReadThread&lt;br&gt;- processes message and sets an event associated with the specific message&lt;br&gt;&lt;br&gt;Main (app)&lt;br&gt;- an ATEasy test calls DLL&amp;#39;s Initialize() function&lt;br&gt;- Initialize() correctly performs some setup (create objects, start threads)&lt;br&gt;- Initialize() sends data to device&lt;br&gt;- Initialize() waits on event (from MsgProcessorThread) indicating expected response message has been received&lt;br&gt;- Initialize() times out waiting for response message&lt;br&gt;&lt;br&gt;&lt;br&gt;As per a previous Magic ticket, I am using a DEF file to export my functions. The prototype of the Initialize function is: &lt;br&gt;SIM_API unsigned int __stdcall initialize(const char* pIpAddress, &lt;br&gt;                                   unsigned short encoderPort, &lt;br&gt;                                   unsigned short tonesPort)&lt;br&gt;&lt;br&gt;As mentioned above, the first part of the Initialize function works fine, it is the part where I start sending and receiving messages that fails.&lt;br&gt;&lt;br&gt;&lt;b&gt;By DrATEasy (Ron Y.) on 3/29/2013 11:17:43 AM&lt;/b&gt;&lt;br&gt;I suggest to post the code since it is difficult to figure it out from the above text. You may want to create a magic incident for that. Another option is to write the code in ATEasy and use the ATEasy Win Socket API from the internal library.&lt;br&gt;&lt;br&gt;&lt;b&gt;By David K. on 3/29/2013 2:28:42 PM&lt;/b&gt;&lt;br&gt;I can&amp;#39;t post the code and it probably wouldn&amp;#39;t be useful since you would need the device I am trying to talk to.  I will try to boil it down to a small app that demonstrates the problem.&lt;br&gt;&lt;br&gt;Are there any special considerations when dealing with multiple threads?  The documentation mentions theading models and I have tried to change those properties in my DLL project settings.  This did not work.&lt;br&gt;&lt;br&gt;&lt;b&gt;By DrATEasy (Ron Y.) on 3/29/2013 3:33:15 PM&lt;/b&gt;&lt;br&gt;I suspect that one of the function requires message pump while it is waiting. Try to split the  Initialize  as follows:&lt;br&gt;&lt;br&gt;- performs some setup (create objects, start threads)&lt;br&gt;- Send the data&lt;br&gt;- return to ATEasy with event handle&lt;br&gt;&lt;br&gt;return to ATEasy and wait for the event using ATEasy WaitForSingleObject in ATEasy (you will need to pass the event handle back to ATEasy). &lt;br&gt;&lt;br&gt;If it is not working, I think we will need a small example to show the problem.&lt;br&gt;&lt;br&gt;&lt;br&gt;&lt;br&gt;</description><link>https://www.marvintest.com/Forums/Thread.aspx?ID=226</link><pubDate>3/28/2013 10:42:05 AM</pubDate></item><item><title>Test Status is returned as None, when it should be Pass or Fail - Created on Friday, March 22, 2013 (Solution Avaliable)</title><description>&lt;b&gt;By Kenny K. on 3/22/2013 1:19:41 PM&lt;/b&gt;&lt;br&gt;Hello,&lt;br&gt;&lt;br&gt;I am trying to figure out why the TestStatus is being returned as None, instead of Pass/Fail.  This is being used in a standalone build Exe file.  I noticed that the Test results for these steps are not being displayed in the Test Log window.  So I opened the admin screen on the computer, and noticed that the Test was Greyed out (still had the check mark next to it) instead of Red or Green colored.  The Status field was listed as None, instead of Pass or fail like all the Green or Red tests.&lt;br&gt;&lt;br&gt;Any help would be appreciated.&lt;br&gt;&lt;br&gt;Here is the code in the Test Itself:&lt;br&gt;&lt;br&gt;e_CurrentTestPosition = PositionD&lt;br&gt;e_CurrentTestNumber=Water_SN&lt;br&gt;SkipTestIfUUTDisabled(st_WaterTestData[e_CurrentPosition])&lt;br&gt;SkipTestIfUUTFailed(st_WaterTestData[e_CurrentPosition])&lt;br&gt;&lt;br&gt;b_Temp = WriteSN(e_CurrentPosition)&lt;br&gt;&lt;br&gt;if (b_Temp = False)&lt;br&gt;	TestStatus = Fail&lt;br&gt;else&lt;br&gt;	TestStatus = Pass&lt;br&gt;endif&lt;br&gt;&lt;br&gt;The WriteSN Procedure call code is below:&lt;br&gt;&lt;br&gt;lCount = 0&lt;br&gt;bReturn = True&lt;br&gt;&lt;br&gt;! Attempt to write the test record number several times&lt;br&gt;while ( lCount &amp;lt; 3)&lt;br&gt;	lSerial = st_WaterTestData[e_TestPosition].l_SerialNumber&lt;br&gt;	vi_IR_SetSerialNumber(st_Error,lSerial,e_CurrentTestPosition,st_Error,bReturn)&lt;br&gt;	handle_vi_error()&lt;br&gt;	if (bReturn = True)&lt;br&gt;		vi_IR_ReadSerialNumber(st_Error,e_TestPosition,st_Error,bReturn,lSerial)&lt;br&gt;		handle_vi_error()&lt;br&gt;	endif&lt;br&gt;	if (lSerial = st_WaterTestData[e_TestPosition].l_SerialNumber)&lt;br&gt;		! Set value to exit loop&lt;br&gt;		lCount = 3&lt;br&gt;	else&lt;br&gt;		bReturn = False&lt;br&gt;		lCount = lCount + 1&lt;br&gt;	endif&lt;br&gt;endwhile&lt;br&gt;&lt;br&gt;return bReturn&lt;br&gt;&lt;br&gt;&lt;b&gt;By DrATEasy (Ron Y.) on 3/22/2013 2:10:47 PM&lt;/b&gt;&lt;br&gt;If the the test is skipped as a result of calling the test statement to skip a test from the code, its result is not displayed in the test log and it will show as grayed. &lt;br&gt;&lt;br&gt;I suggest to run the code for the IDE and place a break point at SkipTestIfUUTDisabled() or SkipTestIfUUTFailed() and if it actually gets to execute the test statement because of some condition. You may also search for test or task keywords in your code, place a break point and see if they get called to skip a test.&lt;br&gt;&lt;br&gt;&lt;br&gt;</description><link>https://www.marvintest.com/Forums/Thread.aspx?ID=224</link><pubDate>3/22/2013 1:19:41 PM</pubDate></item><item><title>TestExec.drv problem - Created on Tuesday, March 19, 2013 (Solution Avaliable)</title><description>&lt;b&gt;By Brian B. on 3/19/2013 12:57:56 PM&lt;/b&gt;&lt;br&gt;When I run the TestExec, it returns with the errors for OnMouseUp, OnNodeCheck, and OnNodeClick.&lt;br&gt;&lt;br&gt;  ! create Tree Views&lt;br&gt;  tv=form.InsertControl(GetUutPageControlName(ateTvTests, i), "MSComctlLib.TreeView",,,,, pnlTests.Name) &lt;br&gt;  tv.Align=actrlAlignAll&lt;br&gt;  tv.ImageList=msimgl&lt;br&gt;  tv.Checkboxes=True&lt;br&gt;  tv.LabelEdit=tvwManual&lt;br&gt;  tv.Indentation=4&lt;br&gt;  tv.HideSelection=False&lt;br&gt;  AddHandler tv.OnMouseUp, OnTreeViewMouseUp &lt;br&gt;  !AddHandler tv.OnNodeCheck, OnTreeViewNodeCheck &lt;br&gt;  !AddHandler tv.OnNodeClick, OnTreeViewNodeClick &lt;br&gt;&lt;br&gt;If I comment the lines out, everything seems to be copacetic.&lt;br&gt;I am running version 8.0 build 148b on Win7&lt;br&gt;&lt;br&gt;&lt;br&gt;&lt;br&gt;&lt;b&gt;By DrATEasy (Ron Y.) on 3/19/2013 6:21:31 PM&lt;/b&gt;&lt;br&gt;The issue is caused by Microsoft security update for Microsoft office 2003, 2007, 2010.&lt;br&gt;&lt;br&gt;To fix follow the procedure bellow:&lt;br&gt;&lt;br&gt;http://www.fmsinc.com/microsoftaccess/controls/mscomctl/index.htm&lt;br&gt;&lt;br&gt;Or just download the attached .bat file and run from anywhere.&lt;br&gt;&lt;br&gt;&lt;br&gt;&lt;b&gt;By Brian B. on 3/20/2013 3:54:25 PM&lt;/b&gt;&lt;br&gt;Thanks! That was the problem.&lt;br&gt;&lt;br&gt;&lt;br&gt;&lt;br&gt;</description><link>https://www.marvintest.com/Forums/Thread.aspx?ID=223</link><pubDate>3/19/2013 12:57:56 PM</pubDate></item><item><title>Unable to run projects built in Visual studio 2005 an 2008. - Created on Thursday, February 21, 2013 (Solution Avaliable)</title><description>&lt;b&gt;By DoubleM (Moti M.) on 2/21/2013 6:00:48 AM&lt;/b&gt;&lt;br&gt;Recently I updated Ateasy to version 8.&lt;br&gt;When I try to debug any class library built in VS 2005 I receive the following error message from Visual studio:&lt;br&gt;  "Error while trying to run project :&lt;br&gt;   Unable to start program: &amp;#39;C:\program files\Ateasy\atesy.exe.&lt;br&gt;   Operation not supported. Unknown error:0x8013134b"&lt;br&gt;When I try to debug any class library built in VS 2008 I receive the following error message from Visual studio:&lt;br&gt;  "Error while trying to run project :&lt;br&gt;   Unable to start program: &amp;#39;C:\program files\Ateasy\atesy.exe.&lt;br&gt;   The debugger&amp;#39;s protocol is incompatible with the debbugee."&lt;br&gt;When I debug  any class library built in VS 2010, everything is OK: Ateasy is loading and running.&lt;br&gt;Before updating to Ateasy ver 8, I worked with Ateasy ver 6 and there were no errors when debuging different projects built in different versions of VS.&lt;br&gt;&lt;br&gt;&lt;b&gt;By DrATEasy (Ron Y.) on 2/21/2013 10:21:57 AM&lt;/b&gt;&lt;br&gt;Did you look the following post?&lt;br&gt;&lt;br&gt;https://www.marvintest.com/Forums/thread.aspx?ID=203&lt;br&gt;&lt;br&gt;Do you have the ATEasy.exe.config in the ATEasy folder? Maybe that is the problem. &lt;br&gt;&lt;br&gt;The managed debugger interface was changed in .NET version 4. You cannot debug a .NET 4 assembly with the VS2008/2005 debugger. The config file will tell to use v4.0  .net. &lt;br&gt;&lt;br&gt;Try to remove the .config file and re-run or modify for the .NET you want to use. &lt;br&gt;&lt;br&gt;&lt;br&gt;&lt;br&gt;</description><link>https://www.marvintest.com/Forums/Thread.aspx?ID=220</link><pubDate>2/21/2013 6:00:48 AM</pubDate></item><item><title>Using .Net generics - Created on Thursday, February 14, 2013</title><description>&lt;b&gt;By David K. on 2/14/2013 2:07:34 PM&lt;/b&gt;&lt;br&gt;I am trying to get ATEasy/.Net to infer the type of a generic function.  See my class below:&lt;br&gt;&lt;br&gt;   public class MyClass&lt;br&gt;   {&lt;br&gt;      public void foo1&amp;lt;T&amp;gt;(ref T ob)&lt;br&gt;      {         &lt;br&gt;         T val = default(T);&lt;br&gt;         ob = val;&lt;br&gt;      }&lt;br&gt;   }&lt;br&gt;&lt;br&gt;Here is my ATeasy code:&lt;br&gt;&lt;br&gt;myClass = new Lib.MyClass()&lt;br&gt;myClass.foo1&amp;lt;T&amp;gt;(val)&lt;br&gt;&lt;br&gt;ATEasy seems to recognize that it is a generic function since it provides the "&amp;lt;T&amp;gt;" portion of the method call.  However, it will not compile the code (error 549 -"Expected open parenthesis...").  &lt;br&gt;&lt;br&gt;Is my syntax wrong?  Will ATEasy just not work with generics?&lt;br&gt;&lt;br&gt;&lt;b&gt;By Victor B. on 2/15/2013 12:14:00 PM&lt;/b&gt;&lt;br&gt;Hi David,&lt;br&gt;&lt;br&gt;ATEasy does recognize and display generics, but they are not supported.  You will need to instance the generic and export it.&lt;br&gt;&lt;br&gt;Regards,&lt;br&gt;Victor Brode&lt;br&gt;&lt;br&gt;</description><link>https://www.marvintest.com/Forums/Thread.aspx?ID=218</link><pubDate>2/14/2013 2:07:34 PM</pubDate></item><item><title>Checking Device Manager - Created on Tuesday, December 18, 2012</title><description>&lt;b&gt;By  on 12/18/2012 12:17:05 PM&lt;/b&gt;&lt;br&gt;I do a lot over USB.  I send files to the Unit Under Test.  Sometimes these files change the way Windows "sees" the UUT.  I have to wait for the new device name to show in Device Manager.  I can watch Device Manager and get a feel for how long it may take for this to happen but sometimes it varies.  If windows is slow then I can not perform my next operation in the test and the UUT will falsely fail.&lt;br&gt;&lt;br&gt;Is there a way to check if the UUT is properly recognized by the operating system?  This way my test can just sit and loop and check the Device Manager and proceed only after the UUT and the PC are ready.&lt;br&gt;&lt;br&gt;Thanks,&lt;br&gt;Steve&lt;br&gt;&lt;br&gt;&lt;b&gt;By Victor B. on 12/26/2012 11:44:35 AM&lt;/b&gt;&lt;br&gt;Hi Steve,&lt;br&gt;&lt;br&gt;You should use the System.Management assembly to detect system changes such as a USB insertion and after an event is detected, you can read the plug and play registry to see if your target device is installed.  I have attached an example of this.&lt;br&gt;&lt;br&gt;One important section of the example that I would like to point out is the AddHandlerUsbInsert() procedure.  When we create a WqlEventQuery() and set the properties to define what type of event we are trying to trigger on.  Specifically, we are looking for a "__InstanceCreationEvent" when a device is plugged in.  If we were looking to trigger when a device is removed, we would use "__InstanceDeletionEvent".  Also, we only want to trigger on USB devices, so we set a Condition that the event has to be a &amp;#39;Win32_USBControllerdevice&amp;#39; rather than &amp;#39;Win32_PnPEntity&amp;#39; that would cover all plug and play devices.&lt;br&gt;&lt;br&gt;obQuery = new WqlEventQuery()&lt;br&gt;obQuery.EventClassName = "__InstanceCreationEvent"&lt;br&gt;obQuery.WithinInterval = new TimeSpan(0, 0, 3)&lt;br&gt;obQuery.Condition = "TargetInstance ISA &amp;#39;Win32_USBControllerdevice&amp;#39;"&lt;br&gt;&lt;br&gt;Regards,&lt;br&gt;Victor Brode&lt;br&gt;&lt;br&gt;&lt;b&gt;By  on 2/14/2013 1:41:16 PM&lt;/b&gt;&lt;br&gt;Victor,&lt;br&gt;   Thanks for the sample code.  I have a couple questions.  I ran this and it "did not work".  I had a co worker sit down and talk me thru it.  I have a couple questions:&lt;br&gt;&lt;br&gt;In procedure CheckForUsbInsertEvent  the code looks like this:&lt;br&gt;try&lt;br&gt;	return m_obWatcher.WaitForNextEvent()&lt;br&gt;catch&lt;br&gt;        print "error 1"&lt;br&gt;	return Nothing&lt;br&gt;endtry&lt;br&gt;&lt;br&gt;When we run it, an error is always returned and we get a long string of "error1".  It seems there is a problem with the return statement.&lt;br&gt;&lt;br&gt;Thanks,&lt;br&gt;Steve Feeser&lt;br&gt;&lt;br&gt;&lt;br&gt;&lt;br&gt;&lt;b&gt;By Victor B. on 2/15/2013 2:17:18 PM&lt;/b&gt;&lt;br&gt;Steve,&lt;br&gt;&lt;br&gt;CheckForUsbInsertEvent() attempts to detect if a user plugs in a USB device.  If the user does not plug in a USB device with five seconds of calling the CheckForUsbInsertEvent() procedure, the procedure will print &amp;#39;error 1&amp;#39; and return Nothing.  If the user does plug in a device, it will return the insertion event.&lt;br&gt;&lt;br&gt;Regards,&lt;br&gt;Victor Brode&lt;br&gt;&lt;br&gt;</description><link>https://www.marvintest.com/Forums/Thread.aspx?ID=211</link><pubDate>12/18/2012 12:17:05 PM</pubDate></item><item><title>Breakpoints in visual studio - Created on Tuesday, December 18, 2012 (Solution Avaliable)</title><description>&lt;b&gt;By Nagib M. on 12/18/2012 2:37:22 AM&lt;/b&gt;&lt;br&gt;Hi,&lt;br&gt;&lt;br&gt;I&amp;#39;m currently using Visual C# 2010 to write several  .NET assembly (DLL) &lt;br&gt;&lt;br&gt;In the  ATEasy.config.exe I add this line :  &amp;lt;supportedRuntime version="v4.0" /&amp;gt;&lt;br&gt;And now, visual studio didn&amp;#39;t paused at breakpoints...&lt;br&gt;&lt;br&gt;If I erase the line, nothing work.&lt;br&gt;&lt;br&gt;I just want to have breakpoints in visual studio with a dll in framework 4.0.&lt;br&gt;&lt;br&gt;Thanks for your help.&lt;br&gt;&lt;br&gt;&lt;b&gt;By DrATEasy (Ron Y.) on 12/18/2012 9:46:21 AM&lt;/b&gt;&lt;br&gt;Are you using 148b? If yes, than it should work as explained in http://www.marvintest.com/Forums/Thread.aspx?ID=129#391&lt;br&gt;&lt;br&gt;If it does not work, please upload an example along with your config file.&lt;br&gt;&lt;br&gt;&lt;br&gt;&lt;br&gt;&lt;br&gt;&lt;b&gt;By Nagib M. on 1/2/2013 1:57:08 AM&lt;/b&gt;&lt;br&gt;Yes I am using 148b with visual studio 2010. That&amp;#39;s my application config file :&lt;br&gt;&lt;br&gt;&amp;lt;?xml version="1.0" encoding="utf-8" ?&amp;gt; &lt;br&gt;&amp;lt;configuration&amp;gt; &lt;br&gt;  &amp;lt;!-- http://msdn.microsoft.com/en-us/library/w4atty68.aspx --&amp;gt; &lt;br&gt;  &amp;lt;startup useLegacyV2RuntimeActivationPolicy="true"&amp;gt; &lt;br&gt;    &amp;lt;supportedRuntime version="v4.0.30319" /&amp;gt; &lt;br&gt;    &amp;lt;supportedRuntime version="v3.5" /&amp;gt; &lt;br&gt;    &amp;lt;supportedRuntime version="v3.0" /&amp;gt; &lt;br&gt;    &amp;lt;supportedRuntime version="v2.0.50727" /&amp;gt; &lt;br&gt;  &amp;lt;/startup&amp;gt; &lt;br&gt;&amp;lt;/configuration&amp;gt;&lt;br&gt;&lt;br&gt;&lt;b&gt;By DrATEasy (Ron Y.) on 1/2/2013 4:15:49 PM&lt;/b&gt;&lt;br&gt;Please use the DotNet example that is provided with ATEasy to verify that it works:&lt;br&gt;1. Load the DotNet.sln to VS 10 and change the framework to .NET 4.0 (Project Properties, Application page)&lt;br&gt;2. From The Project Properties, Debug page, Start External Program change to C:\Program Files\ATEasy\ATEasy.exe&lt;br&gt;3. Make sure Debug Solution Configuration is selected&lt;br&gt;4. Build in Debug&lt;br&gt;5. Place a break-point in DotNet  static DotNetClass1() constructor (DotNet.cs, Line79)&lt;br&gt;6. Make sure the ATEasy. exe.config is in that folder&lt;br&gt;7. In VS 10 hit the start button, ATEasy should start. &lt;br&gt;8. In ATEasy, Open the DotNet prohect and open the DotNet library properties Window&lt;br&gt;9. Point the library path (in the program libraries, DotNet) to C:\Program Files\ATEasy\Examples\DotNet\Bin\Debug\DotNet.dll, this will reload the library to debug version of your .net library&lt;br&gt;10. Open  test 1.1 and press DoIt!&lt;br&gt;12. The VS 10 should show the break-point&lt;br&gt;&lt;br&gt;Let me know if that works for you. You should be able to replicate this with your .Net library.&lt;br&gt;&lt;br&gt;Ronnie&lt;br&gt;&lt;br&gt;&lt;br&gt;&lt;br&gt;&lt;br&gt;</description><link>https://www.marvintest.com/Forums/Thread.aspx?ID=210</link><pubDate>12/18/2012 2:37:22 AM</pubDate></item><item><title>Ateasy 8 - Runtime Error #0xEEDFADE - Created on Tuesday, November 27, 2012</title><description>&lt;b&gt;By Cyril P. on 11/27/2012 10:02:05 AM&lt;/b&gt;&lt;br&gt;Hello,&lt;br&gt;&lt;br&gt;I have the following runtime error when exiting my program and calling a close function to free IO module resources.&lt;br&gt;Runtime error #0xEEDFADE.&lt;br&gt;I have this message under WinXP and Win7. I am using Ateasy 8 build 148.&lt;br&gt;&lt;br&gt;Did someone know what is this RT error?&lt;br&gt;&lt;br&gt;Thanks.&lt;br&gt;Cyril&lt;br&gt;&lt;br&gt;&lt;b&gt;By Victor B. on 11/28/2012 7:40:15 AM&lt;/b&gt;&lt;br&gt;Cyril,&lt;br&gt;&lt;br&gt;Just based on the runtime error, I wouldn&amp;#39;t be sure of the cause for the failure.  Was any more detailed information given when the application crashed?  The next time it crashes, you can try to take a screenshot or retrieve the error log from Windows.  There is some information about how to get more error info in this article: http://www.marvintest.com/KnowledgeBase/KBArticle.aspx?ID=213&lt;br&gt;&lt;br&gt;Regards,&lt;br&gt;Victor&lt;br&gt;&lt;br&gt;&lt;b&gt;By Cyril P. on 11/28/2012 8:33:13 AM&lt;/b&gt;&lt;br&gt;Hi Victor,&lt;br&gt;&lt;br&gt;the application doesn&amp;#39;t really crash. I&amp;#39;ve got an Ateasy Runtime dialog box with Abort/Retry/Ignore buttons.&lt;br&gt;None of the buttons work, I need to kill the application with task manager.&lt;br&gt;Find attached the dialog box screenshot.&lt;br&gt;&lt;br&gt;Thanks.&lt;br&gt;&lt;br&gt;Regards,&lt;br&gt;Cyril&lt;br&gt;&lt;br&gt;&lt;b&gt;By Victor B. on 11/28/2012 9:47:40 AM&lt;/b&gt;&lt;br&gt;Cyril,&lt;br&gt;&lt;br&gt;This error appears to be generated from the IO_BOARD driver&amp;#39;s TCUSBIO24_Close procedure.  Can you paste the code for this procedure or the entire IO_BOARD driver?  Also, the model of the device you are connecting to if is it a COTS device?&lt;br&gt;&lt;br&gt;Regards,&lt;br&gt;Victor&lt;br&gt;&lt;br&gt;&lt;b&gt;By Cyril P. on 11/29/2012 3:14:54 AM&lt;/b&gt;&lt;br&gt;Hi Victor,&lt;br&gt;&lt;br&gt;to answer to your question, the device is this one TC-USB24IO from 3C-Concept.&lt;br&gt;you can found it here: http://www.3cconcept.fr/fr/produits-usb/46-module-usb-8e6scodeur-incremental.html&lt;br&gt;&lt;br&gt;For your knowledge, this device is one of the three models available in this familly device. I am using also the two other models (TC-USB16IO and TC-USB48IO) and I have not this problem with them. The Dll and behavior of these two modules are identical to the 24IO version.&lt;br&gt;So I cannot explain why I have this issue with this model only.&lt;br&gt;&lt;br&gt;I have done other tests to find out what could be the problem.&lt;br&gt;I have done a small program with only my driver and in this configuration I have no error, it&amp;#39;s work fine.&lt;br&gt;This close function only generate error when the driver is integrate and use in my full application.&lt;br&gt;&lt;br&gt;Finally, I found that the problem is because I called the Close function from another thread than the one use to call the OpenN function.&lt;br&gt;When I start my application, the driver OnInit() event initalize the IO device with the OpenN function of the DLL. Which is the main ateasy thread.&lt;br&gt;Then, when I exit my application I am calling the Close function from another thread (I have created) and in that case I have this RT error from ateasy.&lt;br&gt;I have move the call to the OnEnd() event of my system and no more error. It&amp;#39;s works at this place as it is the main ateasy thread too.&lt;br&gt;I have found also that I can use the Try Catch to catch the error.&lt;br&gt;&lt;br&gt;What I can not explain is why I have this issue with this device/dll but not with the two other models.&lt;br&gt;&lt;br&gt;As a workaround for now, as I don&amp;#39;t want to move the call to the Close function to the OnEnd() of system, I will add a Try Catch in my driver to avoid this error message.&lt;br&gt;&lt;br&gt;Do you think it is an Ateasy or DLL issue?&lt;br&gt;&lt;br&gt;Thanks and regards,&lt;br&gt;Cyril&lt;br&gt;&lt;br&gt;&lt;b&gt;By Cyril P. on 11/29/2012 7:14:19 AM&lt;/b&gt;&lt;br&gt;I have contacted in parallel the provider of the DLL and he found a bug in the DLL for this device. Some object was not released and this is the cause of the RT error.
The first trial with a modified DLL was good. I am waiting for the final release of the DLL to check again but it seems this problem is resolved.

Edit: new fixed DLL works fine now.

Thanks for your help.
Cyril&lt;br&gt;&lt;br&gt;</description><link>https://www.marvintest.com/Forums/Thread.aspx?ID=205</link><pubDate>11/27/2012 10:02:05 AM</pubDate></item><item><title>Ateasy 8 - Runtime Error #0xEEDFADE - Created on Tuesday, November 27, 2012</title><description>&lt;b&gt;By Cyril P. on 11/27/2012 10:01:58 AM&lt;/b&gt;&lt;br&gt;Hello,&lt;br&gt;&lt;br&gt;I have the following runtime error when exiting my program and calling a close function to free IO module resources.&lt;br&gt;Runtime error #0xEEDFADE.&lt;br&gt;I have this message under WinXP and Win7. I am using Ateasy 8 build 148.&lt;br&gt;&lt;br&gt;Did someone know what is this RT error?&lt;br&gt;&lt;br&gt;Thanks.&lt;br&gt;Cyril&lt;br&gt;&lt;br&gt;</description><link>https://www.marvintest.com/Forums/Thread.aspx?ID=204</link><pubDate>11/27/2012 10:01:58 AM</pubDate></item><item><title>Debug .NET DLL from ATEasy 8 - Created on Thursday, November 22, 2012 (Solution Avaliable)</title><description>&lt;b&gt;By Darrell L. on 11/22/2012 11:37:46 AM&lt;/b&gt;&lt;br&gt;I&amp;#39;m currently using Visual C# 2010 to write a .NET assembly (DLL).&lt;br&gt;&lt;br&gt;I want to debug my .NET code that is called from ATEasy 8 (see KB article Q200219 for the general idea).&lt;br&gt;The problem is that the methodology shown is for VS2005.  The screens/settings have since changed&lt;br&gt;in VS2010.&lt;br&gt;&lt;br&gt;Can anyone provide some help with this?&lt;br&gt;&lt;br&gt;Regards,&lt;br&gt;&lt;br&gt;D.&lt;br&gt;&lt;br&gt;&lt;b&gt;By DrATEasy (Ron Y.) on 11/26/2012 9:13:58 AM&lt;/b&gt;&lt;br&gt;The debugging process is the same as before. The only difference is that you need to place ATEasy executable in the revised Visual Studio project properties screen. To do that, right click on your project from the Solution Explorer Windows. and open the Properties, Select the Debug tab and  Check the Start External Program and browse to the ATEasy executable (found in your program files (x86 if Windows x64) \ATEasy\ATEasy.exe. To debug, make sure to compile your project in Debug and run it in debug mode. You can check out the ATEasy DotNet example for sample .Net project (C#).&lt;br&gt;&lt;br&gt;If you are using v8 build 148b, you may want to copy the ATEasy.exe.config file to the ATEasy folder (see https://www.geotestmts.com/Forums/Thread.aspx?ID=129#391) before attempting to run the Visual Studio 2010 debugger (since it is using .NET 4.0). The issue will be fixed in v8 148c.&lt;br&gt;&lt;br&gt;&lt;b&gt;By Darrell L. on 11/27/2012 6:19:03 AM&lt;/b&gt;&lt;br&gt;I&amp;#39;ve tried the steps as you&amp;#39;ve mentioned above and still cannot get it run.  See the attached screenshot for what I&amp;#39;m seeing. (Difficulty is encountered @ step #4, after placing the breakpoint in my CSharp Code and trying to start the VS debugger).

&lt;br&gt;&lt;br&gt;&lt;b&gt;By DrATEasy (Ron Y.) on 11/27/2012 1:12:39 PM&lt;/b&gt;&lt;br&gt;Start External Program is not available in express edition of Visual Studio.  You may try the following solution:&lt;br&gt;&lt;br&gt;http://tech.rofas.net/post/running-and-debugging-tests-with-visual-studio-express-edition.aspx&lt;br&gt;&lt;br&gt;Or just install the full version of Visual Studio :)...&lt;br&gt;&lt;br&gt;&lt;br&gt;&lt;b&gt;By Darrell L. on 11/28/2012 5:41:33 AM&lt;/b&gt;&lt;br&gt;Ron,

Thanks for the tip :)

I can use this for the time being but as you suggested, will have to get the full VS.

Cheers,

D.&lt;br&gt;&lt;br&gt;</description><link>https://www.marvintest.com/Forums/Thread.aspx?ID=203</link><pubDate>11/22/2012 11:37:46 AM</pubDate></item><item><title>Bug in the val() function - will not return correct value if leading zero is present - Created on Thursday, November 15, 2012 (Solution Avaliable)</title><description>&lt;b&gt;By Darrell L. on 11/15/2012 11:49:15 AM&lt;/b&gt;&lt;br&gt;I have a string that represents a number.  When I want to convert this string to a Long integer for example,&lt;br&gt;if there are leading zero(es) in the string, the returned value from the val() function is not correct.&lt;br&gt;&lt;br&gt;Working correctly:&lt;br&gt;myNumberString = "1234"&lt;br&gt;myNumberValue  = val(myNumberString) &amp;lt;-- myNumberValue = 1234 (correct).&lt;br&gt;&lt;br&gt;myNumberString = "01234"&lt;br&gt;myNumberValue  = val(myNumberString) &amp;lt;-- myNumberValue = 1 (incorrect).&lt;br&gt;&lt;br&gt;I&amp;#39;m using ATEasy 8.0, 148b.&lt;br&gt;&lt;br&gt;Kindly let me know if you see this as well.&lt;br&gt;&lt;br&gt;Cheers,&lt;br&gt;&lt;br&gt;- Darrell.&lt;br&gt;&lt;br&gt;&lt;b&gt;By Arne V. on 11/15/2012 11:55:30 AM&lt;/b&gt;&lt;br&gt;You have to fill the optional parameter lBase of the val procedure with 10; (=decimal)&lt;br&gt;&lt;br&gt;myNumberString = "01234"&lt;br&gt;myNumberValue  = val(myNumberString,10)&lt;br&gt;&lt;br&gt;&lt;br&gt;See ATEasy Helpfile:&lt;br&gt;---------&lt;br&gt;If the first character is 0 and the second character is not &amp;#39;x&amp;#39;, &amp;#39;X&amp;#39;, &amp;#39;b&amp;#39; or &amp;#39;B&amp;#39;, then the string is interpreted as an octal integer; otherwise, it is interpreted as a decimal number.&lt;br&gt;&lt;br&gt;&lt;br&gt;&lt;br&gt;&lt;b&gt;By Martin S. on 11/15/2012 12:35:41 PM&lt;/b&gt;&lt;br&gt;When I run this &lt;br&gt;&lt;br&gt;  myNumberString = "01234"&lt;br&gt;  myNumberValue  = val(myNumberString) &lt;br&gt;&lt;br&gt;I get 668 which is represented 1234 in octal.&lt;br&gt;Why do you get 1 ?&lt;br&gt;&lt;br&gt;So use Arne  solution to be sure &lt;br&gt;&lt;br&gt;&lt;b&gt;By Darrell L. on 11/22/2012 11:29:44 AM&lt;/b&gt;&lt;br&gt;Yup, that fixed it... thanks folks.&lt;br&gt;&lt;br&gt;D.&lt;br&gt;&lt;br&gt;</description><link>https://www.marvintest.com/Forums/Thread.aspx?ID=202</link><pubDate>11/15/2012 11:49:15 AM</pubDate></item><item><title>Unhandled exception memory access violation - Created on Thursday, October 18, 2012 (Solution Avaliable)</title><description>&lt;b&gt;By Cyril P. on 10/18/2012 5:17:54 AM&lt;/b&gt;&lt;br&gt;Hello,&lt;br&gt;&lt;br&gt;I am using ATEasy 8 (build 148) under Windows 7 32bits and I have a crash of Ateasy when I quit the executable or when I start again my project in dev mode.&lt;br&gt;I found the problem is caused by the use of my IO module hardware. It seems that the resource is not release when I stop my program.&lt;br&gt;I already use this IO module under Ateasy 8 and WinXP without problem. The same program doesn&amp;#39;t crash on WinXP.&lt;br&gt;I have contact the supplier of the IO module and he told me that it is working under Win7.&lt;br&gt;Indeed, I have tried his demo program provide with the dll and no problem.&lt;br&gt;&lt;br&gt;I have update Ateasy 8 with the last build 148b: no change, still crash.&lt;br&gt;Here is the error event.&lt;br&gt;Unhandled exception at 0x77132c39 in C:\Windows\SYSTEM32\ntdll.dll : Memory access violation 0xc0000005&lt;br&gt;Thread (Current and not ATEasy) ID=0xdd8, Handle=0xfffffffe&lt;br&gt;	Internal Call Stack&lt;br&gt;		C:\Windows\SYSTEM32\ntdll.dll&lt;br&gt;			RtlFreeHeap [Address = 0x77132c39, Offset = 0x3f]&lt;br&gt;		C:\Windows\system32\kernel32.dll&lt;br&gt;			HeapFree [Address = 0x759ac3d4, Offset = 0x14]&lt;br&gt;		C:\Windows\WinSxS\x86_microsoft.vc80.crt_1fc8b3b9a1e18e3b_8.0.50727.6195_none_d09154e044272b9a\MSVCR80.dll&lt;br&gt;			free [Address = 0x72b54c39, Offset = 0xcd]&lt;br&gt;		C:\Windows\system32\AteRt.DLL&lt;br&gt;			CAFString::~CAFString [Address = 0x13385793, Offset = 0x13]&lt;br&gt;			CAArray::Serialize [Address = 0x132ab6f5, Offset = 0x5e5]&lt;br&gt;&lt;br&gt;Thanks for your support.&lt;br&gt;Cyril&lt;br&gt;&lt;br&gt;&lt;b&gt;By Cyril P. on 10/18/2012 9:52:20 AM&lt;/b&gt;&lt;br&gt;I have continued my investigation and found the following:&lt;br&gt;- as I said before, my project works fine under Ateasy 8 build 148 and Windows XP SP3; in dev mode and executable file&lt;br&gt;- I&amp;#39;ve execute the build created under WinXP on the Win7 tester and it works fine too: no issue!&lt;br&gt;&lt;br&gt;So, the same project crash only if build on Win7 or executed in dev mode.&lt;br&gt;&lt;br&gt;Hope this helps.&lt;br&gt;Thanks.&lt;br&gt;Cyril&lt;br&gt;&lt;br&gt;&lt;b&gt;By Albert Q. on 10/18/2012 2:56:09 PM&lt;/b&gt;&lt;br&gt;Hi Cyril,&lt;br&gt;&lt;br&gt;The problem could be caused by the DLL was not unloaded before the thread that has loaded the DLL is terminated (the IO module DLL may needs to release its resources from the same thread that loaded the DLL). &lt;br&gt;You can force unload the DLL before the running thread ended by adding UnloadLibrary &amp;#39;DllLibrary&amp;#39; statement to the OnEnd() event of the driver containg the library (where DllLibrary is the name of IO module library). Please see UnloadLibrary help topic for more details info.&lt;br&gt;&lt;br&gt;Let me know if this works.&lt;br&gt;&lt;br&gt;Regards,&lt;br&gt;Albert&lt;br&gt;&lt;br&gt;&lt;br&gt;&lt;b&gt;By Cyril P. on 10/19/2012 5:40:41 AM&lt;/b&gt;&lt;br&gt;Hi Albert,

thanks for your help but it didn&amp;#39;t fix my problem. Still the same error. The UnloadLibrary doesn&amp;#39;t change anything.

I tried again another project builded under WinXP and this one crash under Win7.
So my previous reply is not completely true: a build created on WinXP could crash under Win7.

Regards,
Cyril&lt;br&gt;&lt;br&gt;</description><link>https://www.marvintest.com/Forums/Thread.aspx?ID=201</link><pubDate>10/18/2012 5:17:54 AM</pubDate></item><item><title>saving data text file to any folder created - Created on Thursday, September 20, 2012 (Solution Avaliable)</title><description>&lt;b&gt;By Anthony B. on 9/20/2012 8:21:47 AM&lt;/b&gt;&lt;br&gt;DirectoryCreate("C:\\ATEASY_ATOR\\data\\"+sSerialNumber) &lt;br&gt;&lt;br&gt;How do i save  data text file to folder  sSerialNumber&lt;br&gt;&lt;br&gt;Thank you&lt;br&gt;&lt;br&gt;&lt;b&gt;By Paul T. on 9/20/2012 9:53:32 PM&lt;/b&gt;&lt;br&gt;Hi Anthony,

I&amp;#39;m not sure about what are you trying to do. Do you want to save a text file in the custom directory created with DirectoryCreate("C:\\ATEASY_ATOR\\data\\"+sSerialNumber)   ?

If so, you can use hFileHandle=FileCreate("C:\\ATEASY_ATOR\\data\\"+sSerialNumber+"\\FileName.txt") as it is or you can check the other parameters for the FileCreate function.

After FileCreate, you can write data to the file using FileWrite(...). Don&amp;#39;t forget to close the file with FileClose(hFileHandle).

I hope this helps you.

Regards,

Paul T.&lt;br&gt;&lt;br&gt;&lt;b&gt;By Paul T. on 9/26/2012 12:12:53 AM&lt;/b&gt;&lt;br&gt;Did this help you, Anthony?&lt;br&gt;&lt;br&gt;&lt;b&gt;By Anthony B. on 9/26/2012 5:38:00 AM&lt;/b&gt;&lt;br&gt;Thanks Paul&lt;br&gt;I figured it out .&lt;br&gt;&lt;br&gt;&lt;br&gt;&lt;b&gt;By Anthony B. on 9/26/2012 5:38:05 AM&lt;/b&gt;&lt;br&gt;Thanks Paul&lt;br&gt;I figured it out .&lt;br&gt;&lt;br&gt;&lt;br&gt;</description><link>https://www.marvintest.com/Forums/Thread.aspx?ID=197</link><pubDate>9/20/2012 8:21:47 AM</pubDate></item><item><title>GetPrivateProfileString function - Created on Saturday, August 18, 2012 (Solution Avaliable)</title><description>&lt;b&gt;By Garry B. on 8/18/2012 5:32:37 PM&lt;/b&gt;&lt;br&gt;There doesn&amp;#39;t seem to be any examples of using GetPrivateProfileString in the ComChat example and I can&amp;#39;t get the function to work even when I paste it into ComChat and use the same INI file. Is there a working example somewhere?&lt;br&gt;&lt;br&gt;Thanks,&lt;br&gt;&lt;br&gt;Garry Brunenkant&lt;br&gt;&lt;br&gt;&lt;b&gt;By John K. on 8/19/2012 9:18:03 AM&lt;/b&gt;&lt;br&gt;hi garry!

i may not be the proper person to reply to you, but i had problems with this function too and i want to tell you how i fixed it, maybe this will help you too.

 sEtdb = "abcdefghij"

getprivateprofilestring("global", "extern_db",sEtdb,sEtdb ,5, m_initfile) 



in the above example, i am reading the key "extern_db" under the "global" section from the file with its path stored in the "m_initfile" variable.
the key value is read and placed within the "sEtdb" string variable.

this doesn&amp;#39;t work if i don&amp;#39;t initialize the string variable as in the example above (sEtdb = "abcdefghij", for example). if you don&amp;#39;t want to initialize it this way, you can declare a size for the string when you declare the variable (under the variables section of the module or of the function itself. ex. sEtdb      string:10).

so it is mandatory to specify a size for this string variable in a way.

i hope this solves your issue.

best regards,

john k.&lt;br&gt;&lt;br&gt;</description><link>https://www.marvintest.com/Forums/Thread.aspx?ID=194</link><pubDate>8/18/2012 5:32:37 PM</pubDate></item><item><title>Read data via RS323 - Created on Tuesday, August 14, 2012 (Solution Avaliable)</title><description>&lt;b&gt;By Baha B. on 8/14/2012 6:41:31 AM&lt;/b&gt;&lt;br&gt;Hello,&lt;br&gt;I need to read data via RS232 , &lt;br&gt;Unfortunately mu code isn&amp;#39;t working&lt;br&gt;Could anyone please point where i&amp;#39;m wrong?&lt;br&gt;&lt;br&gt;This is part of my code :&lt;br&gt;&lt;br&gt;iStatus = ComOpen(iPort) &lt;br&gt;iStatus = ComSetup(iPort,iBaudRate,iDataBits,iParity,iStopBits,iHandshake) &lt;br&gt;iStatus = ComReceive(iPort,sEOS,iTimeout,iMode,sStr,iByte)&lt;br&gt;Print "sStr is : " ; sStr&lt;br&gt;iStatus = ComClose(iPort)&lt;br&gt;&lt;br&gt;&lt;br&gt;Any help is welcomed !!!&lt;br&gt;&lt;br&gt;&lt;b&gt;By Victor B. on 8/14/2012 9:24:59 AM&lt;/b&gt;&lt;br&gt;Hi,&lt;br&gt;&lt;br&gt;After calls to the functions ComOpen, ComSetup, ComReceive you should check the iStatus variable to see which function is throwing the error.&lt;br&gt;&lt;br&gt;Try this:&lt;br&gt;iStatus = ComOpen(iPort)&lt;br&gt;if iStatus=-1&lt;br&gt;    error -100, "ComOpen() failed"&lt;br&gt;endif&lt;br&gt;&lt;br&gt;If you need further help, please post your code with the actual arguments instead of variables.&lt;br&gt;&lt;br&gt;Regards,&lt;br&gt;Victor Brode&lt;br&gt;&lt;br&gt;&lt;b&gt;By Baha B. on 8/14/2012 11:52:25 PM&lt;/b&gt;&lt;br&gt;Hi Victor,&lt;br&gt;&lt;br&gt;It work nice !!!!!&lt;br&gt;&lt;br&gt;I forgot to update variable of  function ComReceive() , iByte remains be zero ,that the reason why i cant read anything.&lt;br&gt;&lt;br&gt;Thank you very much  :)&lt;br&gt;&lt;br&gt;Regards,&lt;br&gt;&lt;br&gt;Baha&lt;br&gt; &lt;br&gt;&lt;br&gt;</description><link>https://www.marvintest.com/Forums/Thread.aspx?ID=192</link><pubDate>8/14/2012 6:41:31 AM</pubDate></item><item><title>AVG thinks AT Easy is a virus - Created on Wednesday, May 30, 2012 (Solution Avaliable)</title><description>&lt;b&gt;By Adam B. on 5/30/2012 11:51:20 AM&lt;/b&gt;&lt;br&gt;I keep getting alerts from AVG when I try and run AT Easy 8.  I upgraded to build 148a to see if this resolves the problem but the issue remains.&lt;br&gt;&lt;br&gt;File:  AteRt.dll&lt;br&gt;Threat: Trojan horse Downloader.Agent2.BCLC.dropper&lt;br&gt;&lt;br&gt;&lt;b&gt;By DrATEasy (Ron Y.) on 5/30/2012 4:37:35 PM&lt;/b&gt;&lt;br&gt;We have notified AVG regarding this wrong message, hopefully it will be resolved in their next update.&lt;br&gt;&lt;br&gt;&lt;b&gt;By DrATEasy (Ron Y.) on 5/31/2012 9:00:25 AM&lt;/b&gt;&lt;br&gt;AVG has updated their data base. If you perform an update - the problem should disappear.&lt;br&gt;&lt;br&gt;&lt;br&gt;&lt;b&gt;By Paul T. on 7/10/2012 11:24:20 PM&lt;/b&gt;&lt;br&gt;Hi! Also Avira Antivirus keep informing me that the "ATEasyDll.Dll" file from Examples folder is infected.&lt;br&gt;&lt;br&gt;&lt;b&gt;By John K. on 7/11/2012 8:29:53 AM&lt;/b&gt;&lt;br&gt;I also have this virus alert on this PC for months! I&amp;#39;ve made a Print Screen and attached it here.&lt;br&gt;&lt;br&gt;&lt;b&gt;By DrATEasy (Ron Y.) on 7/15/2012 6:46:28 PM&lt;/b&gt;&lt;br&gt;We will contact Avira and ask them to Update their virus software. I will post their reply. &lt;br&gt;&lt;br&gt;&lt;b&gt;By DrATEasy (Ron Y.) on 10/16/2012 10:13:23 PM&lt;/b&gt;&lt;br&gt;Avira has updated their database. If you perform an update - the problem should disappear.&lt;br&gt;&lt;br&gt;&lt;b&gt;By John K. on 10/17/2012 9:24:45 AM&lt;/b&gt;&lt;br&gt;Yes, the problem disappeared indeed. Thank you, Ronnie!&lt;br&gt;&lt;br&gt;</description><link>https://www.marvintest.com/Forums/Thread.aspx?ID=191</link><pubDate>5/30/2012 11:51:20 AM</pubDate></item><item><title>Multiple ComOpen problem? - Created on Wednesday, March 14, 2012 (Solution Avaliable)</title><description>&lt;b&gt;By Paul T. on 3/14/2012 11:44:49 PM&lt;/b&gt;&lt;br&gt;Hi! Is there a problem if ComOpen(...) is run multiple times without ComClose(...) ? I know ComOpen returns -1 if the COM port is already open, but is it possible for the COM port to not work properly because it has been opened multiple times? I mean is it possible that COMSetup(...), COMSend(...) and COMReceive(....) to not work properly after multiple COMOpen(...) ?&lt;br&gt;&lt;br&gt;&lt;b&gt;By DrATEasy (Ron Y.) on 3/15/2012 10:29:00 AM&lt;/b&gt;&lt;br&gt;Calling ComOpen() multiple times on the same port does not have any effect. The function will basically ignore the request since it is already open. Maybe the problem is with the target device or with your other function calls ComSend/Recive or Setup. What exactly does not work after awhile?&lt;br&gt;&lt;br&gt;&lt;b&gt;By Paul T. on 3/15/2012 10:32:54 PM&lt;/b&gt;&lt;br&gt;Well, sometimes the communication breaks. I'm not receiving anything from the target and I thought that multiple ComOpen could be the problem. Also if I call ComClose() extra times (without the COM port to be open any more) it is not a problem?&lt;br&gt;&lt;br&gt;&lt;b&gt;By DrATEasy (Ron Y.) on 3/16/2012 9:02:30 AM&lt;/b&gt;&lt;br&gt;The issue is not related to ComOpen.To troubleshot, write a small procedure that loops on ComOpen, Setup, Send and Receive and see how this works with your device and at what point it stops working..You can use the Monitor window to log the progress or place trace statements. &lt;br&gt;&lt;br&gt;</description><link>https://www.marvintest.com/Forums/Thread.aspx?ID=185</link><pubDate>3/14/2012 11:44:49 PM</pubDate></item><item><title>ATEasy unhandled exception and compiling error?? - Created on Tuesday, March 6, 2012</title><description>&lt;b&gt;By Paul T. on 3/6/2012 10:08:15 PM&lt;/b&gt;&lt;br&gt;Hi! Please, I need help! I have two applications written in ATEasy that also uses a .ocx library. When running the first one, it gaved me the run-time error pasted in Pic1.bmp. The second application gave me the unhandled exception pasted in Pic2.bmp and the application crashed after this. :(. What seems to be the problem? When I compiled this application before, it was OK, no errors. Please help me!!&lt;br&gt;&lt;br&gt;&lt;b&gt;By Paul T. on 3/6/2012 10:09:04 PM&lt;/b&gt;&lt;br&gt;the second image (unhandled exception)&lt;br&gt;&lt;br&gt;&lt;b&gt;By DrATEasy (Ron Y.) on 3/7/2012 9:25:02 AM&lt;/b&gt;&lt;br&gt;For the first one, you need to change the OnStartStage procedure and check the Compile flag on the procedure property page.&lt;br&gt;&lt;br&gt;For the second error, I cant see your code and you did not scroll down to show the PCCode in line 81 where the error occurred and I can't see your source code. It seems you have an issue with a procedure Protocol.CRC16_CRCCalc. If the line #81 calls a DLL, check the parameters of the &lt;br&gt;DLL procedure if they are defined correctly (look at the C header file if exist), also check if the arguments are matching and buffer are allocated properly (usually string not allocated buffer before passed in to the DLL. &lt;br&gt;&lt;br&gt;&lt;br&gt;&lt;br&gt;&lt;b&gt;By Paul T. on 3/7/2012 9:59:45 PM&lt;/b&gt;&lt;br&gt;If I make an .exe file, it is mandatory to have all procedures within the project's drivers with the Compile flag checked? Or it is enough to compile the project and build the .exe after that?&lt;br&gt;&lt;br&gt;&lt;br&gt;For the second error, the procedure CRC16_CRCCalc doesn't call any DLL. It receives an array of bytes and applies the CRC-16 algorithm to retrieve a CRC on 2 bytes (please see code below) and, misteriously, line #81 is empty! Line #81 is between  lines	"constant_index = constant_index + 1" and 	"CRC_Low = buf[data_index] xor CRC_table[constant_index]"!&lt;br&gt;&lt;br&gt;CRC16_CRCCalc(Var byte[] buf, Val DWord dataLen, Val Byte headerSize, Val Word crcInitVal): Word Public&lt;br&gt;&lt;br&gt;{CRC_table_1 = {0x00, 0x00, 0x10, 0x21, 0x20, 0x42, 0x30, 0x63, 0x40, 0x84, 0x50, 0xA5, 0x60, 0xC6, 0x70, 0xE7, 			   0x81, 0x08, 0x91, 0x29, 0xA1, 0x4A, 0xB1, 0x6B, 0xC1, 0x8C, 0xD1, 0xAD, 0xE1, 0xCE, 0xF1, 0xEF, 			   0x12, 0x31, 0x02, 0x10, 0x32, 0x73, 0x22, 0x52, 0x52, 0xB5, 0x42, 0x94, 0x72, 0xF7, 0x62, 0xD6, 			   0x93, 0x39, 0x83, 0x18, 0xB3, 0x7B, 0xA3, 0x5A, 0xD3, 0xBD, 0xC3, 0x9C, 0xF3, 0xFF, 0xE3, 0xDE, 			   0x24, 0x62, 0x34, 0x43, 0x04, 0x20, 0x14, 0x01, 0x64, 0xE6, 0x74, 0xC7, 0x44, 0xA4, 0x54, 0x85, 			   0xA5, 0x6A, 0xB5, 0x4B, 0x85, 0x28, 0x95, 0x09, 0xE5, 0xEE, 0xF5, 0xCF, 0xC5, 0xAC, 0xD5, 0x8D, 			   0x36, 0x53, 0x26, 0x72, 0x16, 0x11, 0x06, 0x30, 0x76, 0xD7, 0x66, 0xF6, 0x56, 0x95, 0x46, 0xB4, 			   0xB7, 0x5B, 0xA7, 0x7A, 0x97, 0x19, 0x87, 0x38, 0xF7, 0xDF, 0xE7, 0xFE, 0xD7, 0x9D, 0xC7, 0xBC, 			   0x48, 0xC4, 0x58, 0xE5, 0x68, 0x86, 0x78, 0xA7, 0x08, 0x40, 0x18, 0x61, 0x28, 0x02, 0x38, 0x23, 			   0xC9, 0xCC, 0xD9, 0xED, 0xE9, 0x8E, 0xF9, 0xAF, 0x89, 0x48, 0x99, 0x69, 0xA9, 0x0A, 0xB9, 0x2B, 			   0x5A, 0xF5, 0x4A, 0xD4, 0x7A, 0xB7, 0x6A, 0x96, 0x1A, 0x71, 0x0A, 0x50, 0x3A, 0x33, 0x2A, 0x12, 			   0xDB, 0xFD, 0xCB, 0xDC, 0xFB, 0xBF, 0xEB, 0x9E, 0x9B, 0x79, 0x8B, 0x58, 0xBB, 0x3B, 0xAB, 0x1A, 			   0x6C, 0xA6, 0x7C, 0x87, 0x4C, 0xE4, 0x5C, 0xC5, 0x2C, 0x22, 0x3C, 0x03, 0x0C, 0x60, 0x1C, 0x41, 			   0xED, 0xAE, 0xFD, 0x8F, 0xCD, 0xEC, 0xDD, 0xCD, 0xAD, 0x2A, 0xBD, 0x0B, 0x8D, 0x68, 0x9D, 0x49, 			   0x7E, 0x97, 0x6E, 0xB6, 0x5E, 0xD5, 0x4E, 0xF4, 0x3E, 0x13, 0x2E, 0x32, 0x1E, 0x51, 0x0E, 0x70, 			   0xFF, 0x9F, 0xEF, 0xBE, 0xDF, 0xDD, 0xCF, 0xFC, 0xBF, 0x1B, 0xAF, 0x3A, 0x9F, 0x59, 0x8F, 0x78}&lt;br&gt;&lt;br&gt;CRC_table_2 = {0x91, 0x88, 0x81, 0xA9, 0xB1, 0xCA, 0xA1, 0xEB, 0xD1, 0x0C, 0xC1, 0x2D, 0xF1, 0x4E, 0xE1, 0x6F, 		       0x10, 0x80, 0x00, 0xA1, 0x30, 0xC2, 0x20, 0xE3, 0x50, 0x04, 0x40, 0x25, 0x70, 0x46, 0x60, 0x67, 			   0x83, 0xB9, 0x93, 0x98, 0xA3, 0xFB, 0xB3, 0xDA, 0xC3, 0x3D, 0xD3, 0x1C, 0xE3, 0x7F, 0xF3, 0x5E, 			   0x02, 0xB1, 0x12, 0x90, 0x22, 0xF3, 0x32, 0xD2, 0x42, 0x35, 0x52, 0x14, 0x62, 0x77, 0x72, 0x56, 		       0xB5, 0xEA, 0xA5, 0xCB, 0x95, 0xA8, 0x85, 0x89, 0xF5, 0x6E, 0xE5, 0x4F, 0xD5, 0x2C, 0xC5, 0x0D, 			   0x34, 0xE2, 0x24, 0xC3, 0x14, 0xA0, 0x04, 0x81, 0x74, 0x66, 0x64, 0x47, 0x54, 0x24, 0x44, 0x05, 			   0xA7, 0xDB, 0xB7, 0xFA, 0x87, 0x99, 0x97, 0xB8, 0xE7, 0x5F, 0xF7, 0x7E, 0xC7, 0x1D, 0xD7, 0x3C, 			   0x26, 0xD3, 0x36, 0xF2, 0x06, 0x91, 0x16, 0xB0, 0x66, 0x57, 0x76, 0x76, 0x46, 0x15, 0x56, 0x34, 			   0xD9, 0x4C, 0xC9, 0x6D, 0xF9, 0x0E, 0xE9, 0x2F, 0x99, 0xC8, 0x89, 0xE9, 0xB9, 0x8A, 0xA9, 0xAB, 			   0x58, 0x44, 0x48, 0x65, 0x78, 0x06, 0x68, 0x27, 0x18, 0xC0, 0x08, 0xE1, 0x38, 0x82, 0x28, 0xA3, 			   0xCB, 0x7D, 0xDB, 0x5C, 0xEB, 0x3F, 0xFB, 0x1E, 0x8B, 0xF9, 0x9B, 0xD8, 0xAB, 0xBB, 0xBB, 0x9A, 			   0x4A, 0x75, 0x5A, 0x54, 0x6A, 0x37, 0x7A, 0x16, 0x0A, 0xF1, 0x1A, 0xD0, 0x2A, 0xB3, 0x3A, 0x92, 			   0xFD, 0x2E, 0xED, 0x0F, 0xDD, 0x6C, 0xCD, 0x4D, 0xBD, 0xAA, 0xAD, 0x8B, 0x9D, 0xE8, 0x8D, 0xC9, 			   0x7C, 0x26, 0x6C, 0x07, 0x5C, 0x64, 0x4C, 0x45, 0x3C, 0xA2, 0x2C, 0x83, 0x1C, 0xE0, 0x0C, 0xC1, 			   0xEF, 0x1F, 0xFF, 0x3E, 0xCF, 0x5D, 0xDF, 0x7C, 0xAF, 0x9B, 0xBF, 0xBA, 0x8F, 0xD9, 0x9F, 0xF8, 			   0x6E, 0x17, 0x7E, 0x36, 0x4E, 0x55, 0x5E, 0x74, 0x2E, 0x93, 0x3E, 0xB2, 0x0E, 0xD1, 0x1E, 0xF0}&lt;br&gt;&lt;br&gt;&lt;br&gt;CRC_Low = crcInitVal shr 8&lt;br&gt;CRC_High = crcInitVal and 0x00FF&lt;br&gt;&lt;br&gt;for data_index=headerSize to dataLen-1&lt;br&gt;&lt;br&gt;	if ((CRC_High and 0x80) = 0x00) then&lt;br&gt;		CRC_table = CRC_table_1&lt;br&gt;	else&lt;br&gt;		CRC_table = CRC_table_2&lt;br&gt;	endif&lt;br&gt;&lt;br&gt;	constant_index = CRC_High shl 1&lt;br&gt;&lt;br&gt;	CRC_High = CRC_Low xor CRC_table[constant_index]&lt;br&gt;&lt;br&gt;	constant_index = constant_index + 1&lt;br&gt;! here is line #81 !!!!&lt;br&gt;	CRC_Low = buf[data_index] xor CRC_table[constant_index]&lt;br&gt;&lt;br&gt;next&lt;br&gt;&lt;br&gt;&lt;br&gt;&lt;br&gt;wResult=CRC_High + (CRC_Low shl 8)&lt;br&gt;&lt;br&gt;&lt;br&gt;return wResult&lt;br&gt;}&lt;br&gt;&lt;br&gt;I just don't understand why is this happening...&lt;br&gt;&lt;br&gt;&lt;b&gt;By Paul T. on 3/8/2012 4:38:59 AM&lt;/b&gt;&lt;br&gt;I must mention that this CRC16_CRCCalc (...) procedure is used a lot in other applications and it never caused problems! Is there a possibility that the cause to be the fact that within this faulty application, I have an old (made in 2005) .ocx library that contains the GUI etc. ? Anyway, the .ocx doesn't contain any code that refers to this CRC16_CRCCalc procedure! This unhandled exception doesn't appear always! Sometimes the code runs OK. Any idea? Please help!&lt;br&gt;&lt;br&gt;&lt;b&gt;By DrATEasy (Ron Y.) on 3/8/2012 8:49:12 AM&lt;/b&gt;&lt;br&gt;1. You don't need to mark procedure with compile flag unless you use implicit call using procedure variable for example:   
   
proc="OnStartStage"
proc()   
   
In this case, the compiler does not know that you have a reference to the procedure and that is why you need to use the compile flag. Another option is to uncheck the checkbox in the project properties Misc page "Exclude Unrefrenced Procedure From Build".
   
2. It looks to me like your memory is corrupted earlier. Try to upgrade to the latest ATEasy 7 142g or if using version 8 to build 148. If it does not work, I suggest to create a support/magic incident and upload your files to the issue.Also specify the ATEasy version and build you are using and the operating system. We would also require the Windows event log (see    http://www.marvintest.com/KnowledgeBase/KBSearchArticles.aspx?ID=213&amp;task=gosearch=windows+event&amp;type=AND).      
      &lt;br&gt;&lt;br&gt;</description><link>https://www.marvintest.com/Forums/Thread.aspx?ID=183</link><pubDate>3/6/2012 10:08:15 PM</pubDate></item><item><title>.NET control in ATEasy - Created on Sunday, February 26, 2012 (Solution Avaliable)</title><description>&lt;b&gt;By Shlomi K. on 2/26/2012 7:37:14 AM&lt;/b&gt;&lt;br&gt;Hello, i need to insert DataGridView control of .NET ( from System.Windows.Forms)&lt;br&gt;So i added to Libraries this library.&lt;br&gt;Now i don't know how to put it on the form&lt;br&gt;&lt;br&gt;&lt;b&gt;By DrATEasy (Ron Y.) on 2/27/2012 9:05:39 AM&lt;/b&gt;&lt;br&gt;Version 8 does not support .NET controls. You can use similar COM/ActiveX control DBGrid that reside Microsoft Data Bound Grid Control 5.0 (SP3) library instead.&lt;br&gt;&lt;br&gt;</description><link>https://www.marvintest.com/Forums/Thread.aspx?ID=182</link><pubDate>2/26/2012 7:37:14 AM</pubDate></item><item><title>ATEasy 5 Windows 7 64-Bit Error - Created on Friday, February 17, 2012 (Solution Avaliable)</title><description>&lt;b&gt;By Travis W. on 2/17/2012 8:02:55 AM&lt;/b&gt;&lt;br&gt;I just installed ATEasy 5 on a Windows 7 64-bit PC here at work and am getting an error that I have never encountered before. I have succesfully installed ATEasy 5 on numerous other Windows 7 32-bit machines with no errors similar to this one. &lt;br&gt;My first question; is ATEasy 5 compatible with Windows 7 64-bit? If so, do you have any idea what I can do to resolve this error?&lt;br&gt;Attached is a screenshot of the error I was getting when trying to launch ATEasy.&lt;br&gt;&lt;br&gt;&lt;b&gt;By DrATEasy (Ron Y.) on 2/17/2012 8:52:11 AM&lt;/b&gt;&lt;br&gt;No, ATEasy 5 is not compatible or supported with 64 bit. You need to upgrade to version 8. You can upgrade HW to make this issue go away (  http://www.marvintest.com/Downloads.aspx?prodId=12&amp;search=package  ).  However, we recommend to upgrade since there are several other issues that you may find.   &lt;br&gt;&lt;br&gt;</description><link>https://www.marvintest.com/Forums/Thread.aspx?ID=181</link><pubDate>2/17/2012 8:02:55 AM</pubDate></item><item><title>How to run program with old edition runtime engine? - Created on Saturday, January 7, 2012 (Solution Avaliable)</title><description>&lt;b&gt;By Li Y. on 1/7/2012 7:08:46 PM&lt;/b&gt;&lt;br&gt;Now we have an ATEasy Development edition 8.0, but we want to run an application program developed with 3.0 edition. We don't have the source code, how can we run it? I can't find the 3.0 runtime engine. I've installed the 3.0 runtime files,but still doesn't work.&lt;br&gt;&lt;br&gt;&lt;b&gt;By DrATEasy (Ron Y.) on 1/9/2012 9:45:48 AM&lt;/b&gt;&lt;br&gt;You can have only one ATEasy run-time engine/development in one machine 
Your ATEasy 3.0 EXE should run under ATEasy 8.x run-time that was installed when you installed v8.0. 
 
If the 3.0 EXE is not running for some reason and you can't rebuild with v8.0 (no sources), you may check the article of how to switch between versions of ATEasy before you run 3.0:  http://www.marvintest.com/KnowledgeBase/KBSearchArticles.aspx?ID=101&amp;task=go&amp;search=ateasy+version&amp;type=AND  and switch back to 8.0 when you use the 8.0 IDE.&lt;br&gt;&lt;br&gt;</description><link>https://www.marvintest.com/Forums/Thread.aspx?ID=179</link><pubDate>1/7/2012 7:08:46 PM</pubDate></item><item><title>Strange error messages - Created on Friday, December 30, 2011</title><description>&lt;b&gt;By  on 12/30/2011 1:44:33 PM&lt;/b&gt;&lt;br&gt;I installed ATE5 on a Win7 PC and now get these messages:&lt;br&gt;When I try to launch the .wsp file I get:&lt;br&gt;Unable to find the ATEasy User Information file 'C:\Windows\system32\ATEasy.usr'&lt;br&gt;This file is there.&lt;br&gt;&lt;br&gt;When I try to launch the .exe file I get:&lt;br&gt;Typelib error: Unable to load the type library file:&lt;br&gt;'Microsoft Windows Common Controls 6.0 (SP6)'&lt;br&gt;'C:\Windows\system32\mscomctl.ocx'&lt;br&gt;(831FDD16-0C5C-11D2-A9FC-0000F8754DA1)&lt;br&gt;This file is there.  I have the same version of this file on another PC that works.&lt;br&gt;&lt;br&gt;I have uninstalled and reinstalled ATE5 and get the same error messages.  I have ATE5 running on several other Win7 systems and have installed this one the same as the others.  &lt;br&gt;&lt;br&gt;Any help is appreciated,&lt;br&gt;Steve Feeser&lt;br&gt;&lt;br&gt;&lt;br&gt;&lt;b&gt;By DrATEasy (Ron Y.) on 12/31/2011 7:12:39 PM&lt;/b&gt;&lt;br&gt;1. Check the  ATEasy.usr security and attributes from the file properties and see if something is preventing access to the file.&lt;br&gt;2. Try to re-register the type library from the command line (Start, Run, Cmd):&lt;br&gt;    regsver32 C:\Windows\system32\mscomctl.ocx&lt;br&gt;&lt;br&gt;Ron&lt;br&gt;&lt;br&gt;&lt;b&gt;By  on 1/3/2012 7:23:13 AM&lt;/b&gt;&lt;br&gt;Thanks!  The operator login did not have permissions.  Under admin login I can run the exe and open the wsp.&lt;br&gt;&lt;br&gt;Happy New Year!!&lt;br&gt;&lt;br&gt;&lt;br&gt;</description><link>https://www.marvintest.com/Forums/Thread.aspx?ID=178</link><pubDate>12/30/2011 1:44:33 PM</pubDate></item><item><title>Regexp - Created on Monday, December 5, 2011</title><description>&lt;b&gt;By Ofer M. on 12/5/2011 2:49:44 AM&lt;/b&gt;&lt;br&gt;Hello,&lt;br&gt;Did anyone got an idea what regexp dll available for AteEasy?&lt;br&gt;&lt;br&gt;</description><link>https://www.marvintest.com/Forums/Thread.aspx?ID=176</link><pubDate>12/5/2011 2:49:44 AM</pubDate></item><item><title>Problem with managing the forms - Created on Tuesday, November 22, 2011 (Solution Avaliable)</title><description>&lt;b&gt;By Cyril P. on 11/22/2011 3:23:05 AM&lt;/b&gt;&lt;br&gt;Hello,&lt;br&gt;&lt;br&gt;I have an issue to manage my forms in Ateasy 8 (No problem under Ateasy 4):&lt;br&gt;At the beginning of the program (in the event OnInit of the system) I am loading a form, which is a simple form with a log, using this command "Load hStandaloneDebugLog,False,0"&lt;br&gt;so its a non modal form and my program continue its execution.&lt;br&gt;Then in the event OnInitSystem I am creating a thread to manage and load all my standard GUI.&lt;br&gt;The original code to manage my standard GUI under Ateasy 4 was done to load my forms in modal way.&lt;br&gt;The problem is under Ateasy 8, if I do that, I am not able to use the debug form loaded at the beginning.&lt;br&gt;The debug form is not anymore accessible.&lt;br&gt;So I've changed my code in my thread to manage my GUIs to load the form in non modal way, but "simulated" it, using this code :&lt;br&gt;Load (GUIController.hformMainMenu),false&lt;br&gt;DoEvents()&lt;br&gt;! wait until unload is called&lt;br&gt;while (GUIController.hformMainMenu.hWnd)&lt;br&gt;	WaitForEvent(10) !don't consume 100% cpu&lt;br&gt;endwhile&lt;br&gt;GUIController.hformMainMenu=Nothing&lt;br&gt;&lt;br&gt;This helps to have access to the debug form but it causes another problem in other condition.&lt;br&gt;In fact, when I have my main form displayed sometimes I need to display another form (like a message box OK or something like that) on the top of my main form.&lt;br&gt;If I load the form non modal to keep access to the debug form, the message box OK don't block my main form and if I click on an object of the main form the code will be executed. Which I won't.&lt;br&gt;If I load the message box OK in modal way, I have no access to my debug form.&lt;br&gt;&lt;br&gt;Is there a way to fix that and works like on ateasy 4?&lt;br&gt;Thanks.&lt;br&gt;&lt;br&gt;&lt;b&gt;By DrATEasy (Ron Y.) on 11/22/2011 3:42:40 PM&lt;/b&gt;&lt;br&gt;This is similar to Visual Basic behavior - creating a modal window disable all process windows. The way around it is to continue and load the main form and its message form in modal mode as before and then manually enable the debug form using the AForm.Enabled property (i.e. frmModal.Enabled=True) -- this must be called inside each loaded modal form's OnLoad() event since the load statement does not return.&lt;br&gt;&lt;br&gt;&lt;br&gt;&lt;b&gt;By Cyril P. on 11/23/2011 1:22:28 AM&lt;/b&gt;&lt;br&gt;Hello Ron,&lt;br&gt;&lt;br&gt;thank you very much, it resolves my problem.&lt;br&gt;&lt;br&gt;</description><link>https://www.marvintest.com/Forums/Thread.aspx?ID=173</link><pubDate>11/22/2011 3:23:05 AM</pubDate></item><item><title>Can I import Python libraries into ATEasy? - Created on Tuesday, November 15, 2011</title><description>&lt;b&gt;By John K. on 11/15/2011 5:48:15 AM&lt;/b&gt;&lt;br&gt;Hi! I have a Python library (.py file) and I would like to use it in my project. Is it possible for me to import it into ATEasy?&lt;br&gt;&lt;br&gt;&lt;b&gt;By Albert Q. on 11/15/2011 5:26:28 PM&lt;/b&gt;&lt;br&gt;Hi John,&lt;br&gt;&lt;br&gt;ATEasy 8 (build 146b) contains example StdIoProcess. This example demonstrates how to run Python, Perl, and Tcl scripts from ATEasy.&lt;br&gt;&lt;br&gt;Regards,&lt;br&gt;Albert&lt;br&gt;&lt;br&gt;&lt;b&gt;By John K. on 11/15/2011 7:44:22 PM&lt;/b&gt;&lt;br&gt;Thank you, Albert. I'm using ATEasy 7, but I will try with version 8 (build 146b), as you suggested me. Have a nice day!&lt;br&gt;&lt;br&gt;Best regards,&lt;br&gt;&lt;br&gt;John K.&lt;br&gt;&lt;br&gt;</description><link>https://www.marvintest.com/Forums/Thread.aspx?ID=171</link><pubDate>11/15/2011 5:48:15 AM</pubDate></item><item><title>How to delete some characters or a line from a file using ATEasy commands? - Created on Thursday, November 10, 2011 (Solution Avaliable)</title><description>&lt;b&gt;By John K. on 11/10/2011 3:02:31 PM&lt;/b&gt;&lt;br&gt;Hi there! How can I delete some characters (or a whole string line) from a text file using ATEasy file I/O commands? Any help is welcomed.&lt;br&gt;&lt;br&gt;&lt;b&gt;By DrATEasy (Ron Y.) on 11/10/2011 6:35:10 PM&lt;/b&gt;&lt;br&gt;There no such command in ATEasy or C/Windows API. You will have to read the whole file to a string, close it, remove the line using string manipulation functions and rewrite the file. &lt;br&gt;Another way is to read a line at a time from the file in a loop using FileRead with terminator "\r\n" and write to another file just the lines you need. At the end you can delete the old file and rename the new one to the old.&lt;br&gt;&lt;br&gt;&lt;b&gt;By John K. on 11/10/2011 9:21:13 PM&lt;/b&gt;&lt;br&gt;Thank you for the quick and accurate answer, Ron! Have a nice day!&lt;br&gt;&lt;br&gt;</description><link>https://www.marvintest.com/Forums/Thread.aspx?ID=169</link><pubDate>11/10/2011 3:02:31 PM</pubDate></item><item><title>Load an active .GIF image into a form? - Created on Saturday, October 15, 2011 (Solution Avaliable)</title><description>&lt;b&gt;By John K. on 10/15/2011 2:41:00 PM&lt;/b&gt;&lt;br&gt;How can I load a .GIF image into a form created with ATEasy? I've created an APicture object and load a GIF file within, but that GIF is depicted as an image file (.JPG or .BMP, a static image that is...). How can I load that .GIF and make it run its pre-configured schedule? Thank you.&lt;br&gt;&lt;br&gt;&lt;b&gt;By DrATEasy (Ron Y.) on 10/17/2011 9:22:34 AM&lt;/b&gt;&lt;br&gt;Do mean animated GIF file? If yes, you can use the ATEasy ALog control in HTML mode (PlainText property set to False) and append an image tag with the GIF file. For more information about the image tag see http://www.w3schools.com/tags/tag_img.asp.&lt;br&gt;&lt;br&gt;&lt;br&gt;&lt;b&gt;By John K. on 10/17/2011 10:04:55 PM&lt;/b&gt;&lt;br&gt;Hi, Ronnie! Yes, I mean animated GIF file. But not into a log. I mean appending the animated GIF into a form. Let me give some details: I want to create a form that is loaded between two instances of a program, a so called 'waiting form'. Within this waiting form, I want to load an animated GIF that depicts a sand glass simulating the passing time and informing the user that he/she has to wait a bit. I don't know how to load that animated GIF. I've added an APicture control to the form with the animated GIF loaded, but the image isn't animated at all! It is a static image with no change in time. 
I hope you got my point. Any help is welcomed. Thank you.

Regards,

Johnnie&lt;br&gt;&lt;br&gt;&lt;b&gt;By DrATEasy (Ron Y.) on 10/18/2011 11:33:15 AM&lt;/b&gt;&lt;br&gt;APicture does not support animated gif. You will need to place the ALog control on your form and append the image tag as mentioned. The end result  should look the same as APicture. &lt;br&gt;&lt;br&gt;&lt;b&gt;By John K. on 10/18/2011 12:12:00 PM&lt;/b&gt;&lt;br&gt;Hi, Ron! First of all, thank you for your replies! Well, the end result doesn't look the same as APicture because the ALog control has a default scroll bar in the right of its screen and I didn't managed to remove it :(. Despite this, the GIF is working as you said. Isn't there another way to load that GIF so the scroll bar doesn't appear in the right (and bottom) of the screen?
Maybe a method or a function from some sort of animation .DLL, but I don't know any.&lt;br&gt;&lt;br&gt;&lt;b&gt;By DrATEasy (Ron Y.) on 10/18/2011 12:29:34 PM&lt;/b&gt;&lt;br&gt;To hide ALog's scrollbar, which is displayed by default, insert the following codes into ALog's OnDocumentComplete() event:&lt;br&gt;    log1.Document.body.setAttribute("scroll", "no") &lt;br&gt;&lt;br&gt;If you like to reduce the border around the image, use the following in the form OnLoad():&lt;br&gt;The border around the image can be removed by setting the ALog control's margins to 0. For example, insert the following codes into AForm's OnLoad() event to align the image at the TopLeft corner of ALog control : &lt;br&gt;&lt;br&gt;    log1.Document.Body.LeftMargin=0 &lt;br&gt;    log1.Document.Body.TopMargin=0 &lt;br&gt;&lt;br&gt;&lt;br&gt;&lt;b&gt;By John K. on 10/18/2011 1:24:16 PM&lt;/b&gt;&lt;br&gt;Thank you, Ron! Only that the statements :&lt;br&gt;   log1.Document.Body.LeftMargin=0&lt;br&gt;   log1.Document.Body.TopMargin=0  wouldn't work in AForm's OnLoad()  (error: object is null). I think the form hasn't finished to load (paint) the ALog object and that's why it gave me that error message repeatedly. Anyway, it works fine if I put these two statements in ALog's OnDocumentComplete() event, among with  log1.Document.body.setAttribute("scroll", "no") . Thank you very much for your kindness in helping me. Have a nice day!&lt;br&gt;&lt;br&gt;</description><link>https://www.marvintest.com/Forums/Thread.aspx?ID=165</link><pubDate>10/15/2011 2:41:00 PM</pubDate></item><item><title>Login.usr - Created on Thursday, October 13, 2011 (Solution Avaliable)</title><description>&lt;b&gt;By Eddie A. on 10/13/2011 6:02:10 AM&lt;/b&gt;&lt;br&gt;Login holds onto previous locations for the .USR file instead of accepting new paths. Any help would be appreciated.&lt;br&gt;&lt;br&gt;&lt;b&gt;By Jason A. on 4/24/2012 11:02:52 AM&lt;/b&gt;&lt;br&gt;What it sounds like you are saying is that USR file path was changed by a user to the users homepath; once that happens other users are told they don't have acces to the file.  ATEasy allows the user to change the location if the original location of the USR file is located in a folder that the user has read permissions but does not have write permissions.  The default location of the USR file is the system32 folder for winXP.  We also encountered this.  What you need to do is change the file location to a folder that everyone has read/write permissions.  The option to change this is found in the ATEasy IDE.  Goto Tools -&amp;gt; Users.  When prompted for ATEasy login, use a "ATEasy" login that has Administrator privileges, if has never been setup before use the default, user = Administrator and password leave blank.  You are then presented with a Users options window.  At the bottom of this window you will see the current path set for the ATEasy.usr file.  In an explorer window copy the ATEasy.usr file to another location and then set the path in the User options window.&lt;br&gt;&lt;br&gt;</description><link>https://www.marvintest.com/Forums/Thread.aspx?ID=164</link><pubDate>10/13/2011 6:02:10 AM</pubDate></item><item><title>How can I create a new task within a task? - Created on Wednesday, October 12, 2011 (Solution Avaliable)</title><description>&lt;b&gt;By John K. on 10/12/2011 3:37:05 AM&lt;/b&gt;&lt;br&gt;Hello! I've saw in the ATEasy Examples package, that some programs include the following structure of the tests/tasks: under the Tests submodule -&amp;gt; Task1 -&amp;gt; Task1.1 -&amp;gt; Test1.1.1 etc. But I couldn't build that! All I can is the following: Tests -&amp;gt; Task1 -&amp;gt; Test1.1 and so on, but without the Task1.1 interleaved.&lt;br&gt;Is there a special way to build another Task within the hierarchy? Please help me.&lt;br&gt;&lt;br&gt;&lt;b&gt;By Dale J. on 10/12/2011 6:28:20 AM&lt;/b&gt;&lt;br&gt;Hi John,&lt;br&gt;You can set the number of Task levels, and whether Tasks and Tests can reside at the same level, by selecting the "Tools:Option:Tests/Procedures" tab from the menu.  The default Tasks Level is limited to one when you install ATEasy.  Once the levels are changed, you can insert Tasks/Tests using the Insert At/After/Below menu or tool-bar icon.&lt;br&gt;&lt;br&gt;Regards,&lt;br&gt;Dale&lt;br&gt;&lt;br&gt;&lt;br&gt;&lt;b&gt;By John K. on 10/12/2011 9:17:56 PM&lt;/b&gt;&lt;br&gt;Thank you very much, Dale! Have a nice day.&lt;br&gt;&lt;br&gt;Best regards,&lt;br&gt;John K.&lt;br&gt;&lt;br&gt;</description><link>https://www.marvintest.com/Forums/Thread.aspx?ID=163</link><pubDate>10/12/2011 3:37:05 AM</pubDate></item><item><title>Changing  screen resolution from ateasy - Created on Thursday, October 6, 2011 (Solution Avaliable)</title><description>&lt;b&gt;By Vitaly A. on 10/6/2011 12:37:11 PM&lt;/b&gt;&lt;br&gt;hello&lt;br&gt;&lt;br&gt;how can i change the screen resolution from 1024x760 to 800x680 from ateasy under windows 2000 and ateasy 4?&lt;br&gt;&lt;br&gt;&lt;b&gt;By DrATEasy (Ron Y.) on 10/7/2011 8:56:37 AM&lt;/b&gt;&lt;br&gt;Call the following Windows API  ChangeDisplaySettings &lt;br&gt;&lt;br&gt;http://msdn.microsoft.com/en-us/library/dd183411(v=vs.85).aspx&lt;br&gt;&lt;br&gt;The function defined in user32.dll, you should use the alias ChangeDisplaySettingsA when defining it.&lt;br&gt;&lt;br&gt;&lt;br&gt;</description><link>https://www.marvintest.com/Forums/Thread.aspx?ID=162</link><pubDate>10/6/2011 12:37:11 PM</pubDate></item><item><title>How to redim an array that represents a field of a structure? - Created on Monday, September 26, 2011 (Solution Avaliable)</title><description>&lt;b&gt;By John K. on 9/26/2011 3:26:17 AM&lt;/b&gt;&lt;br&gt;Hi there! I'm willing to redim an array of bytes that is a field of a structure with some other fields. But I can't! Let's say the structure is DiscStruct and I use the following command to redim the field abData[1]: ReDim DiscStruct.abData [20]. But no use! The compiler doesn't return any error but the array's dimension remains unchanged! How come? Can anyone please tell me where am I wrong?&lt;br&gt;&lt;br&gt;&lt;b&gt;By DrATEasy (Ron Y.) on 9/26/2011 9:03:02 AM&lt;/b&gt;&lt;br&gt;Structure has a fixed size that cannot be changed (similar to C++). You can define the structure member/field as a variant type:&lt;br&gt;&lt;br&gt;structA &lt;br&gt;{&lt;br&gt;    vr : variant  ! will hold the array&lt;br&gt;}&lt;br&gt;&lt;br&gt;stA: structA&lt;br&gt;al : long[1]&lt;br&gt;&lt;br&gt;! initialize as array field with one element&lt;br&gt;stA.vr=al&lt;br&gt;&lt;br&gt;! assign a value to the array&lt;br&gt;stA.vr[0]=120&lt;br&gt;print  stA.vr[0]&lt;br&gt;&lt;br&gt;! redim to 100 elements&lt;br&gt;redim al[100]&lt;br&gt;al=stA.vr ! preserve the values&lt;br&gt;stA.vr=al  ! will set the variant to hold 100 elements&lt;br&gt;&lt;br&gt;&lt;br&gt;</description><link>https://www.marvintest.com/Forums/Thread.aspx?ID=157</link><pubDate>9/26/2011 3:26:17 AM</pubDate></item><item><title>How to compute the 16-bit CRC of struct data? - Created on Saturday, September 24, 2011 (Solution Avaliable)</title><description>&lt;b&gt;By John K. on 9/24/2011 5:01:26 AM&lt;/b&gt;&lt;br&gt;Hi there! I have to implement the CRC-CCITT 16 bit algorithm for computing the Cyclic Redundancy Check of some packets of data that has to be transmitted over a RS-232 communication line. I have the algorithm written in C++, but I have difficulties implementing it in ATEasy. First of all, the C++ algorithm needs a pointer to the data buffer (uint8 *buf) and its length. I don't know how can I express the pointer to byte so the bytes will be extracted like from an array of bytes (inside the CRC computing routine, there's buf[data_index]^=CRC_table[index] etc.). My IN data represents some custom defined structures in ATEasy, and I don't know how can I give them as parameters for the CRC computing routine (how can I transform a structure into a pointer to byte??). PLEASE, help me!!


Best regards,
John K.&lt;br&gt;&lt;br&gt;&lt;b&gt;By DrATEasy (Ron Y.) on 9/26/2011 9:10:15 AM&lt;/b&gt;&lt;br&gt;Pass the element index to the procedure and the structure that holds the array:&lt;br&gt;&lt;br&gt;a(st, iIndex)   ! call&lt;br&gt;&lt;br&gt;! procedure to accept the structure and index&lt;br&gt;a(st: structA, iIndex : long)&lt;br&gt;{&lt;br&gt;  st.array[iIndex]= ...   &lt;br&gt;}&lt;br&gt;&lt;br&gt;&lt;br&gt;&lt;b&gt;By John K. on 9/26/2011 10:59:49 AM&lt;/b&gt;&lt;br&gt;Hi, Ronnie! I think you've misunderstood. My struct doesn't have any array. My struct has 3 byte fields and one field that holds another structure that has to be one type out of 5. So, I've declared this last field as variant and my root structure accepts it. My CRC calculation routine needs a pointer to where the data is. So, it is of type "var byte[]", and I use MemoryCopy(&amp;amp;byteArray, &amp;amp;rootStruct,sizeof(rootStruct),); before this, I redim byteArray according to the size of rootStruct. Everything good 'til now. I'm passing the byteArray to my CRC procedure but everytime I open ATEasy and do this, a different CRC value is computed! I looked into my rootStruct and it contains different data that I suppose it came from that last field that holds a struct and is of type variant... What am I doing wrong?&lt;br&gt;&lt;br&gt;&lt;b&gt;By John K. on 9/26/2011 11:02:25 AM&lt;/b&gt;&lt;br&gt;So, that last field of the root struct (the field that holds a struct) is unchanged but it looks like the memory locations where it is placed contain different data and this is not normal, right?&lt;br&gt;&lt;br&gt;&lt;b&gt;By DrATEasy (Ron Y.) on 9/26/2011 12:22:10 PM&lt;/b&gt;&lt;br&gt;Not sure I understand, upload an example... to your post.&lt;br&gt;&lt;br&gt;</description><link>https://www.marvintest.com/Forums/Thread.aspx?ID=156</link><pubDate>9/24/2011 5:01:26 AM</pubDate></item><item><title>loop on three test  does not stop - Created on Thursday, September 15, 2011 (Solution Avaliable)</title><description>&lt;b&gt;By Anthony B. on 9/15/2011 7:50:56 AM&lt;/b&gt;&lt;br&gt;I place this code under Procedure and called it looptotest1. The code loop does not work when &lt;br&gt;&lt;br&gt;! else&lt;br&gt;  ! test 1  is  uncommented.  How can I loop on test 1 to test 3 for  .5 min or any given time. I appears &lt;br&gt;&lt;br&gt;Tick()-Time is always zero while running the code.&lt;br&gt;&lt;br&gt;&lt;br&gt;&lt;br&gt;Time=Tick()&lt;br&gt;&lt;br&gt;repeat&lt;br&gt;&lt;br&gt; &lt;br&gt; print "Tick()"&lt;br&gt; print Tick()&lt;br&gt; &lt;br&gt; print "Time"&lt;br&gt; print Time&lt;br&gt; &lt;br&gt; print "time1"&lt;br&gt; print Tick()-Time&lt;br&gt; &lt;br&gt; print "time1"&lt;br&gt; &lt;br&gt;print  time1&lt;br&gt;Delay(1000)&lt;br&gt; if Tick()-Time &amp;gt; 30000 then&lt;br&gt; &lt;br&gt;  exittest&lt;br&gt;&lt;br&gt; &lt;br&gt; ! else&lt;br&gt;  ! test 1   !repeat test 1 to test 3 for .5 minute&lt;br&gt;&lt;br&gt;    endif&lt;br&gt;&lt;br&gt;&lt;br&gt;until Tick()-Time &amp;gt; 40000&lt;br&gt;&lt;br&gt;&lt;br&gt;</description><link>https://www.marvintest.com/Forums/Thread.aspx?ID=154</link><pubDate>9/15/2011 7:50:55 AM</pubDate></item><item><title>How can I  evaluate two test result in the same test   - Created on Monday, September 12, 2011 (Solution Avaliable)</title><description>&lt;b&gt;By Anthony B. on 9/12/2011 11:51:55 AM&lt;/b&gt;&lt;br&gt;I am trying to evaluate two TestResult the same test. Ateasy only evaluate the last TestResult. &lt;br&gt;&lt;br&gt;&lt;br&gt;&lt;br&gt;&lt;br&gt;TestResult=4.1&lt;br&gt; &lt;br&gt;TestResult=4.0&lt;br&gt;&lt;br&gt;&lt;br&gt;&lt;b&gt;By DrATEasy (Ron Y.) on 9/12/2011 12:08:57 PM&lt;/b&gt;&lt;br&gt;&lt;br&gt;TestResult=4.1&lt;br&gt;GetLogString(aLogStringCalcTestStatus)&lt;br&gt;&lt;br&gt;if TestStatus=PASS ! in this example if failed don't need to evaluate the second, You can change to =FAIL depends on the logic you need&lt;br&gt;    TestResult=4.0&lt;br&gt;endif&lt;br&gt;&lt;br&gt;if you also need to print test results to the log you can add print before the GetLogString() call.&lt;br&gt;&lt;br&gt;There is also another way if you want just to repeat the test. See TestExec.prj - when you run the SelfTest.prg (test 1.1 DMM) it will repeat the test several times and displays in the test log test # column .1/ .2 etc for each repeat. This example in v8.&lt;br&gt;&lt;br&gt;</description><link>https://www.marvintest.com/Forums/Thread.aspx?ID=153</link><pubDate>9/12/2011 11:51:55 AM</pubDate></item><item><title>ATEasy Coding Standards - Created on Sunday, September 11, 2011 (Solution Avaliable)</title><description>&lt;b&gt;By David S. on 9/11/2011 9:51:08 AM&lt;/b&gt;&lt;br&gt;We are starting to implement coding standards at our organization and I was wondering if any already exist for ATEasy.  If not, which language do you think it most closely represents?  VB 6.0?  Some other?&lt;br&gt;Thanks for your input!&lt;br&gt;&lt;br&gt;&lt;b&gt;By DrATEasy (Ron Y.) on 9/12/2011 9:21:46 AM&lt;/b&gt;&lt;br&gt;There is some information for that in http://www.marvintest.com/KnowledgeBase/KBSearchArticles.aspx?ID=197&amp;task=go&amp;search=organization&amp;type=AND&lt;br&gt;&lt;br&gt;and also in the ATEasy on-line help (look for "Variable Naming Conventions")&lt;br&gt;&lt;br&gt;</description><link>https://www.marvintest.com/Forums/Thread.aspx?ID=152</link><pubDate>9/11/2011 9:51:08 AM</pubDate></item><item><title>How can I secure the data within a DLL file created with ATEasy? - Created on Friday, September 9, 2011 (Solution Avaliable)</title><description>&lt;b&gt;By John K. on 9/9/2011 3:17:42 PM&lt;/b&gt;&lt;br&gt;Hi there! How can I secure the name/numer of the functions and their parameters name/number so noone can change them? I've imported some DLL's that had this property so they couldn't be modified in any way; but I'm not sure those DLL's were built under ATEasy environment. Is there any way to build such a DLL under ATEasy?&lt;br&gt;&lt;br&gt;&lt;b&gt;By DrATEasy (Ron Y.) on 9/9/2011 3:32:46 PM&lt;/b&gt;&lt;br&gt;DLL (or EXE) created by ATEasy is the same as the one created by Visual Studio. They contains binary data of the compiled modules (sources are not included in the DLL). &lt;br&gt;&lt;br&gt;&lt;b&gt;By John K. on 9/10/2011 2:00:24 AM&lt;/b&gt;&lt;br&gt;Yes, it's true. I've compiled a DLL using ATEasy and after that I've imported this library in another ATEasy project. I've noticed that I can edit the function and parameter names pertaining to the DLL within the other project. Also, I can erase some or all functions from it (parameters also), and I don't want that to be allowed. I've imported lots of DLLs and they were "read-only". I mean, their functions and parameters couldn't be deleted or modified in any way! Also, when I import this DLL to another project, and double click on the Procedures module within the DLL, the list is empty! I have to right-click on the library and select "Import ATEasy DLL Procedures" and so the list becomes populated with the procedures contained by my DLL. Isn't there a way to fix that so the contained procedures to appear always from the first seek? I hope to get the answers I need because I really need help! Thank you in advance!&lt;br&gt;&lt;br&gt;Best regards,&lt;br&gt;Alex J.&lt;br&gt;&lt;br&gt;&lt;br&gt;&lt;b&gt;By John K. on 9/12/2011 3:51:49 AM&lt;/b&gt;&lt;br&gt;Actually, I saw now that those files that provide unchangeable functions appear in ATEasy as COM objects (though they were loaded from .DLL files!). DLL files that are seen by ATEasy as DLL's provide changeable function names and parameters (even deleting them is possible). Can I make a loaded DLL to have unchangable data, as I said before?&lt;br&gt;&lt;br&gt;&lt;b&gt;By DrATEasy (Ron Y.) on 9/12/2011 9:09:30 AM&lt;/b&gt;&lt;br&gt;ATEasy allows to change the DLL procedures interface where you use it but if you change it it will not change the actual DLL. This is the same as Visual Studio in C you can change the .H header file but it will not change the DLL.&lt;br&gt;I'm not sure what is the problem and why would you attempt to change the prototype of DLL functions in the first place.&lt;br&gt;&lt;br&gt;&lt;br&gt;&lt;b&gt;By John K. on 9/12/2011 10:03:41 AM&lt;/b&gt;&lt;br&gt;Thank you for your posts, Ron! I was confusing DLL with imported COM objects and I wanted that the functions my DLL provides to be "as it is", I mean with no changeable options. But it's OK now, I understand the permissions ATEasy offers. Only this: is it possible that a DLL file to appear as COM object after it was loaded into ATEasy (and not as DLL as it should)?&lt;br&gt;&lt;br&gt;&lt;b&gt;By DrATEasy (Ron Y.) on 9/12/2011 10:21:16 AM&lt;/b&gt;&lt;br&gt;DLL contains no standard way as COM or .NET to export their functions prototype. That is why for .COM/.NET it is not allowed to define the functions prototype manually. ATEasy DLL function prototype are automatically defined when you insert them to Libraries since they have a special resource section that contain that information - that section is only used by ATEasy so that you will not need to define the functions manually (as in DLLs defined in C). The library is not changed to readonly for simplicity so it will show as other non-ATEasy DLLs, also making it read-only require us to to keep track on changes in the DLL functions (source project) and serialize the functions differently. &lt;br&gt;&lt;br&gt;&lt;br&gt;&lt;b&gt;By John K. on 9/12/2011 1:31:57 PM&lt;/b&gt;&lt;br&gt;Thank you, Ron! I've got it now! Have a good day!&lt;br&gt;&lt;br&gt;</description><link>https://www.marvintest.com/Forums/Thread.aspx?ID=151</link><pubDate>9/9/2011 3:17:42 PM</pubDate></item><item><title>Communicating with controls in form from another thread - Created on Monday, August 29, 2011</title><description>&lt;b&gt;By Louis S. on 8/29/2011 9:04:20 AM&lt;/b&gt;&lt;br&gt;Is there a recommended way to update controls in the UI thread from another thread?&lt;br&gt;&lt;br&gt;&lt;b&gt;By DrATEasy (Ron Y.) on 8/29/2011 9:31:34 AM&lt;/b&gt;&lt;br&gt;ATEasy built-in controls are thread safe and can be called from any thread including the threads that did not create the form or control. &lt;br&gt;&lt;br&gt;Calling a control method or property from another thread will be slower than calling it from the thread that the control was create with and will result in a thread switch.  &lt;br&gt;&lt;br&gt;&lt;b&gt;By Louis S. on 8/29/2011 10:30:16 AM&lt;/b&gt;&lt;br&gt;Is it preferred to use a global value with a mutex or some form of signaling than?&lt;br&gt;&lt;br&gt;What would be the syntax for addressing the control in a form from the process function?&lt;br&gt;&lt;br&gt;Thanks,&lt;br&gt;Louis&lt;br&gt;&lt;br&gt;&lt;b&gt;By DrATEasy (Ron Y.) on 8/29/2011 10:50:46 AM&lt;/b&gt;&lt;br&gt;1. No. Since the call to another thread control is a blocking call (will not return until the method or property are done). If the UI thread is just used to display a form that the delay should very small. If the main thread is running a test program than you should consider moving the form to the worker thread or use another thread for the form. In any case, make sure the UI thread uses WaitForEvent to handle the form events and minimize CPU usage. &lt;br&gt;&lt;br&gt;2. If you have a global variable m_frm A: FormA and a control chkB. you need to make sure that the control and the from are defined as public and than call it from anywhere using m_frmA.chkB.&lt;br&gt;&lt;br&gt;&lt;br&gt;&lt;b&gt;By Louis S. on 8/29/2011 11:34:10 AM&lt;/b&gt;&lt;br&gt;I had forgotten to check the public box, thanks!&lt;br&gt;&lt;br&gt;It does seem to run significantly slower doing the cross thread updates (43 Hz vs 10KHz), so I'm going to leave them out for now.  It's a standard form so it should be spending it's time waiting for events already.  I don't get much benefit from being above 1 KHz anyway since I'm generating my test waveform using tick().&lt;br&gt;&lt;br&gt;&lt;b&gt;By DrATEasy (Ron Y.) on 8/29/2011 12:32:46 PM&lt;/b&gt;&lt;br&gt;You don't really need to update the control that much since you can't see it anyways. Did you try a timer control  (10 updates per second 100 msec or 5 every 200msec)?&lt;br&gt;&lt;br&gt;&lt;br&gt;&lt;b&gt;By Louis S. on 8/30/2011 6:47:31 AM&lt;/b&gt;&lt;br&gt;I think I may have misunderstood how to set this up.&lt;br&gt;&lt;br&gt;I created a thread that writes to an I/O card as often as possible.  1 kHz would be the ideal rate since the function being generated is dependent on tick which updates every 1 msec.  By putting this code in a timing-critical thread, I can run the output update at approximately 10 kHz.&lt;br&gt;&lt;br&gt;This output is also controlled by a manual slider control which is disabled during this automated output.  It would be nice for the disabled control to show what the current output is so the user has a better indication of what the automated output is doing.  This doesn't have to be anywhere near as often as the updates, but can't get in their way.  If I had a separate timer updating the slider control, wouldn't that have to temporarily stop the update thread while it is getting the current value (either by reading from the I/O card or by accessing a global variable)?&lt;br&gt;&lt;br&gt;&lt;b&gt;By DrATEasy (Ron Y.) on 8/30/2011 9:50:48 AM&lt;/b&gt;&lt;br&gt;If the shared data is a numeric value you can access at the same time from the timer and the thread, I don't think you will have a lot of misses since the integer is pretty atomic. You can use a ACriticalSection object to lock and protect the global value from being access at the same time but this will slow things  a bit. See example for how to use that in Language.prg example (Multithreading task).&lt;br&gt;&lt;br&gt;&lt;b&gt;By Louis S. on 8/30/2011 1:05:55 PM&lt;/b&gt;&lt;br&gt;That worked.  It still can cause slowdowns if I move the form object around, but it seems impervious to other outside events.&lt;br&gt;&lt;br&gt;</description><link>https://www.marvintest.com/Forums/Thread.aspx?ID=149</link><pubDate>8/29/2011 9:04:20 AM</pubDate></item><item><title>Repeated Threads - Created on Monday, August 29, 2011 (Solution Avaliable)</title><description>&lt;b&gt;By Louis S. on 8/29/2011 8:20:36 AM&lt;/b&gt;&lt;br&gt;I'm trying to create a background, TimeCritical thread to handle real-time updating of a DAC card, but haven't been able to get the thread to execute the proc continuously.  At the end of the proc, the thread disappears from the View Threads window and is no longer called.  Is there a way to set up the thread for repeating, or do you just create a new thread at the end of the current one?&lt;br&gt;&lt;br&gt;&lt;b&gt;By Louis S. on 8/29/2011 8:24:44 AM&lt;/b&gt;&lt;br&gt;Better idea: I can just put a while(1) loop in the thread function.&lt;br&gt;&lt;br&gt;</description><link>https://www.marvintest.com/Forums/Thread.aspx?ID=148</link><pubDate>8/29/2011 8:20:36 AM</pubDate></item><item><title>Error with ATEasy 7 142G - Created on Friday, August 12, 2011 (Solution Avaliable)</title><description>&lt;b&gt;By Curtis S. on 8/12/2011 12:28:00 PM&lt;/b&gt;&lt;br&gt;When we run ATEasy 7 Build 142G we get an error window that states "There was a problem sending a command to the program".  When we run Build 142C we do not see the error.&lt;br&gt;&lt;br&gt;Is this something that we can fix?&lt;br&gt;&lt;br&gt;&lt;b&gt;By DrATEasy (Ron Y.) on 8/12/2011 1:11:10 PM&lt;/b&gt;&lt;br&gt;This is not an ATEasy error. Do you get the error communicating with Excel? Check out the following:&lt;br&gt;&lt;br&gt;http://www.interworks.com/blogs/jdavis/2010/02/01/excel-2007-there-was-problem-sending-command-program&lt;br&gt;&lt;br&gt;Ron&lt;br&gt;&lt;br&gt;&lt;b&gt;By Curtis S. on 8/15/2011 6:07:13 AM&lt;/b&gt;&lt;br&gt;We don't have Excel installed on this particular computer.  (We did see the same problem on another computer that we temporarily installed build 142G onto.)&lt;br&gt;&lt;br&gt;The error surfaces when I try to open a workspace.  I don't see it if I open ATEasy itself.&lt;br&gt;&lt;br&gt;&lt;b&gt;By DrATEasy (Ron Y.) on 8/15/2011 9:01:23 AM&lt;/b&gt;&lt;br&gt;Opening wsp file from Windows Explorer was timed out in 142g and was fixed in 142g. If this occurs in your machine, I suggest to open a Magic incident and provide the exact details (OS, IE version, etc) and maybe also upload your project files.&lt;br&gt;&lt;br&gt;</description><link>https://www.marvintest.com/Forums/Thread.aspx?ID=147</link><pubDate>8/12/2011 12:28:00 PM</pubDate></item><item><title>Removing a plotted point from a chart - Created on Thursday, July 14, 2011 (Solution Avaliable)</title><description>&lt;b&gt;By John K. on 7/14/2011 1:03:23 PM&lt;/b&gt;&lt;br&gt;Hello! I have to plot multiple points on a chart with multiple colors. When some keyboard event occurs, a so called current point has to change it's colour from green to red, so I've plotted a point with the red colour over the one plotted with green. But I have to implement the undo options also! So... I'm trying now to implement the backspace key, so the current point changes it's colour from red to green, but this thing isn't happening! It's because my green point is there but it is under the red one! How can I cancel the red one, so my green point will become visible again? I can't use ClearData because I have other red points that have to be visible.... This is a though one :(&lt;br&gt;&lt;br&gt;&lt;b&gt;By Victor B. on 7/18/2011 10:44:58 AM&lt;/b&gt;&lt;br&gt;Interesting problem, Alex.  I came up with a quick solution, but you may have to adapt it a bit to make it fit your situation.  You will need to create two overlapping plots on your chart.  The red plot will contain all of the data and the green plot will only contain one point, which is the current/active point.  I have attached the example to this post.&lt;br&gt;&lt;br&gt;Summary:&lt;br&gt;-Create two plots on your chart, make the red plot first on the chart list and the green plot second.  This will make sure that green overlaps red.&lt;br&gt;-Save all the data for the red plot into an array (I used program variable 'adData')&lt;br&gt;-In the forms OnLoad event, initialize a current point variable to 0 (Form variable 'lCurrentX').  This variable will be used to keep track of the green point.&lt;br&gt;-In the form's OnKeyDown event, update the current point variable (In the example, F2 goes forward, F1 goes back)&lt;br&gt;-Each time the current point is updated, update the Green Plot using the red plot array and the current point variables.  Make sure you clear data so you erase the previous green point.&lt;br&gt;&lt;br&gt;Regards,&lt;br&gt;Victor Brode&lt;br&gt;&lt;br&gt;</description><link>https://www.marvintest.com/Forums/Thread.aspx?ID=146</link><pubDate>7/14/2011 1:03:23 PM</pubDate></item><item><title>Chart zoom not working good? - Created on Tuesday, July 12, 2011 (Solution Avaliable)</title><description>&lt;b&gt;By John K. on 7/12/2011 12:48:19 AM&lt;/b&gt;&lt;br&gt;Hi there! I've found the ZoomEnabled option for a chart control, but it's not very efficient (actually, it's not zooming like it should - when I left-click on my chart, the plotted points dissapear..). It's there another way to zoom on my chart control? Some sort of dividing the whole chart size into 4 or 9 regions, zooming one region to the whole chart size when it is clicked? Or, can I zoom on each axis? For example if I want the X axis to be zoomed an Y to remain unchanged, or vice versa. Has anyone met with this issue?&lt;br&gt;&lt;br&gt;Regards,&lt;br&gt;Alex J.&lt;br&gt;&lt;br&gt;&lt;b&gt;By Victor B. on 7/12/2011 5:15:07 PM&lt;/b&gt;&lt;br&gt;Hi Alex,&lt;br&gt;&lt;br&gt;One way to create a more customized zoom is by manually manipulating the axes Min and Max properties.  You can use the chart's OnMouseDown Event to achieve this.  Here is an example:&lt;br&gt;&lt;br&gt;Procedure cht1.OnMouseDown(nButton, nShift, x, y): Void Public	! Occurs when the mouse button is pressed over the object.&lt;br&gt;--------------------------------------------------------------------------------&lt;br&gt;	nButton: Val Short&lt;br&gt;	nShift: Val Short&lt;br&gt;	x: Val Internal.APixel&lt;br&gt;	y: Val Internal.APixel&lt;br&gt;{&lt;br&gt;	if nButton=aMouseButtonLeft  ! Zoom in&lt;br&gt;		cht1.Axes("X-Axis").Min=cht1.Axes("X-Axis").Min/2&lt;br&gt;		cht1.Axes("Y-Axis").Min=cht1.Axes("Y-Axis").Min/2&lt;br&gt;	&lt;br&gt;		cht1.Axes("X-Axis").Max=cht1.Axes("X-Axis").Max/2&lt;br&gt;		cht1.Axes("Y-Axis").Max=cht1.Axes("Y-Axis").Max/2&lt;br&gt;	elseif nButton=aMouseButtonRight ! Zoom out&lt;br&gt;		cht1.Axes("X-Axis").Min=cht1.Axes("X-Axis").Min*2&lt;br&gt;		cht1.Axes("Y-Axis").Min=cht1.Axes("Y-Axis").Min*2&lt;br&gt;	&lt;br&gt;		cht1.Axes("X-Axis").Max=cht1.Axes("X-Axis").Max*2&lt;br&gt;		cht1.Axes("Y-Axis").Max=cht1.Axes("Y-Axis").Max*2&lt;br&gt;	endif&lt;br&gt;}&lt;br&gt;&lt;br&gt;Regards,&lt;br&gt;Victor Brode&lt;br&gt;&lt;br&gt;</description><link>https://www.marvintest.com/Forums/Thread.aspx?ID=145</link><pubDate>7/12/2011 12:48:19 AM</pubDate></item><item><title>OnKeyDown() event failure - Created on Friday, July 8, 2011</title><description>&lt;b&gt;By John K. on 7/8/2011 3:52:38 AM&lt;/b&gt;&lt;br&gt;Hi there! I'm developing an application in which a form that's loaded has to respond to some key pressed from the keyboard. When the form is loaded, the OnKeyDown() event works fine, but if I minimize the form or I just press Alt+TAB (to focus on another opened application), when I return to the loaded form, the OnKeyDown() event is not working any more! Why? I have to close the form and reload it in order to make this event functionable. It's frustrating or so... Can I fix this up? Or, how can I make the loaded form "always on top", so the user couldn't minimize it (just closing it) ? Please, help me up!&lt;br&gt;&lt;br&gt;&lt;b&gt;By Victor B. on 7/8/2011 3:47:33 PM&lt;/b&gt;&lt;br&gt;Hi Alex,&lt;br&gt;&lt;br&gt;I set up a simple example where the OnKeyDown() event updates a counter.  Alt+Tab did not disable the OnKeyDown() event.  I have attached the example program that I created.  Check to see if it works on your system.&lt;br&gt;&lt;br&gt;To answer your second question, you can disable the minimum and maximum controls by right-clicking on your form in the form editor and opening the Properties window.  If you click on the Window page in the Properties Editor, you will see checkboxes to enable/disable MinButton and MaxButton.  Alternatively, you can also change the BorderStyle from the default 'Sizable' to 'Fixed Dialog' which will have a similar effect.&lt;br&gt;&lt;br&gt;Regards,&lt;br&gt;Victor Brode&lt;br&gt;&lt;br&gt;&lt;b&gt;By John K. on 7/9/2011 12:13:57 PM&lt;/b&gt;&lt;br&gt;Hi, Victor! Thank you for your reply! Your program works indeed. But mine still doesn't :(. If I load the form, it works, but if I click on another application loaded in the taskbar, after that I return to my opened form  the OnKeyDown event is not working anymore. I think there's a problem with my variables and procedures. Now I've moved the used variables in the variables section of the form, but when I try to move the used procedures, I can't! I don't know why I can't create a procedure within my form. It has the Procedure section (near Variables, cht1, btn1 - the controls within my form), but when I double click it, it opens and just it. No right-click options (no &amp;amp;quot;Insert procedure at&amp;amp;quot; or so...) ! Why? Is there a special way to create procedures within a form?&lt;br&gt;&lt;br&gt;&lt;b&gt;By John K. on 7/11/2011 12:14:51 AM&lt;/b&gt;&lt;br&gt;I've found the problem source: there's a button on my form and when I reactivate the form, this button automatically receives focus, so the form's OnKeyDown event isn't working anymore... How can I cancel the option where a button receives focus on reactivating the window? I've tried with Form.SetFocus() on OnActivate() event, but no use! :(
Victor, try to add a button to your test form, and you will see that the counter will stop working if you use Alt+TAB and after that reactivate the form... I just don't know how to disable this feature: setting a sort of auto-focus on the button within the form! :(&lt;br&gt;&lt;br&gt;&lt;b&gt;By Victor B. on 7/11/2011 9:40:28 AM&lt;/b&gt;&lt;br&gt;Hi Alex,&lt;br&gt;&lt;br&gt;You can set the Form's KeyPreview property to True.  This will cause the Form to receive keystrokes generated from any of it's child controls before they are handled by the control.  Set this in the Form Properties editor in the Window tab.&lt;br&gt;&lt;br&gt;To create a new procedure within your form, click on the Procedure entry and select 'Insert Procedure After...' from the Insert Menu.  Or use the shortcut keystroke Shift+Alt+Insert.&lt;br&gt;&lt;br&gt;Regards,&lt;br&gt;Victor Brode&lt;br&gt;&lt;br&gt;&lt;b&gt;By John K. on 7/11/2011 10:16:18 AM&lt;/b&gt;&lt;br&gt;Thank you very much for you help, Victor! Your reply helped me a lot!! Have a nice day!&lt;br&gt;&lt;br&gt;Best regards,&lt;br&gt;&lt;br&gt;Alex J.&lt;br&gt;&lt;br&gt;</description><link>https://www.marvintest.com/Forums/Thread.aspx?ID=144</link><pubDate>7/8/2011 3:52:38 AM</pubDate></item><item><title>Point size in AChart control - Created on Monday, July 4, 2011</title><description>&lt;b&gt;By John K. on 7/4/2011 1:36:12 AM&lt;/b&gt;&lt;br&gt;Hi there! I have to build an application in which some points are plotted on a chart (only the points, not lines!). So, I've selected the cross PointStyle for a type of points and the circle for the other. But the sizes of the cross (X) and the circle (O) are too small... Can I adjust their sizes? I've tried to find some options regarding this issue but no use... :(.&lt;br&gt;&lt;br&gt;&lt;b&gt;By Albert Q. on 7/6/2011 2:37:04 PM&lt;/b&gt;&lt;br&gt;The size of the plot point is not adjustable. It has the fixed size of 7x7 pixels.&lt;br&gt;&lt;br&gt;Regards,&lt;br&gt;Albert&lt;br&gt;&lt;br&gt;&lt;b&gt;By John K. on 7/8/2011 1:29:03 AM&lt;/b&gt;&lt;br&gt;Hmmm... not good! Maybe this can be added on the suggestion list. Thanks for your answer anyway! Have a nice day!&lt;br&gt;&lt;br&gt;</description><link>https://www.marvintest.com/Forums/Thread.aspx?ID=143</link><pubDate>7/4/2011 1:36:12 AM</pubDate></item><item><title>How can I find the display screen dimensions of the used monitor? - Created on Friday, July 1, 2011</title><description>&lt;b&gt;By John K. on 7/1/2011 2:57:25 AM&lt;/b&gt;&lt;br&gt;Hi! I need to build an application in which a window will have to load over the entire monitor display, containing a large chart etc. How can I dimension my form so it will load over the entire display, without affecting its components (chart, buttons positioning etc.), despite changing the monitor type and dimensions? Are there any sort of methods to find the height and width of the currently used display monitor? &lt;br&gt;&lt;br&gt;&lt;b&gt;By Victor B. on 7/1/2011 10:02:45 AM&lt;/b&gt;&lt;br&gt;Hi Alex,&lt;br&gt;&lt;br&gt;To find the display monitor's pixel height and width, try using the System.Windows.Forms.Screen class.  Documentation is here: http://msdn.microsoft.com/en-us/library/system.windows.forms.screen.aspx&lt;br&gt;&lt;br&gt;Create an instance variable,  ob of type System.Windows.Forms.Screen and use the following calls to return the Height and Width of the screen:&lt;br&gt;ob.PrimaryScreen.Bounds.Height&lt;br&gt;ob.PrimaryScreen.Bounds.Width&lt;br&gt;&lt;br&gt;From there, you can place your your controls using percentages of the total screen size.&lt;br&gt;&lt;br&gt;Regards,&lt;br&gt;Victor Brode&lt;br&gt;&lt;br&gt;&lt;b&gt;By John K. on 7/3/2011 12:32:38 PM&lt;/b&gt;&lt;br&gt;Thanks for your reply, Victor, but I can't find the System.Windows.Forms.dll with his required header file (.h). I've found the dll only. :(. Can you please specify a link or something to get in the posession of these files? &lt;br&gt;&lt;br&gt;Regards,&lt;br&gt;Alex.&lt;br&gt;&lt;br&gt;&lt;b&gt;By Victor B. on 7/5/2011 3:06:46 PM&lt;/b&gt;&lt;br&gt;Hi Alex,&lt;br&gt;&lt;br&gt;Inserting a .NET assembly is slightly different from inserting a DLL with header file.  When the Insert Library dialog window opens, select the page titled '.NET Assemblies'.  You should find an entry 'System.Windows.Forms, Version=xxxxxxx' if the assembly is registered.  Check the box next to this item and click Insert to add the library.  No header needed!&lt;br&gt;&lt;br&gt;Dr. ATEasy also noted that you could use the GetSystemMetrics API included in User32.dll to get the screen size.  Since this does not require the loading of a .NET assembly, it will execute faster.  There is a sample code demonstrating usage in the example project, Language.prj. Specifically, look at test 6.1: "Calling User32 function".&lt;br&gt;&lt;br&gt;Regards,&lt;br&gt;Victor Brode&lt;br&gt;&lt;br&gt;&lt;b&gt;By John K. on 7/8/2011 1:31:21 AM&lt;/b&gt;&lt;br&gt;Thank you very much for your time and answer, Victor! I've managed to use the .NET Assembly. I will study the second option too. Have a nice day!&lt;br&gt;&lt;br&gt;&lt;br&gt;Regards,&lt;br&gt;Alex J.&lt;br&gt;&lt;br&gt;</description><link>https://www.marvintest.com/Forums/Thread.aspx?ID=142</link><pubDate>7/1/2011 2:57:25 AM</pubDate></item><item><title>Higher Resolution Timing - Created on Thursday, June 16, 2011 (Solution Avaliable)</title><description>&lt;b&gt;By Louis S. on 6/16/2011 7:58:42 AM&lt;/b&gt;&lt;br&gt;I have used the following pattern in past projects to determine the time required until a condition is met:&lt;br&gt;&lt;br&gt;start_time = Now()&lt;br&gt;while condition_state &amp;lt;&amp;gt; true&lt;br&gt;	if (time_difference(start_time,Now()) &amp;gt; timeout) then exitloop&lt;br&gt;endwhile&lt;br&gt;end_time = Now()&lt;br&gt;&lt;br&gt;TestResult = time_difference(start_time, end_time)&lt;br&gt;&lt;br&gt;However, since Datetime operates on intervals of 1 second (I think), that is the maximum resolution I can achieve.  Does anyone know a relatively simple method to time events at a higher resolution?&lt;br&gt;&lt;br&gt;Thanks,&lt;br&gt;Louis&lt;br&gt;&lt;br&gt;&lt;b&gt;By DrATEasy (Ron Y.) on 6/16/2011 9:03:12 AM&lt;/b&gt;&lt;br&gt;Use the Tick() function. it is accurate to 1msec. &lt;br&gt;&lt;br&gt;&lt;br&gt;&lt;b&gt;By Louis S. on 6/16/2011 10:33:35 AM&lt;/b&gt;&lt;br&gt;Got it, thanks!&lt;br&gt;&lt;br&gt;</description><link>https://www.marvintest.com/Forums/Thread.aspx?ID=141</link><pubDate>6/16/2011 7:58:42 AM</pubDate></item><item><title>Run Program problem - Created on Thursday, June 16, 2011</title><description>&lt;b&gt;By John K. on 6/16/2011 5:31:10 AM&lt;/b&gt;&lt;br&gt;Hi there! I'm developing an application in which I have to run several (5) ATEasy programs within the app. So, I try to execute this: &lt;br&gt;Run App.Programs(0)  !the first program in the list&lt;br&gt;Run App.Programs(1)&lt;br&gt;Run App.Programs(2)&lt;br&gt;Run App.Programs(3)&lt;br&gt;Run App.Programs(4)   !the last program in the list&lt;br&gt;&lt;br&gt;..but only the first program is executed! Can anyone tell me why? Or how can I remediate this so my 5 programs will run one after another (1,2,3,4 and 5)? I tried to put WaitForEvent() between the Run statements but no use...it stucks after the firs program is executed, even if I click the mouse or do something (an event to occur)... I just don't know how to fix this! :(. Please help me!&lt;br&gt;&lt;br&gt;&lt;b&gt;By DrATEasy (Ron Y.) on 6/16/2011 8:49:49 AM&lt;/b&gt;&lt;br&gt;The run statement does not return back. &lt;br&gt;&lt;br&gt;You can use the following code:&lt;br&gt;&lt;br&gt;System.OnEndProgram()&lt;br&gt;{    &lt;br&gt;    if Program.Index&amp;lt;4&lt;br&gt;	Run EndEvents App.Programs(ProgramIndex+1)&lt;br&gt;    endif       &lt;br&gt;}&lt;br&gt;&lt;br&gt;Assuming you project start program was set to the first program in the project properties window.&lt;br&gt;&lt;br&gt;&lt;b&gt;By John K. on 6/20/2011 3:53:23 AM&lt;/b&gt;&lt;br&gt;Unfortunately, this isn't working for me :(. It doesn't arrive to the System.OnEndProgram(). Any other way to do this?&lt;br&gt;&lt;br&gt;&lt;b&gt;By DrATEasy (Ron Y.) on 6/20/2011 10:00:01 AM&lt;/b&gt;&lt;br&gt;Are you using the test executive? If yes, Add the following:&lt;br&gt;&lt;br&gt;System.OnInit()&lt;br&gt;{&lt;br&gt;    TestExec Execution RunProgram(App.Programs(0).Name, TRUE)&lt;br&gt;}&lt;br&gt;&lt;br&gt;This will force the first run to run after the app is started.&lt;br&gt;&lt;br&gt;And then in System.OnEndProgram add the following&lt;br&gt;&lt;br&gt;System.OnEndProgram()&lt;br&gt;{&lt;br&gt;   if Program.Index&amp;lt;4&lt;br&gt;	TestExec Execution RunProgram(App.Programs(Program.Index+1).Name, TRUE)&lt;br&gt;   endif&lt;br&gt;}&lt;br&gt;&lt;br&gt;I tried it with the test exec example (testexec.prj) and it works (2 programs only).&lt;br&gt;&lt;br&gt;&lt;br&gt;</description><link>https://www.marvintest.com/Forums/Thread.aspx?ID=140</link><pubDate>6/16/2011 5:31:10 AM</pubDate></item><item><title>ATEasy timer implementation? - Created on Monday, June 13, 2011 (Solution Avaliable)</title><description>&lt;b&gt;By John K. on 6/13/2011 10:36:01 PM&lt;/b&gt;&lt;br&gt;Hi there! I need some help, please! I have to syncronize some tests so they have to be run after 33 minutes since the program has started. So, on the OnInit() of the program, I have to implement some sort of timer that will counter 33 minutes and run my tests only when this time elapses. I don't know how to do this exactly... I've read something about the ATimer in ATEasy, but I don't know how to implement this so the program will not get stuck while the timer is counting (if I use delay() or sleep() it gets stuck!). Please help me!&lt;br&gt;&lt;br&gt;&lt;b&gt;By Victor B. on 6/14/2011 1:01:45 PM&lt;/b&gt;&lt;br&gt;Hi Alex,&lt;br&gt;&lt;br&gt;The ATimer control can be added to any form.  You can configure it using the Properties Editor to fire an event every X milliseconds.  The OnTimer() event which is fired can be used to synchronize the execution of your tests.  &lt;br&gt;&lt;br&gt;I have attached an example.  In the example, two forms are loaded: CountdownForm and MainForm.  The CountdownForm has a countdown variable 'f_lCountdown' which counts down from 10 seconds.  The ATimer control 'tmrCountdown' fires the OnTimer() event every 1000 milliseconds.  When the countdown variable reaches 0, the OnTimer() event calls the form procedure CountdownComplete() which updates the MainForm's label.  Please review the example and feel free to use what you can in your application.&lt;br&gt;&lt;br&gt;Regards,&lt;br&gt;Victor Brode&lt;br&gt;&lt;br&gt;&lt;br&gt;&lt;b&gt;By John K. on 6/15/2011 3:01:01 PM&lt;/b&gt;&lt;br&gt;Thank you very much for your help, Victor! I really appreciate this! Also, I've found the MMTimer example in ATEasy examples directory which uses MMTimer.dll and implements 3 easy-to-use functions so you can make up to 4 timers that work independently in your application. Thanks again for you effort. Have a nice day!&lt;br&gt;&lt;br&gt;Best regards,&lt;br&gt;Alex J.&lt;br&gt;&lt;br&gt;</description><link>https://www.marvintest.com/Forums/Thread.aspx?ID=139</link><pubDate>6/13/2011 10:36:01 PM</pubDate></item><item><title>ATEasy 8.0 problem - Created on Thursday, June 9, 2011</title><description>&lt;b&gt;By Miroslaw M. on 6/9/2011 4:26:02 AM&lt;/b&gt;&lt;br&gt;Hello . I have problem with me aplication . I use ATEasy 8.0 and Win7 .&lt;br&gt;During first start of program everything is Ok but during second and next start only first task is execcted .&lt;br&gt;What can be the reason for such behavior . &lt;br&gt;&lt;br&gt;Regards&lt;br&gt;Mirek&lt;br&gt;&lt;br&gt;&lt;b&gt;By Victor B. on 6/10/2011 12:45:24 PM&lt;/b&gt;&lt;br&gt;Hi Mirek,&lt;br&gt;&lt;br&gt;You could try performing a reinstallation of ATEasy or update to the latest version available on the website to ensure that any core files such as the Test Executive driver, TestExec.drv, have not been altered.  If that doesn't work, tell me more about your application.  Are you using the Test Executive?  Does your program alter any of the conditions of the driver such as setting Loop on Task, Loop on Test?  Does your program utilize the unconditional branching statements to jump to a specific Task?  &lt;br&gt;&lt;br&gt;Can you possibly upload your zipped project files so I could take a look at the issue?&lt;br&gt;&lt;br&gt;Regards,&lt;br&gt;Victor Brode&lt;br&gt;&lt;br&gt;</description><link>https://www.marvintest.com/Forums/Thread.aspx?ID=138</link><pubDate>6/9/2011 4:26:02 AM</pubDate></item><item><title>Legend for AChart control? - Created on Tuesday, June 7, 2011 (Solution Avaliable)</title><description>&lt;b&gt;By John K. on 6/7/2011 12:39:18 AM&lt;/b&gt;&lt;br&gt;Hi there! I am plotting several signals on a chart (2 or more) and I'd like to represent a legend with the signals plotted and their names. Can anyone please help me with some info about how to do this?&lt;br&gt;&lt;br&gt;&lt;b&gt;By Victor B. on 6/7/2011 12:12:26 PM&lt;/b&gt;&lt;br&gt;I solved this problem by creating an APanel object next to my chart named 'pnlLegend'.  Then, after the chart's plots were created and populated, I called this procedure.  It loops through the plots in 'cht1' and dynamically creates labels with the color and name of each plot:&lt;br&gt;&lt;br&gt;ob: Object                     !Temporary object used for creating controls dynamically&lt;br&gt;lPlotIndex: Long               !For loop counter&lt;br&gt;lTop: Long                     !Tracks the top of the controls added to the panel&lt;br&gt;lPlotTitleLeft: Long Const = 35   !The Left value for the plot title label&lt;br&gt;lPlotColorLeft: Long Const = 10   !The Left value for the plot color label&lt;br&gt;&lt;br&gt;{&lt;br&gt;  lTop=10&lt;br&gt;&lt;br&gt;  for lPlotIndex=0 to cht1.PlotCount-1&lt;br&gt;&lt;br&gt;    !Insert label to display plot color&lt;br&gt;    ob=Form.InsertControl("lblPlotColor"+Str(lPlotIndex), "ALabel", lPlotColorLeft, lTop, 10, 10, pnlLegend.Name)&lt;br&gt;    ob.BackColor=cht1.Plots(lPlotIndex).LineColor&lt;br&gt;&lt;br&gt;    !Insert label to display plot name&lt;br&gt;    ob=Form.InsertControl("lblPlotTitle"+Str(lPlotIndex), "ALabel", lPlotTitleLeft, lTop, 50, 10, pnlLegend.Name)&lt;br&gt;    ob.Caption=cht1.Plots(lPlotIndex).Name&lt;br&gt;    &lt;br&gt;    lTop=lTop+20&lt;br&gt;  next&lt;br&gt;}&lt;br&gt;&lt;br&gt;Regards,&lt;br&gt;Victor Brode&lt;br&gt;&lt;br&gt;&lt;b&gt;By John K. on 6/9/2011 12:28:51 AM&lt;/b&gt;&lt;br&gt;Thank you for your help, Victor! Have a nice day!&lt;br&gt;&lt;br&gt;Best regards,&lt;br&gt;&lt;br&gt;Alex J.&lt;br&gt;&lt;br&gt;</description><link>https://www.marvintest.com/Forums/Thread.aspx?ID=137</link><pubDate>6/7/2011 12:39:18 AM</pubDate></item><item><title>escape string  - Created on Monday, May 30, 2011</title><description>&lt;b&gt;By Arye L. on 5/30/2011 9:18:31 AM&lt;/b&gt;&lt;br&gt;does ATEast have a funciton for escaping strings?&lt;br&gt;like&lt;br&gt;http://www.php.net/manual/en/function.addslashes.php&lt;br&gt;&lt;br&gt;&lt;b&gt;By DrATEasy (Ron Y.) on 5/31/2011 11:00:00 AM&lt;/b&gt;&lt;br&gt;There is no such function. you can write one easily. I did not tested the code but it should work with slight modifications:

StringToEscapeString(sSrc:Val String) : String
i : Long
sDst:String
{


   For i=0 to len(sSrc)-1
     Select sSrc[i]
     Case “\””
           sDst=sDst+”\\\””
    Case “\r”
           sDst=sDst+\\r
    Case &amp;amp;quot;\n&amp;amp;quot;
       ...

    Case else
          ! check for non printable, may wide this range
          if s[i]&amp;lt;0x20 or s[i]&amp;gt;0x7D
              sDst=SDst+&amp;amp;quot;\\x0&amp;amp;quot;+Format(s[i], &amp;amp;quot;XX&amp;amp;quot;)
          else
              ! printable character
              sDst=sDst+s[i]
          endif 
    EndSelect
   Next
   Return sDst

}
&lt;br&gt;&lt;br&gt;&lt;b&gt;By Arye L. on 6/1/2011 12:49:22 AM&lt;/b&gt;&lt;br&gt;thanks I will &lt;br&gt;&lt;br&gt;</description><link>https://www.marvintest.com/Forums/Thread.aspx?ID=136</link><pubDate>5/30/2011 9:18:31 AM</pubDate></item><item><title>Error on my first exercise - Created on Friday, May 13, 2011</title><description>&lt;b&gt;By Noppon K. on 5/13/2011 8:22:19 AM&lt;/b&gt;&lt;br&gt;i tried ATEasy Programming for the first time.It error.&lt;br&gt;Can you give advice, information or any tutorial?&lt;br&gt;&lt;br&gt;                              Thank you....&lt;br&gt;&lt;br&gt;&lt;b&gt;By DrATEasy (Ron Y.) on 5/13/2011 8:38:05 AM&lt;/b&gt;&lt;br&gt;Seems like configuration issue in NI-MAX. You got run-time error since the session handle not initialize for the DMM and for your PS. Place a breakpoint in the driver OnInit and see what DLL function was called. Check out the Getting Started manual (help/pdf) it contains a chapter explaining how to talk to function panel driver. You may also try to use the driver soft panel and see if it works. &lt;br&gt;&lt;br&gt;&lt;b&gt;By Noppon K. on 5/13/2011 5:58:12 PM&lt;/b&gt;&lt;br&gt;thank alot  Sir.......&lt;br&gt;&lt;br&gt;&lt;b&gt;By Noppon K. on 5/13/2011 5:58:36 PM&lt;/b&gt;&lt;br&gt;thank alot  Sir.......&lt;br&gt;&lt;br&gt;&lt;b&gt;By Noppon K. on 5/13/2011 11:58:24 PM&lt;/b&gt;&lt;br&gt;Thank You Again.&lt;br&gt;Right now it's ok no an error.&lt;br&gt;i think i messed my MAX Property and  IVI Configuration.&lt;br&gt;ATEasy so AWESOME Software Programmer..&lt;br&gt;&lt;br&gt;</description><link>https://www.marvintest.com/Forums/Thread.aspx?ID=135</link><pubDate>5/13/2011 8:22:19 AM</pubDate></item><item><title>ATEasy 5.0 and Windows 7 and the hardware key. - Created on Thursday, May 12, 2011</title><description>&lt;b&gt;By  on 5/12/2011 5:17:40 AM&lt;/b&gt;&lt;br&gt;We are in the process of upgrading to Win 7.  I am having problems with the hardware key. &lt;br&gt;&lt;br&gt;When I first installed ATE5 on this PC it did not install the key at all.  A coworked figured out if the PC had Service Pack 1 for Win 7 and Sentinel Protection Installer 7.6.1 then it would install the hardware key.  I could run ATE5 and all seemed well.  Today (about 2 days later) ATE 5 kicked me off because the key was not installed.  &lt;br&gt;&lt;br&gt;Is ATE5 compatible with Win 7?  Do I have something setup wrong?&lt;br&gt;&lt;br&gt;Thanks, &lt;br&gt;Steve&lt;br&gt;&lt;br&gt;&lt;b&gt;By DrATEasy (Ron Y.) on 5/12/2011 9:32:19 AM&lt;/b&gt;&lt;br&gt;Upgrade your hardware key with the latest for windows 7:&lt;br&gt;http://www.marvintest.com/Downloads.aspx?Type=all&amp;keywords=&amp;filename=7.6.2&amp;search=download&lt;br&gt;&lt;br&gt;Ronnie&lt;br&gt;&lt;br&gt;</description><link>https://www.marvintest.com/Forums/Thread.aspx?ID=134</link><pubDate>5/12/2011 5:17:40 AM</pubDate></item><item><title>Profiling A Procedure or Code / Timing Info - Created on Wednesday, May 11, 2011</title><description>&lt;b&gt;By Aaron R. on 5/11/2011 4:28:11 PM&lt;/b&gt;&lt;br&gt;In a traditional language such as C or Fortran, you can run tools which will profile an application and provide information on:&lt;br&gt;&lt;br&gt;- Number of times a function was called&lt;br&gt;- Time it takes to execute procedures&lt;br&gt;- Call graph&lt;br&gt;&lt;br&gt;Is there a way to do similar things in ATEasy?&lt;br&gt;&lt;br&gt;&lt;b&gt;By DrATEasy (Ron Y.) on 5/11/2011 5:40:40 PM&lt;/b&gt;&lt;br&gt;There is no profiler build into ATEasy. I will add it to our suggestion list -  seems like a good idea. &lt;br&gt;&lt;br&gt;</description><link>https://www.marvintest.com/Forums/Thread.aspx?ID=133</link><pubDate>5/11/2011 4:28:11 PM</pubDate></item><item><title>Using ATEasy in a virtual machine - Created on Thursday, May 5, 2011 (Solution Avaliable)</title><description>&lt;b&gt;By Aaron R. on 5/5/2011 9:56:54 AM&lt;/b&gt;&lt;br&gt;Does anyone have any experience using ATEasy in a virtual machine?&lt;br&gt;&lt;br&gt;What issues have you seen, as far as:&lt;br&gt;&lt;br&gt;- Runtime speed&lt;br&gt;- Connecting to a license server&lt;br&gt;- Interfacing with hardware over network&lt;br&gt;- Other?&lt;br&gt;&lt;br&gt;Thanks.&lt;br&gt;&lt;br&gt;&lt;b&gt;By DrATEasy (Ron Y.) on 5/11/2011 11:14:33 AM&lt;/b&gt;&lt;br&gt;We have tested it with VMWare Workstation 7.1.4 with Windows XP Pro SP2 and it works and ATEasy 7 146g / 8 142b:&lt;br&gt;- License Server - works (both client and server).&lt;br&gt;- Trial or Single User License not working (by design). &lt;br&gt;- Hardware license (USB/LPT) works.&lt;br&gt;&lt;br&gt;Run Time speed seems similar to stand alone ATEasy.&lt;br&gt;&lt;br&gt;We did not test local or network instrument control.&lt;br&gt;&lt;br&gt;</description><link>https://www.marvintest.com/Forums/Thread.aspx?ID=132</link><pubDate>5/5/2011 9:56:54 AM</pubDate></item><item><title>How to close a external window started with WinExec(...) ? - Created on Wednesday, April 27, 2011 (Solution Avaliable)</title><description>&lt;b&gt;By John K. on 4/27/2011 10:24:19 PM&lt;/b&gt;&lt;br&gt;Hi there! I have to build an application that runs a specified program from ATEasy and after some events occure, that external application has to be closed. I guess I have to use WinExec procedure, but I don't know how to close the application. Can anyone help me with this, please?&lt;br&gt;&lt;br&gt;&lt;b&gt;By DrATEasy (Ron Y.) on 4/28/2011 9:26:06 AM&lt;/b&gt;&lt;br&gt;You can terminate it using kernel32 TerminateProcess API ( http://msdn.microsoft.com/en-us/library/ms686714(v=vs.85).aspx ):&lt;br&gt;&lt;br&gt;hProcess=WinExe(...&lt;br&gt;TerminateProcess(hProcess...)&lt;br&gt;&lt;br&gt;This will abnormally terminate it. If you want to let the application respond to a close message you can use the .NET method in System.Diagnostics.Process.CloseMainWindow. See http://msdn.microsoft.com/en-us/library/s9tkk4a3(VS.71).aspx for more information.&lt;br&gt;&lt;br&gt;Ronnie&lt;br&gt;&lt;br&gt;&lt;br&gt;&lt;br&gt;&lt;br&gt;&lt;br&gt;&lt;br&gt;&lt;br&gt;&lt;b&gt;By John K. on 9/15/2011 9:11:24 AM&lt;/b&gt;&lt;br&gt;I can't import kernel32.dll :(. I don't find a proper .h file. I've tried with winbase.h and windows.h from Microsoft SDK 7.1. No use! Can anyone please help me with good .h file or files?&lt;br&gt;&lt;br&gt;&lt;b&gt;By DrATEasy (Ron Y.) on 9/15/2011 10:08:53 AM&lt;/b&gt;&lt;br&gt;Don't need or want header file since it will contains thousands of functions. All you need is insert a library, DLL (kernel32,dll). and click OK. Than go to procedures under the library and define the function and parameters as in the API link above.The process is documented in the getting started manual (working with external libraries).&lt;br&gt;&lt;br&gt;&lt;b&gt;By John K. on 9/15/2011 1:04:58 PM&lt;/b&gt;&lt;br&gt;Thank you very, very much for your help, Ronnie! You sure are a doctor in ATEasy! ;). Have a good day!&lt;br&gt;&lt;br&gt;</description><link>https://www.marvintest.com/Forums/Thread.aspx?ID=131</link><pubDate>4/27/2011 10:24:19 PM</pubDate></item><item><title>Reading Hex data from serial port - Created on Wednesday, April 27, 2011 (Solution Avaliable)</title><description>&lt;b&gt;By Tyler G. on 4/27/2011 2:21:18 PM&lt;/b&gt;&lt;br&gt;I am using ComReceive to receive a response that has been sent to the com port. I am reading the data in as a string but the values are actually in hex. I am converting each char of the string into a byte to be able to read the data after I get it. My problem is that I am receiving the hex values 0x11 0x03 0x02 and it appears that the reading has stopped even though the message to be read is longer than that (I am using a serial port spy to confirm that the whole message is sent to the computer). I know that 0x02 and 0x03 are ASCII start of text and end of text respectively and was wondering if this was why my message gets cut off when reading these characters. &lt;br&gt;&lt;br&gt;Can I read these values into a byte array or some other variable to avoid getting the message cut off? or is there a way to dump the entire buffer into a string?&lt;br&gt;&lt;br&gt;&lt;b&gt;By DrATEasy (Ron Y.) on 4/27/2011 3:54:39 PM&lt;/b&gt;&lt;br&gt;Can you post the ComReceive  code here to see the arguments that you are passing in?&lt;br&gt;&lt;br&gt;If you are not using a terminator you probably need to specify aioDisableComReceiveEarlyReturn as enMode argument, since otherwise a slight gap in the transmission will cause a return without reading the whole buffer.&lt;br&gt;&lt;br&gt;After the 0x02, do you have a 0x00?&lt;br&gt;&lt;br&gt;You can read to array of bytes  or any data type since the target buffer can except any data type.&lt;br&gt;&lt;br&gt;&lt;b&gt;By Tyler G. on 4/28/2011 5:23:05 AM&lt;/b&gt;&lt;br&gt;I do have a 0x00 after the 0x02. My complete response should be as follows:&lt;br&gt;&lt;br&gt;0x11 0x03 0x02 0x00 0x20 0x78 0x5F&lt;br&gt;&lt;br&gt;my ComReceive command started out looking like this:&lt;br&gt;ComReceive(COM_NUM, "\r", TIMEOUT, aioDefault, sResponse,)&lt;br&gt;but I already tried removing the terminator and setting it to a random character that wasn't in the response string. I have also tried all of the enMode arguments as well. In all cases I either get an error or just the first three characters of the full response.&lt;br&gt;&lt;br&gt;&lt;b&gt;By Tyler G. on 4/28/2011 8:20:10 AM&lt;/b&gt;&lt;br&gt;I am not sure why the 0x02 0x00 combination gave me problems using the ComReceive command but I found another solution to my problem that is a little less clean than desired but at least it works.&lt;br&gt;&lt;br&gt;I right clicked on libraries in the program in the workspace view -&amp;gt; Insert Library Below -&amp;gt; .NET Assemblies Tab -&amp;gt; System, Version=2.0.0.0&lt;br&gt;&lt;br&gt;I then had to rename the Library to SystemLib instead of System so it wouldn't conflict with the System in the project.&lt;br&gt;&lt;br&gt;After adding the library a Systemlib.SerialPort is available as a variable type.&lt;br&gt;&lt;br&gt;The code below will set up the COM port 1 and send out a message via a byte array. It then reads the response (first 8 bytes of the response), displaying each byte returned in a msgbox. Note: I did attempt to use the readexisting property of the SerialPort but I got the same three character response as when I used ComRecieve. It is also possible to loop using the ReadBufferSize property so responses of variable sizes can be read with no errors.&lt;br&gt;&lt;br&gt;&lt;br&gt;ComPort = New Systemlib.SerialPort&lt;br&gt;ComPort.PortName = "COM1"&lt;br&gt;ComPort.BaudRate = 9600&lt;br&gt;ComPort.Handshake = Systemlib.Handshake.None&lt;br&gt;ComPort.stopbits = Systemlib.StopBits.One&lt;br&gt;ComPort.Parity = Systemlib.Parity.None&lt;br&gt;Comport.ReadTimeout = 500&lt;br&gt;ComPort.WriteTimeout = 500&lt;br&gt;ComPort.Open()&lt;br&gt;&lt;br&gt;ComPort.DiscardInBuffer()&lt;br&gt;ComPort.DiscardOutBuffer()&lt;br&gt;&lt;br&gt;outBytes[0] = 0x48&lt;br&gt;outBytes[1] = 0x65&lt;br&gt;outBytes[2] = 0x6C&lt;br&gt;outBytes[3] = 0x6C&lt;br&gt;outBytes[4] = 0x6F&lt;br&gt;outBytes[5] = 0x20&lt;br&gt;outBytes[6] = 0x3A&lt;br&gt;outBytes[7] = 0x29&lt;br&gt;&lt;br&gt;ComPort.Write(outBytes,0,8)&lt;br&gt;&lt;br&gt;for a = 0 to 7&lt;br&gt;	try&lt;br&gt;		msgbox(convert.tostring(ComPort.ReadByte(),16))&lt;br&gt;	catch&lt;br&gt;&lt;br&gt;	endtry&lt;br&gt;next&lt;br&gt;&lt;br&gt;ComPort.Close()&lt;br&gt;&lt;br&gt;&lt;b&gt;By DrATEasy (Ron Y.) on 4/28/2011 9:30:39 AM&lt;/b&gt;&lt;br&gt;If you open the monitor window, do you see all characters displayed? What is the length return by ComReceive?&lt;br&gt;&lt;br&gt;&lt;b&gt;By Tyler G. on 4/28/2011 10:08:22 AM&lt;/b&gt;&lt;br&gt;Using the serial port spy I can see that the entire message is in the buffer but when I use ComReceive I only get the first three characters. &lt;br&gt;&lt;br&gt;&lt;b&gt;By DrATEasy (Ron Y.) on 4/28/2011 10:11:27 AM&lt;/b&gt;&lt;br&gt;What do you see using ATEasy Monitor Window? &lt;br&gt;&lt;br&gt;Print ComReceive(...)&lt;br&gt;&lt;br&gt;will print 3?&lt;br&gt;&lt;br&gt;&lt;br&gt;&lt;br&gt;&lt;b&gt;By Tyler G. on 4/28/2011 10:55:08 AM&lt;/b&gt;&lt;br&gt;it prints 7 despite the length of the string only being 3&lt;br&gt;&lt;br&gt;&lt;b&gt;By DrATEasy (Ron Y.) on 4/28/2011 11:10:56 AM&lt;/b&gt;&lt;br&gt;As suspected. So the data is there. If you open the watch window on response and expand it do you see the data?&lt;br&gt;&lt;br&gt;What is print GetLen(sResponse)? Maybe the length is not properly set?&lt;br&gt;&lt;br&gt;&lt;b&gt;By Tyler G. on 4/28/2011 11:32:30 AM&lt;/b&gt;&lt;br&gt;no the length of sResponse is only 3&lt;br&gt;&lt;br&gt;&lt;b&gt;By DrATEasy (Ron Y.) on 4/28/2011 12:43:52 PM&lt;/b&gt;&lt;br&gt;What if you call SetLen(sResponse, 7) after call to ComReceive, is the data there?&lt;br&gt;&lt;br&gt;Also If you change the sResponse type rom string to Byte[100]. Is it working?&lt;br&gt;&lt;br&gt;&lt;b&gt;By Tyler G. on 4/28/2011 1:15:36 PM&lt;/b&gt;&lt;br&gt;setting the length of the string does not help. Reading into a byte array does work.&lt;br&gt;&lt;br&gt;&lt;b&gt;By DrATEasy (Ron Y.) on 4/29/2011 12:15:38 PM&lt;/b&gt;&lt;br&gt;Try to set the Len before calling calling ComReceive:&lt;br&gt;&lt;br&gt;SetLen(sResponse, 1024)&lt;br&gt;ComReceive(... sResponse...)&lt;br&gt;&lt;br&gt;That should solve the issue. If you don't specify the maximum # of bytes and the sResponse have data - ATEasy will use the size of sResponse to store the result and truncate and size the string.&lt;br&gt;&lt;br&gt;Another solution is to set the lBytes argument to large number for example 1024.&lt;br&gt;&lt;br&gt;&lt;br&gt;&lt;b&gt;By Tyler G. on 5/2/2011 12:54:36 PM&lt;/b&gt;&lt;br&gt;I have already tried setting the length of the string, and also setting the lbytes larger than the message would ever be. Neither of them worked when using a string. It also appears that the program isn't dealing well with the New Systemlib.SerialPort that I create.&lt;br&gt;&lt;br&gt; I will have to stick with using comRecieve with a byte array to solve my problem.&lt;br&gt;&lt;br&gt;&lt;b&gt;By DrATEasy (Ron Y.) on 5/2/2011 1:59:08 PM&lt;/b&gt;&lt;br&gt;OK. I will try to create a test case to see if I can replicate the issue.&lt;br&gt;&lt;br&gt;&lt;b&gt;By Tyler G. on 5/3/2011 5:20:13 AM&lt;/b&gt;&lt;br&gt;I tried to use the solution of reading the serial data to a byte array but it appears to only work when receiving the first message. After the first message the byte array suffers from the same problem as the string in that it only reads the first three bytes, 0x11 0x03 0x02. I did manage to get my code above to work reliably so I will have to use that solution. &lt;br&gt;&lt;br&gt;</description><link>https://www.marvintest.com/Forums/Thread.aspx?ID=130</link><pubDate>4/27/2011 2:21:18 PM</pubDate></item><item><title>Use of a .Net 4 assembly in ATEasy 8 - Created on Tuesday, April 19, 2011 (Solution Avaliable)</title><description>&lt;b&gt;By Cyril P. on 4/19/2011 10:32:38 AM&lt;/b&gt;&lt;br&gt;Hello,&lt;br&gt;&lt;br&gt;I need to use a .Net assembly in ATEasy 8 which is develop on .NET 4.&lt;br&gt;I've got this error message when I tried to use it:&lt;br&gt;Runtime error #420 : 'Object method or property 'Instance' failed : unable to load the file or assembly. This assembly was build for a most recent runtime as the runtime currently loaded and cannot be loaded.&lt;br&gt;&lt;br&gt;What could be the problem? Do I need to setup something in ATEasy 8 to select the .NET 4 framework?&lt;br&gt;Thanks for your help.&lt;br&gt;&lt;br&gt;&lt;b&gt;By Albert Q. on 4/19/2011 5:31:35 PM&lt;/b&gt;&lt;br&gt;Hi,&lt;br&gt;&lt;br&gt;Currently, ATEasy8 only support assemblies build with target .NET framework 3.5 or earlier. We will add support for .NET framework 4.0 in the future release of ATEasy8. &lt;br&gt;&lt;br&gt;To work-around this problem,  you need to create an application config file containing the following XML text :&lt;br&gt;&lt;br&gt;&amp;lt;?xml version="1.0" encoding="utf-8" ?&amp;gt; &lt;br&gt;&amp;lt;configuration&amp;gt; &lt;br&gt;  &amp;lt;!-- http://msdn.microsoft.com/en-us/library/w4atty68.aspx --&amp;gt; &lt;br&gt;  &amp;lt;startup useLegacyV2RuntimeActivationPolicy="true"&amp;gt; &lt;br&gt;    &amp;lt;supportedRuntime version="v4.0.30319" /&amp;gt; &lt;br&gt;    &amp;lt;supportedRuntime version="v3.5" /&amp;gt; &lt;br&gt;    &amp;lt;supportedRuntime version="v3.0" /&amp;gt; &lt;br&gt;    &amp;lt;supportedRuntime version="v2.0.50727" /&amp;gt; &lt;br&gt;  &amp;lt;/startup&amp;gt; &lt;br&gt;&amp;lt;/configuration&amp;gt;&lt;br&gt;&lt;br&gt;The config file must have the same name as the application (e.g ATEasy.exe.config or MyApp.exe.config) and must reside in the same folder as the application. I have created and attached to this incident a sample config file,  please download, rename the file and copy it to the ATEasy folder or the folder containing your stand-alone executable.&lt;br&gt;&lt;br&gt;Regards,&lt;br&gt;Albert&lt;br&gt;&lt;br&gt;&lt;br&gt;&lt;br&gt;&lt;b&gt;By Cyril P. on 4/20/2011 1:55:41 AM&lt;/b&gt;&lt;br&gt;Hi Albert,&lt;br&gt;&lt;br&gt;thanks a lot, it works with my application.&lt;br&gt;&lt;br&gt;Regards,&lt;br&gt;Cyril&lt;br&gt;&lt;br&gt;&lt;b&gt;By Paul T. on 2/17/2014 11:37:51 PM&lt;/b&gt;&lt;br&gt;Hi! How about ATEasy 7? Does it support assemblies build with target .NET Framework 3.5?&lt;br&gt;&lt;br&gt;</description><link>https://www.marvintest.com/Forums/Thread.aspx?ID=129</link><pubDate>4/19/2011 10:32:38 AM</pubDate></item><item><title>For Each - Created on Wednesday, March 30, 2011</title><description>&lt;b&gt;By Louis S. on 3/30/2011 6:37:18 AM&lt;/b&gt;&lt;br&gt;Does anynone know if there is a way to use VB's For Each functionality within ATEasy?  LBound and UBound also look to be undefined which would be my usual backup.  The last ditch attempt would be to calculate array lengths via sizeof, but this gets messy when using for iterating over objects.&lt;br&gt;&lt;br&gt;Thanks,&lt;br&gt;Louis&lt;br&gt;&lt;br&gt;&lt;b&gt;By DrATEasy (Ron Y.) on 3/30/2011 1:58:33 PM&lt;/b&gt;&lt;br&gt;There is no "for each" statement in ATEasy, however if you are looping on array or variant you can use the sizeof operator for array or the VarDimSize() internal function to figure out the number of elements for iteration. &lt;br&gt;&lt;br&gt;If you are iterate around a COM or .NET object that are based on IEnumerable interface you can use the Count property. So instead of VB.NET:&lt;br&gt;&lt;br&gt;For Each element as MyType in MyList&lt;br&gt;    ....&lt;br&gt;Next&lt;br&gt;&lt;br&gt;&lt;br&gt;Use:&lt;br&gt;&lt;br&gt;For i = 0 to MyList.Count - 1&lt;br&gt;    element = MyList(i)&lt;br&gt;    ....&lt;br&gt;Next&lt;br&gt;&lt;br&gt;&lt;br&gt;Ron&lt;br&gt;&lt;br&gt;&lt;br&gt;&lt;b&gt;By Louis S. on 4/6/2011 5:25:54 AM&lt;/b&gt;&lt;br&gt;Is there any chance of for each support in an upcoming release?  It's not a make-or-break feature (we've been very successful in the past with ATEasy) but any little thing that makes the test code more readable helps make the test cases easier to maintain down the road.&lt;br&gt;&lt;br&gt;&lt;b&gt;By DrATEasy (Ron Y.) on 4/6/2011 11:54:52 AM&lt;/b&gt;&lt;br&gt;Will add to our suggestion list for version 9.0.&lt;br&gt;&lt;br&gt;&lt;b&gt;By Louis S. on 4/13/2011 10:28:07 AM&lt;/b&gt;&lt;br&gt;Thanks!  If it's not to late to sneak "Me" (self-referencing) support on there that would also be much appreciated for developing forms.&lt;br&gt;&lt;br&gt;&lt;b&gt;By DrATEasy (Ron Y.) on 4/13/2011 10:39:14 AM&lt;/b&gt;&lt;br&gt;You can use the Form variable for Me. For example&lt;br&gt;&lt;br&gt;Form.Controls(i).Visible=True&lt;br&gt;&lt;br&gt;&lt;br&gt;&lt;b&gt;By Louis S. on 4/13/2011 1:04:49 PM&lt;/b&gt;&lt;br&gt;Yes, but if I have a bunch of checkboxes (ex: chkBox1, chkBox2, chkBox3) all of which perform:&lt;br&gt;&lt;br&gt;   set_output_driver(chkBox1.tag, chkBox1.value)&lt;br&gt;&lt;br&gt;when I copy paste from the first to create the next two, it requires hand editing to ensure the names are correct.  If the code was instead:&lt;br&gt;&lt;br&gt;  set_output_driver(Me.tag, me.value)&lt;br&gt;&lt;br&gt;than there are less opportunities for mistakes.  This is especially true if the controls are renamed somewhere along the line.  I guess it's not very DRY code to copy and paste the controls and code in either example, but I'm not sure if there's a better way in ATEasy.  If anyone knows of anything that's worked well for them in the past, I'd be very interested.&lt;br&gt;&lt;br&gt;&lt;b&gt;By DrATEasy (Ron Y.) on 4/13/2011 1:51:48 PM&lt;/b&gt;&lt;br&gt;Use Control variable:&lt;br&gt;&lt;br&gt; set_output_driver(Control.tag, Control.value)&lt;br&gt;&lt;br&gt;</description><link>https://www.marvintest.com/Forums/Thread.aspx?ID=128</link><pubDate>3/30/2011 6:37:18 AM</pubDate></item><item><title>database handleing - Created on Friday, March 25, 2011</title><description>&lt;b&gt;By Arye L. on 3/25/2011 8:28:42 AM&lt;/b&gt;&lt;br&gt;hello,&lt;br&gt;can  ATEasy 4.9 use 'AdoDB' as in example provided in ATEasy 6 ?&lt;br&gt;thanks, arye&lt;br&gt;&lt;br&gt;&lt;b&gt;By Victor B. on 3/25/2011 10:44:04 AM&lt;/b&gt;&lt;br&gt;Hi Arye,&lt;br&gt;&lt;br&gt;The AdoDB example consists of 2 tests: &lt;br&gt;-The first accesses the database using a COM object&lt;br&gt;-The second accesses it using a .NET assembly.  &lt;br&gt;&lt;br&gt;The COM object test example will work fine in ATEasy 4-94b, but support for .NET assemblies was first added in ATEasy 5.  So, the second test of the AdoDB example will not run in ATEasy 4.&lt;br&gt;&lt;br&gt;Regards,&lt;br&gt;Victor Brode&lt;br&gt;&lt;br&gt;&lt;b&gt;By Arye L. on 3/25/2011 1:04:06 PM&lt;/b&gt;&lt;br&gt;thank you Victor.&lt;br&gt;&lt;br&gt;</description><link>https://www.marvintest.com/Forums/Thread.aspx?ID=127</link><pubDate>3/25/2011 8:28:42 AM</pubDate></item><item><title>ATEasy command duration - Created on Tuesday, March 22, 2011 (Solution Avaliable)</title><description>&lt;b&gt;By John K. on 3/22/2011 2:23:52 AM&lt;/b&gt;&lt;br&gt;Hi there! How can I find out the time that it takes for the processor to execute an ATEasy command? I have to generate a clock pulse that has a minimum width of 300 ns and I want to build this pulse using 3 digital out commands: one that outs a '0', one with '1' and one with '0' back. The width of the '1' pulse has to be greater than 300 ns. Does anyone have any idea regarding this issue?&lt;br&gt;&lt;br&gt;&lt;b&gt;By Larry S. on 3/22/2011 9:09:25 AM&lt;/b&gt;&lt;br&gt;Dunno about nS, but to get uS you can do the below:&lt;br&gt;&lt;br&gt;I believe this would be machine dependent. On my desktop, using the tick command on a 1000 iteration for loop, the mS counter would increment from between 166 cycles to 183 cycles with an average of 175 cycles yielding a standard deviation of 6.97615, and PPM's of -51429(MIN) and 45714(Max)  This gives me a tick time of between 5.464480874 and 6.024096386 uS  (1e3* (1/count)).  You may ant a bigger sample.  I just opened the log into a spreadsheet to get the count data above - it could be automated.&lt;br&gt;&lt;br&gt;GetTickCount()&lt;br&gt;{&lt;br&gt;for ( index = 0 ) to 999&lt;br&gt;	dwTime[index]=Tick()&lt;br&gt;next&lt;br&gt;&lt;br&gt;for ( index = 0 ) to 999&lt;br&gt;	print index , dwTime[index]&lt;br&gt;next&lt;br&gt;}&lt;br&gt;&lt;br&gt;&lt;br&gt;&lt;b&gt;By John K. on 3/23/2011 4:19:08 AM&lt;/b&gt;&lt;br&gt;Thank you very much, Larry! This helped me a lot! Keep in touch. Have a nice day!&lt;br&gt;&lt;br&gt;Alex.&lt;br&gt;&lt;br&gt;</description><link>https://www.marvintest.com/Forums/Thread.aspx?ID=126</link><pubDate>3/22/2011 2:23:52 AM</pubDate></item><item><title>Controlling page setup programmatically - Created on Tuesday, March 15, 2011 (Solution Avaliable)</title><description>&lt;b&gt;By Larry S. on 3/15/2011 8:43:23 AM&lt;/b&gt;&lt;br&gt;I need to be able to control the header and footer, margins, font (size and type) for printing.&lt;br&gt;&lt;br&gt;I found the following:&lt;br&gt;{&lt;br&gt;ALog.PrintLog ( FALSE , sHeader, sFooter )  ! To control the header and footer and print&lt;br&gt;&lt;br&gt;Log.PlainText=True  &lt;br&gt;Log.Height=10    ! Is this the font size????&lt;br&gt;}&lt;br&gt;&lt;br&gt;Am I anywhere near on the right path or are there registry entries I can modift to do this.&lt;br&gt;&lt;br&gt;&lt;br&gt;&lt;b&gt;By DrATEasy (Ron Y.) on 3/15/2011 10:17:39 AM&lt;/b&gt;&lt;br&gt;Yes, if you need to print text log (instead of HTML) you need to call these.&lt;br&gt;&lt;br&gt;You may also read the following KB articles:&lt;br&gt;http://www.marvintest.com/KnowledgeBase/KBSearchArticles.aspx?ID=188&amp;amp;task=go&amp;amp;search=footer&amp;amp;type=OR&lt;br&gt;http://www.marvintest.com/KnowledgeBase/KBSearchArticles.aspx?ID=23&amp;amp;task=go&amp;amp;search=footer&amp;amp;type=OR&lt;br&gt;&lt;br&gt;Margin can be setup from Internet Explorer Page Setup... dialog or programmability by setting the IE margin registry keys:&lt;br&gt;&lt;br&gt;HKEY_CURRENT_USER\Software\Microsoft\Internet Explorer\PageSetup&lt;br&gt;&lt;br&gt;If it is important to you, you can restore the values to the original values after printing is done.&lt;br&gt;&lt;br&gt;&lt;br&gt;&lt;br&gt;</description><link>https://www.marvintest.com/Forums/Thread.aspx?ID=125</link><pubDate>3/15/2011 8:43:23 AM</pubDate></item><item><title>run-time error #333 - Created on Wednesday, March 2, 2011</title><description>&lt;b&gt;By Li Y. on 3/2/2011 8:35:07 PM&lt;/b&gt;&lt;br&gt;When I run an program, an error occured: &lt;br&gt;run-time error #333:ATEasy exception 0xE0000001 stack 'mismatch across Dll proc call.Check ATEasy declearation for correct number and type of parameters or stdcall vs. CDecl.' occurred in Dll procedure 'Mess Trigger'.ATEasy may be in an unstable state.&lt;br&gt;&lt;br&gt;What can I do? The .dll file is provided by others. The number and  type of parameters is right. &lt;br&gt;Thanks!&lt;br&gt;&lt;br&gt;&lt;br&gt;&lt;b&gt;By DrATEasy (Ron Y.) on 3/3/2011 9:10:13 AM&lt;/b&gt;&lt;br&gt;Can you post the C header file with the function and the ATEasy module?&lt;br&gt;&lt;br&gt;</description><link>https://www.marvintest.com/Forums/Thread.aspx?ID=121</link><pubDate>3/2/2011 8:35:07 PM</pubDate></item><item><title>Creating a Hello World with ATEasy DLL - Created on Wednesday, March 2, 2011</title><description>&lt;b&gt;By Aaron R. on 3/2/2011 8:05:28 AM&lt;/b&gt;&lt;br&gt;I'd like to know how to create a hello world application that invokes the ATEasy runtime engine.&lt;br&gt;&lt;br&gt;So in pseudo code in a cpp file I'd have:&lt;br&gt;&lt;br&gt;int main(int c, char *v[])&lt;br&gt;{&lt;br&gt;   // Do other things: map RAM, open files, etc&lt;br&gt;&lt;br&gt;   // Start ATEasy runtime&lt;br&gt;   // Pass it script to run&lt;br&gt;&lt;br&gt;  // Clean up non ATEasy classes, files, etc&lt;br&gt;&lt;br&gt;   return 0;&lt;br&gt;}&lt;br&gt;&lt;br&gt;Is this possible?  I assume I'd have to convert the ATEasy script into a dlg file (the byte code?) via your compiler.&lt;br&gt;&lt;br&gt;&lt;br&gt;&lt;b&gt;By Victor B. on 3/2/2011 3:15:03 PM&lt;/b&gt;&lt;br&gt;Hi Aaron,&lt;br&gt;&lt;br&gt;What are you trying to do with the script:  are you trying to access the Task/Test objects of ATEasy?  Access the GUI creation features?&lt;br&gt;&lt;br&gt;Regards,&lt;br&gt;Victor Brode&lt;br&gt;&lt;br&gt;&lt;b&gt;By Aaron R. on 3/3/2011 11:51:55 AM&lt;/b&gt;&lt;br&gt;Thanks for asking.&lt;br&gt;&lt;br&gt;I'm trying to see in what ways we could incorporate ATEasy as part of a larger system.  So for arguments sake, I'll say at minimum I'd want to be able to invoke a test from main().  The test would not have any gui elements or user interaction required.&lt;br&gt;&lt;br&gt;&lt;br&gt;&lt;br&gt;&lt;br&gt;&lt;b&gt;By Victor B. on 3/7/2011 10:29:48 AM&lt;/b&gt;&lt;br&gt;Hi Aaron,&lt;br&gt;&lt;br&gt;ATEasy projects can be compiled to both EXE and to DLL.  Both of these formats can be accessed from other development environments.&lt;br&gt;&lt;br&gt;If you are planning to create a DLL project in ATEasy from scratch, there is a guide included in the ATEasy Help.  Access the help by opening ATEasy and pressing F1 or opening 'ATEasy.chm' which is installed in 'Program Files/ATEasy/Help'.  The quick-start article you want is entitled "Creating ATEasy DLL Project". &lt;br&gt;&lt;br&gt;After creating the procedures that you would like to export to your DLL, you can use View in Text Format to print out your DLL information in a human-readable format .  To access text format, click on the ATEasy Module where you have created your DLL procedure and use one of the following two menu bar items: 'File | View in Text Format...' for a read-only version or 'File | Edit in Text Format...' for an editable version.  The Copy function will be available either way.  Once the text window is open, you can navigate to the "Procedures" section of the document to view the function listing which can be used a quick reference for linking to your DLL procedures in Visual C++ since it provides all of the function names and parameters needed.&lt;br&gt;&lt;br&gt;If you need any more help with trying this out, feel free to ask.&lt;br&gt;&lt;br&gt;Regards,&lt;br&gt;Victor Brode&lt;br&gt;&lt;br&gt;</description><link>https://www.marvintest.com/Forums/Thread.aspx?ID=120</link><pubDate>3/2/2011 8:05:28 AM</pubDate></item><item><title>Web Page script closing window causes undesired pop up - Created on Friday, January 14, 2011 (Solution Avaliable)</title><description>&lt;b&gt;By Tyler G. on 1/14/2011 10:15:31 AM&lt;/b&gt;&lt;br&gt;I am navigating web pages in my code using an Alog control and the last page I load has a script that wants to close the window when its done. When it tries to close the window a message pops saying "The webpage you are viewing is trying to close the window. Do you want to close this window?"&lt;br&gt;&lt;br&gt;I don't want this message to pop up, I just want it to close the window with no message. I tried to set the log's .silent property to true but the message still comes up. Does anyone know of a way to avoid this message?&lt;br&gt;&lt;br&gt;&lt;b&gt;By DrATEasy (Ron Y.) on 1/14/2011 4:08:13 PM&lt;/b&gt;&lt;br&gt;You can nagigate to a fake URL and override the ALog.OnNavigate() event to close the form using ATEasy code (Unload Form) when the sUrl parameter is the same as the fake URL.&lt;br&gt;&lt;br&gt;&lt;br&gt;&lt;b&gt;By Tyler G. on 1/17/2011 5:46:56 AM&lt;/b&gt;&lt;br&gt;The pop up that appears is the same as the message box procedure. The window is completely disabled until the user clicks on an answer. So even if I put a line to navigate to the fake URL to close the form it wouldn't run until after the message box came up and the user clicked on a response, or it would close the form before the necessary scripts on the page were run.&lt;br&gt;&lt;br&gt;&lt;b&gt;By Tyler G. on 1/17/2011 11:00:33 AM&lt;/b&gt;&lt;br&gt;Building off of Ron's suggestion. I created a thread to reply 'Yes' when the message box popped up. Because the code in the thread does not suspend when the message box is presented this allows me to allow the web page to fully load and reply to the pop up after it is presented.&lt;br&gt;&lt;br&gt;&lt;b&gt;By DrATEasy (Ron Y.) on 1/17/2011 12:44:49 PM&lt;/b&gt;&lt;br&gt;Seems like it works for you. I tried the following and it works:&lt;br&gt;&lt;br&gt;Try also the OnBeforeNavigate() event to catch the URL before it attempts to do it:&lt;br&gt;&lt;br&gt;ALog1.OnBeforeNavigate(...)&lt;br&gt;{&lt;br&gt;if pvURL="http://www.yahoo.com/"&lt;br&gt;	Unload Form&lt;br&gt;endif&lt;br&gt;}&lt;br&gt;&lt;br&gt;The HTML document I had:&lt;br&gt;&lt;br&gt;&amp;lt;form method="post" action="http://www.yahoo.com"  &amp;gt;&lt;br&gt;	&amp;lt;input name="Buton1" type="submit" value="Jump"/&amp;gt;&amp;lt;/form&amp;gt;&lt;br&gt;&lt;br&gt;Ronnie&lt;br&gt;&lt;br&gt;</description><link>https://www.marvintest.com/Forums/Thread.aspx?ID=118</link><pubDate>1/14/2011 10:15:31 AM</pubDate></item><item><title>Understanding the threading model - Created on Thursday, January 6, 2011 (Solution Avaliable)</title><description>&lt;b&gt;By Aaron R. on 1/6/2011 10:06:44 PM&lt;/b&gt;&lt;br&gt;The ATEasy data sheet mentions that ATEasy has robust threading support and an advanced threading model.  Where can I find a detailed description of this, including examples?  Is there support for setting the type of threading scheduler (round robin, FIFO, etc) or thread priority?  What about CPU affinity?&lt;br&gt;&lt;br&gt;&lt;b&gt;By DrATEasy (Ron Y.) on 1/7/2011 7:32:50 AM&lt;/b&gt;&lt;br&gt;ATEasy uses the Windows threading model, more information see: http://msdn.microsoft.com/en-us/library/ms685100(v=vs.85).aspx.&lt;br&gt;The on-line help contains a section that explains multi threading (see "MultiThreading" in the Index tab). It explain about multi threading function such as CreateThread, SetThreadPriority, WaitForMultipleObjects etc. It also explain how to use the built in synchronization objects such as AMutex, AEVent, ASemapore etc. The Language.prg and ComChatMT.prj are examples for using some of these objects.&lt;br&gt;&lt;br&gt;If you like to set the threading/process affinity:&lt;br&gt;Use one of the following: &lt;br&gt;&lt;br&gt;BOOL WINAPI SetProcessAffinityMask( &lt;br&gt;  __in  HANDLE hProcess, &lt;br&gt;  __in  DWORD_PTR dwProcessAffinityMask &lt;br&gt;); &lt;br&gt;&lt;br&gt;DWORD_PTR WINAPI SetThreadAffinityMask( &lt;br&gt;  __in  HANDLE hThread, &lt;br&gt;  __in  DWORD_PTR dwThreadAffinityMask &lt;br&gt;); &lt;br&gt;&lt;br&gt;&lt;br&gt;Both functions are defined in kernel32.dll. First parameter can be defined as Val AHandle and second as Val DWord in ATEasy. &lt;br&gt;&lt;br&gt;You can pass -1 for  hProcess (current process). Pass  the return value from ATEasy functions CreateThread and GetCurrentThread to hThread. &lt;br&gt;&lt;br&gt;More information, see http://msdn.microsoft.com/en-us/library/ms686223(v=VS.85).aspx and http://msdn.microsoft.com/en-us/library/ms686247(VS.85).aspx. &lt;br&gt;&lt;br&gt;&lt;br&gt;&lt;b&gt;By Aaron R. on 1/7/2011 9:19:26 AM&lt;/b&gt;&lt;br&gt;I will look into the references you mentioned.  Thanks for the reply, its very helpful.&lt;br&gt;&lt;br&gt;</description><link>https://www.marvintest.com/Forums/Thread.aspx?ID=117</link><pubDate>1/6/2011 10:06:44 PM</pubDate></item><item><title>Excel Events in ATEasy - Created on Thursday, December 16, 2010 (Solution Avaliable)</title><description>&lt;b&gt;By Nadav C. on 12/16/2010 3:17:43 AM&lt;/b&gt;&lt;br&gt;Hello, i'm using ATEasy 5&lt;br&gt;Can i use Excel events ( callbacks )?&lt;br&gt;Thanks&lt;br&gt;&lt;br&gt;&lt;b&gt;By DrATEasy (Ron Y.) on 12/16/2010 10:09:02 AM&lt;/b&gt;&lt;br&gt;ATEasy 5 supports the AddHandler statement so it can be used for callback. Check out the Excel example that comes with v5.0 (task 1 test 1) it contains an example for using events.&lt;br&gt;&lt;br&gt;</description><link>https://www.marvintest.com/Forums/Thread.aspx?ID=114</link><pubDate>12/16/2010 3:17:43 AM</pubDate></item><item><title>execute command line - Created on Thursday, December 9, 2010 (Solution Avaliable)</title><description>&lt;b&gt;By Nadav C. on 12/9/2010 5:37:42 AM&lt;/b&gt;&lt;br&gt;Hello, I want to run script of Python from ATEasy. I can run this script from command line.&lt;br&gt;Is there option to run external exe ( in my case this is python.exe ) from ATEasy and to read string that exe return?&lt;br&gt;Thank you&lt;br&gt;&lt;br&gt;&lt;b&gt;By DrATEasy (Ron Y.) on 12/9/2010 8:51:07 AM&lt;/b&gt;&lt;br&gt;ATEasy 8 comes with an example StIoProcess.prj showing how to control console applications passing data in and out from them while running. The example also showing how to run Pearl, Python and TCL.&lt;br&gt;&lt;br&gt;Ron&lt;br&gt;&lt;br&gt;&lt;b&gt;By Nadav C. on 12/12/2010 7:21:45 AM&lt;/b&gt;&lt;br&gt;I dont need to communicate with exe while it running, just to get returned string when exe finished&lt;br&gt;&lt;br&gt;&lt;b&gt;By DrATEasy (Ron Y.) on 12/13/2010 8:50:56 AM&lt;/b&gt;&lt;br&gt;The example will work with any Standard IO console application. It will let you read the standard output even after the app is done.&lt;br&gt;&lt;br&gt;</description><link>https://www.marvintest.com/Forums/Thread.aspx?ID=112</link><pubDate>12/9/2010 5:37:42 AM</pubDate></item><item><title>Web Page Source - Created on Thursday, December 2, 2010</title><description>&lt;b&gt;By Tyler G. on 12/2/2010 12:48:53 PM&lt;/b&gt;&lt;br&gt;I am trying to post data to a form on a web site and store the resulting page's source code so I can extract data from it. I came across the Navigate method for ALog but I do not want to display the resulting web page. I only want its source code.&lt;br&gt;&lt;br&gt;&lt;b&gt;By DrATEasy (Ron Y.) on 12/2/2010 2:56:35 PM&lt;/b&gt;&lt;br&gt;Try the following:&lt;br&gt;&lt;br&gt;log1.PlainText=False&lt;br&gt;log1.Navigate("http://www.marvintest.com")&lt;br&gt;delay(1000)&lt;br&gt;DoEvents()&lt;br&gt;log1.SaveAs("c:\\a.html")&lt;br&gt;fileremove("c:\\a.txt") ! just in case we run the second time&lt;br&gt;filerename("c:\\a.html", "c:\\a.txt")&lt;br&gt;log1.PlainText=True	&lt;br&gt;log1.LocationURL="c:\\a.txt"&lt;br&gt;&lt;br&gt;&lt;br&gt;&lt;b&gt;By Tyler G. on 12/3/2010 7:39:18 AM&lt;/b&gt;&lt;br&gt;Thank you Ron. This is what I needed.&lt;br&gt;&lt;br&gt;&lt;b&gt;By Tyler G. on 12/3/2010 10:50:02 AM&lt;/b&gt;&lt;br&gt;The code to save the page source is great but  I can't seem to get the PostData to work in the navigate function. It will only display the web page and not the result of the post.&lt;br&gt;&lt;br&gt;&lt;b&gt;By DrATEasy (Ron Y.) on 12/6/2010 9:51:28 AM&lt;/b&gt;&lt;br&gt;Seems like what you were asking was a feature requested from Microsoft ( https://connect.microsoft.com/VisualStudio/feedback/details/115580/add-postdata-or-navigate2-to-windows-forms-webbrowser )&lt;br&gt;&lt;br&gt;&lt;br&gt;Maybe the following article will help you:&lt;br&gt;http://www.codeproject.com/KB/IP/httpget-post.aspx&lt;br&gt;&lt;br&gt;Let me know,&lt;br&gt;Ron&lt;br&gt;&lt;br&gt;&lt;b&gt;By Tyler G. on 12/13/2010 1:44:56 PM&lt;/b&gt;&lt;br&gt;Ron,    
It looks like the ability to post data has been added to WebBrowser.Navigate. My problem was that I was trying to post a string instead of a byte array. Here is the solution that I ended up with and it is now working fine.


log1.Navigate("site_to_post_data_to",,"_self",'' target="_self", data_to_post_as_byte_array, "Content-Type: application/x-www-form-urlencoded" + Chr(10) + Chr(13))

Thanks for your help.&lt;br&gt;&lt;br&gt;</description><link>https://www.marvintest.com/Forums/Thread.aspx?ID=111</link><pubDate>12/2/2010 12:48:53 PM</pubDate></item><item><title>Keyboard simulation in ATEasy? - Created on Monday, November 22, 2010 (Solution Avaliable)</title><description>&lt;b&gt;By John K. on 11/22/2010 12:38:37 AM&lt;/b&gt;&lt;br&gt;Hi there! I have a task that implies an automatic "user input", that is a simulated keyboard data insertion. Is there any way I can do this in ATEasy? The application has to open an .exe file, insert a string into a text field and click the "Next" button a couple of times, all that automaticly. Is there any possibility to do this? Please help me.&lt;br&gt;&lt;br&gt;&lt;b&gt;By Arne V. on 11/22/2010 1:00:27 AM&lt;/b&gt;&lt;br&gt;Hi Alex,&lt;br&gt;&lt;br&gt;we've the same issue with some 3th party tools;&lt;br&gt;&lt;br&gt;Here is a solotion:&lt;br&gt;&lt;br&gt;- Add c:\windows\system32\user32.dll to libraries&lt;br&gt;-  Add procedure:&lt;br&gt;keybd_event ( val byre bVk, val Byte bScan, val DWord dwFlags,val long  lExtraInfo): void&lt;br&gt;&lt;br&gt;see for more info : http://msdn.microsoft.com/en-us/library/ms646304(VS.85).aspx&lt;br&gt;&lt;br&gt;&lt;br&gt;example of sending &amp;lt;RETURN&amp;gt; in case of adding library to system: &lt;br&gt;&lt;br&gt;! VK_RETURN&lt;br&gt;system.keybd_event(0x0D,0x45,0,0)&lt;br&gt;&lt;br&gt;- Important: When debugging using the ATEasy environment it is posible that the keys will modify your code !&lt;br&gt;(keys are written directly in the keyboard buffer - Be sure the right window has focus )&lt;br&gt;&lt;br&gt;Tested with ATEasy 6&lt;br&gt;&lt;br&gt;Example to send 5 digit serialnumber to external application:&lt;br&gt;sTemp = right(sSerialNbr,5)&lt;br&gt;&lt;br&gt;! Add 0x30 for ascii conversion&lt;br&gt;system.keybd_event(0x30 + val(mid(sTemp,0,1)),0x45,0,0)&lt;br&gt;system.keybd_event(0x30 + val(mid(sTemp,1,1)),0x45,0,0)&lt;br&gt;system.keybd_event(0x30 + val(mid(sTemp,2,1)),0x45,0,0)&lt;br&gt;system.keybd_event(0x30 + val(mid(sTemp,3,1)),0x45,0,0)&lt;br&gt;system.keybd_event(0x30 + val(mid(sTemp,4,1)),0x45,0,0)&lt;br&gt;&lt;br&gt;&lt;br&gt;Please let me know if your problem is solved,&lt;br&gt;&lt;br&gt;Arne&lt;br&gt;&lt;br&gt;</description><link>https://www.marvintest.com/Forums/Thread.aspx?ID=110</link><pubDate>11/22/2010 12:38:37 AM</pubDate></item><item><title>Firmware loader program - Created on Thursday, October 14, 2010 (Solution Avaliable)</title><description>&lt;b&gt;By Tim C. on 10/14/2010 6:22:08 AM&lt;/b&gt;&lt;br&gt;Where can I download the special laoder software app for doing firmware updates to the GP1552AH? What is the name of the program?&lt;br&gt;&lt;br&gt;&lt;br&gt;&lt;font color='red'&gt;*Changed by Moderator&lt;/font&gt;&lt;br&gt;&lt;br&gt;&lt;b&gt;By  on 10/14/2010 9:13:51 AM&lt;/b&gt;&lt;br&gt;Hi Tim,&lt;br&gt;    I emailed you the loader program and the firmware update. If you have any trouble receiving them please contact me at (617) 202-9263.&lt;br&gt;Best Regards&lt;br&gt;John&lt;br&gt;&lt;br&gt;&lt;br&gt;</description><link>https://www.marvintest.com/Forums/Thread.aspx?ID=109</link><pubDate>10/14/2010 6:22:08 AM</pubDate></item><item><title>Complex numbers, matrices, Smith/polar plots. - Created on Thursday, October 7, 2010 (Solution Avaliable)</title><description>&lt;b&gt;By Vlad L. on 10/7/2010 9:16:20 AM&lt;/b&gt;&lt;br&gt;Any plans to add this capabilities in future?&lt;br&gt;Thanks&lt;br&gt;&lt;br&gt;&lt;b&gt;By Ronnie Y. on 10/7/2010 10:28:40 AM&lt;/b&gt;&lt;br&gt;We do have plans to add a more extensive math library, but no decision yet as far as when. Some functionality exist in GtWave/WaveEasy package (for example FFT).&lt;br&gt;&lt;br&gt;We don't have plans for Smith/Polar charts. I will add to suggestion list.&lt;br&gt;&lt;br&gt;</description><link>https://www.marvintest.com/Forums/Thread.aspx?ID=108</link><pubDate>10/7/2010 9:16:20 AM</pubDate></item><item><title>Telnet to linox by ATEasy. - Created on Tuesday, August 31, 2010 (Solution Avaliable)</title><description>&lt;b&gt;By Shaul M. on 8/31/2010 7:12:24 AM&lt;/b&gt;&lt;br&gt;I write a telnet driver using WinSock procedures. It works prfectly OK with products that have Windows operating system (the  telnet port is not the default telnet port - 23). when I'm trying to connect to product that have Linox operating system ( telnet port is 23), the telnet session does not open. Connecting a sniffer shows that the product (the telnet server) ask for authentication ("Do authentication option") but the ATEasy does not reply. could you help?     &lt;br&gt;&lt;br&gt;&lt;b&gt;By Ronnie Y. on 8/31/2010 12:05:33 PM&lt;/b&gt;&lt;br&gt;There is no built in support. The client need to send and receive data  to authenticate. There are several authentication protocols. See http://tools.ietf.org/html/rfc2941. Do you know what your telnet server supports? If you have a client that support it you may record the packet and use them in ATEay.&lt;br&gt;&lt;br&gt;&lt;b&gt;By Shaul M. on 9/1/2010 12:04:43 AM&lt;/b&gt;&lt;br&gt;Hi Ronnie, Thank You for the quick response.&lt;br&gt;I already recorded the packets by a sniffer when connecting to another client . I tried to send the packes from the ATEasy application by WsSend procedure but it didn't work - the sniffer showed  that a 'Data' was sent and not a 'Command' (when connecting to non-ATEasy client, the sniffer showed that the  authentication packets was sent under "telnet : command:...") .&lt;br&gt;&lt;br&gt;&lt;br&gt;&lt;br&gt;&lt;b&gt;By Ronnie Y. on 9/1/2010 4:27:10 PM&lt;/b&gt;&lt;br&gt;Telnet command codes and structure is defined in the following link: http://webee.technion.ac.il/labs/comnet/netcourse/CIE/RFC/854/7.htm&lt;br&gt;&lt;br&gt;&lt;br&gt;</description><link>https://www.marvintest.com/Forums/Thread.aspx?ID=107</link><pubDate>8/31/2010 7:12:24 AM</pubDate></item><item><title>How can I run an EXE application made with ATEasy from a PC where ATEasy is not installed - Created on Wednesday, August 25, 2010 (Solution Avaliable)</title><description>&lt;b&gt;By John K. on 8/25/2010 1:21:31 AM&lt;/b&gt;&lt;br&gt;Can anyone help me with this? I've built an application with ATEasy and it runs OK on the computer on which I've developed the app. But the EXE file doesn't run on other computers where ATEasy isn't installed. Why? I've been told that it should work "painless". Is there something I have to install (other that the IDE itself) on a computer so the application would run? Please, someone help me with this issue.&lt;br&gt;&lt;br&gt;&lt;b&gt;By Martin S. on 8/25/2010 2:08:27 AM&lt;/b&gt;&lt;br&gt;Are you missing a dll or something from an instrument driver ??&lt;br&gt;&lt;br&gt;&lt;b&gt;By John K. on 8/25/2010 4:19:03 AM&lt;/b&gt;&lt;br&gt;No, I've made an application using forms, to generate some random numbers and to print them into a text box, that's all. No drivers implied. But it doesn't work on a computer where ATEasy isn't installed. It tells me to reinstall my application, thought my application doesn't installs or something like this...&lt;br&gt;&lt;br&gt;&lt;b&gt;By Michael W. on 8/25/2010 5:08:19 AM&lt;/b&gt;&lt;br&gt;You need to install the Runtime files only.  During the installation process, select Custom, and then Runtime.&lt;br&gt;&lt;br&gt;&lt;b&gt;By DrATEasy (Ron Y.) on 8/25/2010 8:33:39 AM&lt;/b&gt;&lt;br&gt;Like VB, LabView and event some C applications you need to install the run-time libraries/engine to run the application. You can also install the run-time in silent mode: ATEasy7 /s /SetupType”Run-Time” so no user ineterfce is displayed.&lt;br&gt;&lt;br&gt;&lt;b&gt;By Paul T. on 11/16/2014 12:56:19 PM&lt;/b&gt;&lt;br&gt;Hi! I&amp;#39;ve tried to run  ATEasy7 /s /SetupType ”Run-Time", but the installer actually installs the "Typical" version, not only the Run-Time, as I want. Is there another way to pass the required parameter or what?&lt;br&gt;&lt;br&gt;&lt;b&gt;By Paul T. on 11/17/2014 1:41:28 PM&lt;/b&gt;&lt;br&gt;Does anyone know?&lt;br&gt;&lt;br&gt;&lt;b&gt;By DrATEasy (Ron Y.) on 11/17/2014 1:53:58 PM&lt;/b&gt;&lt;br&gt;You need to install the ATEasy Run-Time on that machine.  

ATEasy9 /s /SetupType”Run-Time”
&lt;br&gt;&lt;br&gt;&lt;b&gt;By Orr K. on 11/17/2014 2:02:47 PM&lt;/b&gt;&lt;br&gt;All you needed to do is remove the whitespace between /SetupType and "RunTime". So this needs to be ATEasy7 /s /SetupType”Run-Time" not ATEasy7 /s /SetupType ”Run-Time". &lt;br&gt;&lt;br&gt;&lt;b&gt;By Paul T. on 11/17/2014 11:11:48 PM&lt;/b&gt;&lt;br&gt;Thank you for your time, guys, but it is like I&amp;#39;ve stated before: either ATEasy7 /s /SetupType”Run-Time" or ATEasy7 /s /SetupType ”Run-Time", both install the ATEasy in the "typical" manner, NOT just the Run-Time, as it should.&lt;br&gt;&lt;br&gt;</description><link>https://www.marvintest.com/Forums/Thread.aspx?ID=106</link><pubDate>8/25/2010 1:21:31 AM</pubDate></item><item><title>ATEasy calls .NET method which throws Exception object - Created on Monday, August 9, 2010 (Solution Avaliable)</title><description>&lt;b&gt;By Phil V. on 8/9/2010 6:25:49 PM&lt;/b&gt;&lt;br&gt;I am using .NET classes  as on object in ATEasy which throw an Exception object if an error occurs. These modules use the Exception class from mscorlib. &lt;br&gt;&lt;br&gt;Is it possible to catch and handle the exception, so that I can read its message?&lt;br&gt;&lt;br&gt;&lt;b&gt;By DrATEasy (Ron Y.) on 8/10/2010 10:15:33 AM&lt;/b&gt;&lt;br&gt;You can use the ATEasy try-catch statement or you can catch the error using the module OnError. Here is the syntax for the statement (more information in the ATEasy help):&lt;br&gt;&lt;br&gt;try&lt;br&gt;! .NET calls&lt;br&gt;&lt;br&gt;catch else&lt;br&gt;! add you exception handling here&lt;br&gt;endtry&lt;br&gt; &lt;br&gt;&lt;br&gt;&lt;b&gt;By Trevor W. on 2/28/2018 7:26:22 AM&lt;/b&gt;&lt;br&gt;The help explains how pass the error on to be handled by an outside try catch block, but it doesn't say how that outside block is supposed to capture the optional error message. I'd like to capture that error message and print it in my error block and then be able to decide how that error should be handled. Can you provide further detail on how to capture the error message so I can print it?&lt;br&gt;&lt;br&gt;&lt;b&gt;By Trevor W. on 2/28/2018 7:42:47 AM&lt;/b&gt;&lt;br&gt;It would appear that you can access the message by accessing the internal library Internal.GetErrorMsg() to have access to the current run-time error message.&lt;br&gt;&lt;br&gt;</description><link>https://www.marvintest.com/Forums/Thread.aspx?ID=105</link><pubDate>8/9/2010 6:25:49 PM</pubDate></item><item><title>Comparing for NaN - Created on Wednesday, July 28, 2010 (Solution Avaliable)</title><description>&lt;b&gt;By Kevin E. on 7/28/2010 10:00:45 AM&lt;/b&gt;&lt;br&gt;My ATEasy application uses a 3rd party DLL with functions that may return an IEEE NaN (Not a Number).  Does ATEasy have a built-in means to determine if the value (as a float or double) is a NaN?&lt;br&gt;&lt;br&gt;&lt;b&gt;By DrATEasy (Ron Y.) on 7/28/2010 11:30:02 AM&lt;/b&gt;&lt;br&gt;Take a look at the following example:&lt;br&gt;&lt;br&gt;ddwQNaN:DDWord&lt;br&gt;d:Double&lt;br&gt;dQNaN:Double&lt;br&gt;&lt;br&gt;ddwQNaN=0xFFF8000000000000&lt;br&gt;MemoryCopy(&amp;amp;dQNaN, &amp;amp;ddwQNaN, 8)&lt;br&gt;print d  ! will print  -1.#IND&lt;br&gt;d=dQNaN&lt;br&gt;print d&lt;br&gt;if ddQNaN=d&lt;br&gt;    print "same"&lt;br&gt;endif&lt;br&gt;&lt;br&gt;You can do the same for any NaN representation.&lt;br&gt;&lt;br&gt;&lt;br&gt;&lt;b&gt;By Aaron R. on 1/6/2011 9:59:22 PM&lt;/b&gt;&lt;br&gt;I do not have my ATEasy environment available right now.  Does the if test pass and same prints out?&lt;br&gt;&lt;br&gt;&lt;b&gt;By DrATEasy (Ron Y.) on 1/7/2011 7:20:01 AM&lt;/b&gt;&lt;br&gt;Yes, it will print "same".&lt;br&gt;&lt;br&gt;&lt;b&gt;By Aaron R. on 1/7/2011 9:17:54 AM&lt;/b&gt;&lt;br&gt;Ron, I would submit that is incorrect behavior.  A NaN is not equal to anything, even itself.  Looking at IEEE754 will confirm this behavior.  The correct test for a NaN in languages like C, C++, and python is:&lt;br&gt;&lt;br&gt;if x != x&lt;br&gt;&lt;br&gt;python implements an isNaN() function as well.&lt;br&gt;&lt;br&gt;I would suggest creatiion of an isNaN type procedure and the equality comparison be changed to false when comparing two NaNs to fall inline with IEEE754.&lt;br&gt;&lt;br&gt;Wikipedia has a discussion of NaN: http://en.wikipedia.org/wiki/NaN  which echoes the behavior I mentioned.&lt;br&gt;&lt;br&gt;&lt;b&gt;By DrATEasy (Ron Y.) on 1/7/2011 5:57:58 PM&lt;/b&gt;&lt;br&gt;You are right, it should not print (according to IEEE754). I will add it to our suggestion list. BTW why do you need this?&lt;br&gt;&lt;br&gt;&lt;b&gt;By Aaron R. on 1/11/2011 2:32:38 PM&lt;/b&gt;&lt;br&gt;Ron -&lt;br&gt;&lt;br&gt;I don't have an immediate need, but was trying to be complete for when the situation comes up in the future.  Kevin's original question sounded like a perfect example of what can happen when interfacing with an external DLL.&lt;br&gt;&lt;br&gt;</description><link>https://www.marvintest.com/Forums/Thread.aspx?ID=102</link><pubDate>7/28/2010 10:00:45 AM</pubDate></item><item><title>Real time data from GX5292 - Created on Friday, April 23, 2010</title><description>&lt;b&gt;By Tom P. on 4/23/2010 10:25:22 AM&lt;/b&gt;&lt;br&gt;I know the GX5292 really isn't capable of real time data streaming, but I'm in a situation where I need to find a way to make it stream data in real time as best as I can. I've come up with a method of commanding the GX5292 to do short bursts of data gathering, pause the card and read the data from the card. The trouble now, is how do I read the data file and convert it to a hex value that I can display? The DI output file appears to be in some compressed form that at first glance is not easy to reverse engineer. Is there a library that exists that would allow me to directly read from a GX5292 output file? Has no one else had the need for this?&lt;br&gt;&lt;br&gt;&lt;b&gt;By Dale J. on 4/27/2010 4:32:08 PM&lt;/b&gt;&lt;br&gt;Hi Tom,&lt;br&gt;This is just a repeat of the information I posted to your Magic incident, but it will close the loop on this forum.  There are several functions in the DIO driver that facilitate reading and writing patterns to a file and to the hardware.  The functions are the same, the only difference is whether you pass in a file handle or an instrument handle.  Here is a simple example of how to read vectors from a DIO file, write the vectors to hardware, run the hardware, then read captured data from hardware: &lt;br&gt;&lt;br&gt;Sample(): &lt;br&gt;{ &lt;br&gt;Short    nBanks, nBoardHandle, nDensity, nStatus, hFileHandle, nBoardType; &lt;br&gt;Long    alTriState[1], alResp[1], alStim[1], lSize; &lt;br&gt;String    sFileName; &lt;br&gt;&lt;br&gt;    \\  First read from DIO file &lt;br&gt;    Strcpy(sFileName,&amp;amp;quot;.\\DioSample.di&amp;amp;quot;); &lt;br&gt;     &lt;br&gt;    DioFileOpen(sFileName,1,nBoardType,hFileHandle,nStatus); &lt;br&gt;    DioFileGetNumberOfSteps(hFileHandle,lSize,nStatus); &lt;br&gt;&lt;br&gt;    \\  Use Malloc to dimension arrays - couldn't remember syntax &lt;br&gt;    Redim alStim[lSize]; &lt;br&gt;    Redim alResp[lSize]; &lt;br&gt;    Redim alTriState[lSize]; &lt;br&gt;     &lt;br&gt;    DioReadDirectionMemory(hFileHandle,alTriState,0,lSize,nStatus); &lt;br&gt;    DioReadOutMemory(hFileHandle,alStim,0,lSize,nStatus); &lt;br&gt;     &lt;br&gt;    DioFileClose(hFileHandle,nStatus); &lt;br&gt;     &lt;br&gt;    \\ Initialize hardware &lt;br&gt;    DioSetupInitialization(0,1,7,nDensity,nBanks,nBoardHandle,nStatus); &lt;br&gt;     &lt;br&gt;    \\ Write vectors read from DIO file to hardware &lt;br&gt;    DioWriteDirectionMemory(hFileHandle,alTriState,0,lSize,nStatus); &lt;br&gt;    DioWriteOutMemory(hFileHandle,alStim,0,lSize,nStatus); &lt;br&gt;     &lt;br&gt;    \\ Write Halt command at last vector &lt;br&gt;    DioWriteCtrlCommand(nBoardHandle,lSize-1,8,0,0,0,0,nStatus); &lt;br&gt;     &lt;br&gt;    \\ Arm instrument and Trigger &lt;br&gt;    DioArm(nBoardHandle,nStatus); &lt;br&gt;    DioTrig(nBoardHandle,nStatus); &lt;br&gt;     &lt;br&gt;    \\ Wait for DIO to finish - could also poll status register &lt;br&gt;    Delay(200); &lt;br&gt;     &lt;br&gt;    \\ Make sure hardware is halted &lt;br&gt;    DioHalt(nBoardHandle,nStatus); &lt;br&gt;     &lt;br&gt;    \\ Read captured data from hardware &lt;br&gt;    DioReadInMemory(hFileHandle,alResp,0,lSize,nStatus); &lt;br&gt;} &lt;br&gt;&lt;br&gt;Regards,&lt;br&gt;Dale&lt;br&gt;&lt;br&gt;&lt;b&gt;By Eduardo O. on 12/14/2021 8:54:43 AM&lt;/b&gt;&lt;br&gt;Regarding a possible continuous capture of data.&lt;br&gt;&lt;br&gt;Is it possible that by commanding a couple of GX5292 a capture can be continuous?&lt;br&gt;&lt;br&gt;Say we have a pair of DAQ boards GX5292 and try something like:&lt;br&gt;&lt;br&gt;1. InitializeBothDAQBoards();&lt;br&gt;2. While acquisition be required do:&lt;br&gt;    {&lt;br&gt;        StartAcqDAQBoard(1);&lt;br&gt;        TransferDataFromDAQBoard(1);&lt;br&gt;        StartAcqDAQBoard(2);&lt;br&gt;        TransferDataFromDAQBoard(2);&lt;br&gt;    }&lt;br&gt;3. Capture session concluded&lt;br&gt;&lt;br&gt;&lt;b&gt;By Dale J. on 12/14/2021 3:56:13 PM&lt;/b&gt;&lt;br&gt;Hi Eduardo,&lt;br&gt;So, what you are trying to do is emulate real-time capture - correct?&lt;br&gt;&lt;br&gt;As the post mentions, the instrument does not support this capability.  It is certainly possible to "ping-pong" back and forth between two instruments to try and emulate real-time capture, but the potential for missing data (non-contiguous recording) is pretty high.  It would be difficult to start the "pong" instrument immediately on the next cycle after the last record cycle of the "ping" instrument.  There are tricks you can employ to minimize this.  For example, if you are not recording on all 32 channels, you can use one dedicated channel from each instrument to trigger the alternate instrument.&lt;br&gt;&lt;br&gt;You also have to be aware of the time it takes to off-load the captured data before needing to re-arm the instrument.  If the time to capture data takes less time than to read the captured patterns to your host PC, you will lose data.  For example, for the approach mentioned above, you must have sufficient time while capturing data on instrument #2, for instrument #1 to upload it's captured pattern to your PC, then have your software ARM instrument #1 so it is waiting for a trigger generated by instrument #2 at the conclusion of it's capture cycle.  And vice versa if you wat to continue this process over time.&lt;br&gt;&lt;br&gt;If you are only interested in one "ping-pong" cycle, then much of the problem goes away.  You only need to worry about triggering instrument #2 at the conclusion of the capture on instrument #1.  The buffer fill and upload times becomes non-critical.&lt;br&gt;&lt;br&gt;I also would suggest a slightly different structure than what you posted:&lt;br&gt;{&lt;br&gt;   StartAcqDAQBoard(1) (ARM and TRIGGER);&lt;br&gt;   ArmAcqDAQBoard(2)&lt;br&gt;   TriggerAcqDAQBoard(2) near the end of AcqDAQBoard(1) capture&lt;br&gt;   Wait for AcqDAQBoard(1) to complete it's capture&lt;br&gt;   TransferDataFromDAQBoard(1);&lt;br&gt;   Wait for AcqDAQBoard(2) to complete it's capture&lt;br&gt;   TransferDataFromDAQBoard(2);&lt;br&gt;}&lt;br&gt;&lt;br&gt;I hope this explanation was helpful.&lt;br&gt;&lt;br&gt;Regards,&lt;br&gt;Dale&lt;br&gt;&lt;br&gt;</description><link>https://www.marvintest.com/Forums/Thread.aspx?ID=97</link><pubDate>4/23/2010 10:25:22 AM</pubDate></item><item><title>Pass a structure from .Net to ATEasy? - Created on Friday, April 16, 2010 (Solution Avaliable)</title><description>&lt;b&gt;By Artyom D. on 4/16/2010 7:33:07 AM&lt;/b&gt;&lt;br&gt;Hi,&lt;br&gt;Can you provide a code snippets in C# and ATEasy how to transfer a struct from .Net to identical struct in ATEasy (all fields has the same data types)? &lt;br&gt;I’ve seen at http://www.marvintest.com/Forums/thread.aspx?ID=76 the suggestion on similar problem, but it looks like not working.&lt;br&gt;Regards,&lt;br&gt;Artyom&lt;br&gt;&lt;br&gt;&lt;br&gt;&lt;b&gt;By DrATEasy (Ron Y.) on 4/16/2010 2:36:47 PM&lt;/b&gt;&lt;br&gt;ATEasy struct and c#/.Net struct are not the same and cannot be exchanged automatically. Instead, you will need to define the c# as class and use its type in ATEasy instead of using an ATEasy struct. Example for that is in the DotNet.prj example. The DotNetClass1 c# class have data members which shows in ATEasy as variables that can be used similar to structure fields.&lt;br&gt;&lt;br&gt;Ron&lt;br&gt;&lt;br&gt;</description><link>https://www.marvintest.com/Forums/Thread.aspx?ID=96</link><pubDate>4/16/2010 7:33:07 AM</pubDate></item><item><title>Skipping tasks based on Previous TestResult - Created on Thursday, April 15, 2010 (Solution Avaliable)</title><description>&lt;b&gt;By David K. on 4/15/2010 10:08:54 AM&lt;/b&gt;&lt;br&gt;I am trying to use the results from a previous test to define whether or not a following task is run. I am able to parse this fine using the Program.Tests("Test_Name").Result values but when I am not running a complete test and a task is unchecked but a sub test is checked the entire task is skipped. Any ideas as to how I can make sure that a checked test is run even if the full task is not selected?&lt;br&gt;&lt;br&gt;Sample code from OnInitTest()&lt;br&gt;&lt;br&gt;If (left(Test.Id,6)="XXX_XX")&lt;br&gt;     ! If XXX Self Test failed, skip this test&lt;br&gt;     If (Program.Tests("XXXX_SelfTest").Result = FAIL)&lt;br&gt;          Print "&amp;lt;br&amp;gt;&amp;lt;b&amp;gt;Skipping " + Test.name + " test due to XXX Self-Test Failure...&amp;lt;/b&amp;gt;&amp;lt;br&amp;gt;"&lt;br&gt;          Test -1&lt;br&gt;     EndIf&lt;br&gt;EndIf&lt;br&gt;&lt;br&gt;Thanks.&lt;br&gt;&lt;br&gt;&lt;b&gt;By DrATEasy (Ron Y.) on 4/15/2010 12:10:51 PM&lt;/b&gt;&lt;br&gt;&lt;br&gt;Try to use the Status property instead of result property:&lt;br&gt;&lt;br&gt;If (Program.Tests("XXXX_SelfTest").Status = FAIL)&lt;br&gt;&lt;br&gt;&lt;br&gt;&lt;br&gt;&lt;b&gt;By David K. on 4/15/2010 12:44:53 PM&lt;/b&gt;&lt;br&gt;Unfortunately the same result occurs. I have a failed test in Task 2 (XXX_SelfTest). Task 3 is skipped during OnInitTest() of 3.1 but then Task 4 is skipped (unchecked Task in Test Executive, only subtests checked) and Task 5 begins (Checked Task in Test Executive).&lt;br&gt;&lt;br&gt;&lt;b&gt;By DrATEasy (Ron Y.) on 4/15/2010 1:25:51 PM&lt;/b&gt;&lt;br&gt;If a whole task is skipped it's status will be NONE and not FAIL so check for both None or FAIL (you may also check for ERR).&lt;br&gt;&lt;br&gt;&lt;br&gt;&lt;b&gt;By David K. on 4/20/2010 7:32:44 AM&lt;/b&gt;&lt;br&gt;I believe this actually has to do with how Test Executive goes about running a sequence of tests from the gui. I think I may open a magic incident and see what there response is. Thanks for the help!&lt;br&gt;&lt;br&gt;&lt;b&gt;By DrATEasy (Ron Y.) on 4/21/2010 10:02:41 AM&lt;/b&gt;&lt;br&gt;The problem you are seeing is relate to a test executive bug. To fix this you can modify the testexecutive driver as follows: &lt;br&gt;1. Locate the TestExec.OnInitTask &lt;br&gt;2. Modify line 14 as follows: &lt;br&gt;&lt;br&gt;Instead of &lt;br&gt;                if not node.Checked &lt;br&gt;Change to: &lt;br&gt;                if not node.Checked and node.Bold=False &lt;br&gt;&lt;br&gt;&lt;br&gt;The code to skip task 3 I used the following to test it: &lt;br&gt;&lt;br&gt;Program.OnInitTask() &lt;br&gt;{ &lt;br&gt;    if Program.Tests("selftest_test").Status=FAIL &lt;br&gt;        if task.index=2 &lt;br&gt;            ExitTask &lt;br&gt;        endif &lt;br&gt;    endif &lt;br&gt;} &lt;br&gt;&lt;br&gt;</description><link>https://www.marvintest.com/Forums/Thread.aspx?ID=95</link><pubDate>4/15/2010 10:08:54 AM</pubDate></item><item><title>search in magic - Created on Wednesday, February 17, 2010</title><description>&lt;b&gt;By DoubleM (Moti M.) on 2/17/2010 4:23:31 AM&lt;/b&gt;&lt;br&gt;1. it will be very helpfull if I could search withing my incidents any subject or item.&lt;br&gt;2. it will be more helpfull if I could search through allother users incidents, at least for topic, to know there is a solution and than ask fo it&lt;br&gt;&lt;br&gt;&lt;b&gt;By DrATEasy (Ron Y.) on 2/17/2010 8:49:42 AM&lt;/b&gt;&lt;br&gt;Nice picture...&lt;br&gt;1. We will add to our do to list. Not many users have so many incidents as you have that requires a search tool.&lt;br&gt;2. Often, incidents contains company private and confidential data regarding their applications. We cannot share without their consent and most likely users will require their company approval to share the data. Instead we create KB articles if we see that the incident contains valuable data that other users may benefit from.&lt;br&gt;&lt;br&gt;&lt;br&gt;&lt;br&gt;&lt;br&gt;</description><link>https://www.marvintest.com/Forums/Thread.aspx?ID=92</link><pubDate>2/17/2010 4:23:31 AM</pubDate></item><item><title>Passing LabVIEW Waveforms into ATEasy - Created on Friday, January 15, 2010 (Solution Avaliable)</title><description>&lt;b&gt;By Santiago D. on 1/15/2010 3:52:03 PM&lt;/b&gt;&lt;br&gt;The 'Import LabVIEW Virtual Instrument Tool' in ATEasy imports LabVIEW Waveform types as VI_Waveform types.  The VI_Waveform type is derived from the Object type, therefore there is no way to determine the elements inside of the VI_Waveform type.  I did not find documentation that described the VI_Waveform type either.&lt;br&gt;&lt;br&gt;Could you please either point me to documentation that describes the elements in the VI_Waveform type, or please let me know the names of the elements in the VI_Waveform type, the elements' types, and how the elements map to the LabVIEW Waveform type's elements.&lt;br&gt;&lt;br&gt;Thank you for your help in advance,&lt;br&gt;&lt;br&gt;Santiago D&lt;br&gt;&lt;br&gt;&lt;b&gt;By Albert Q. on 1/15/2010 5:21:05 PM&lt;/b&gt;&lt;br&gt;Which version of ATEasy are you using? Could you please upload the example vi containing the waveform data type so we could investigate it.&lt;br&gt;&lt;br&gt;Thanks,&lt;br&gt;Albert&lt;br&gt;&lt;br&gt;&lt;b&gt;By Santiago D. on 1/18/2010 7:22:27 AM&lt;/b&gt;&lt;br&gt;Thank you for your reply Albert.  I am using ATEasy 7.0 and LabVIEW 2009.  Attached is the VI that is returning the waveform type.  The output connector for the waveform is called 'Waveform'.&lt;br&gt;&lt;br&gt;Santiago D.&lt;br&gt;&lt;br&gt;&lt;b&gt;By Albert Q. on 1/18/2010 5:19:08 PM&lt;/b&gt;&lt;br&gt;Accessing LabView Waveform data type's components and attributes from ATEasy (or Visual Basic, C, etc..) is not directly supported. You need to create another VI to retrieve the components of the waveform and then return them via connector panes. Please see the following link for more information http://74.125.95.132/search?q=cache:vg-l9kjZv-kJ:lavag.org/topic/5293-creating-a-dll-for-use-elsewhere/+extcode.h%2BIWaveform&amp;amp;cd=5&amp;amp;hl=en&amp;amp;ct=clnk&amp;amp;gl=us&lt;br&gt;I have created and uploaded an example to demonstrate how to retrieve the waveform data from DynamicDataType.vi and display them using ATEasy's AChart control.&lt;br&gt;&lt;br&gt;Regards,&lt;br&gt;Albert&lt;br&gt;&lt;br&gt;&lt;br&gt;&lt;br&gt;</description><link>https://www.marvintest.com/Forums/Thread.aspx?ID=89</link><pubDate>1/15/2010 3:52:03 PM</pubDate></item><item><title>covert value from text field "24.36" to a 32-bit hex value - Created on Wednesday, January 13, 2010 (Solution Avaliable)</title><description>&lt;b&gt;By Manraj P. on 1/13/2010 8:36:53 AM&lt;/b&gt;&lt;br&gt;I am trying to take data from a text field (for example: "24.36") and convert that to a 32-bit hex value. Any help I can get on this would be very helpful. Thank you!&lt;br&gt;&lt;br&gt;&lt;b&gt;By Steven H. on 1/14/2010 8:09:07 AM&lt;/b&gt;&lt;br&gt;Converting a string to float or double uses the val command&lt;br&gt;fValue: float&lt;br&gt;sValue: string&lt;br&gt;sValue = "24.36"&lt;br&gt;fValue = val(sValue)&lt;br&gt;print fValue&lt;br&gt;&lt;br&gt;What do you mean when you say you want to convert that  into a hex valu&lt;br&gt;For example, floats are converted into four byte (32-bits) values when writing to a modbus register?&lt;br&gt;&lt;br&gt;&lt;b&gt;By John K. on 8/15/2010 10:58:46 PM&lt;/b&gt;&lt;br&gt;but how about converting a string to an integer? for example, I use nValue:short , sValue:string, sValue="24", nValue=val(sValue), print nValue, and it gives me an error because the "val" command returns a double, not a short... What can I do to convert that double to an integer? Can anyone please help me?&lt;br&gt;&lt;br&gt;&lt;b&gt;By DrATEasy (Ron Y.) on 8/16/2010 9:05:12 AM&lt;/b&gt;&lt;br&gt;The code:&lt;br&gt;&lt;br&gt;s="24"&lt;br&gt;n=val(s)&lt;br&gt;print n&lt;br&gt;&lt;br&gt;does not give any error (n is short), it prints 24. If you need to truncate the decimal portion of the returned double use:&lt;br&gt;s="24.25"&lt;br&gt;n=val(s)&lt;br&gt;print n&lt;br&gt;&lt;br&gt;or use:&lt;br&gt;&lt;br&gt;print (int(val(s))&lt;br&gt;&lt;br&gt;ATEasy allow assigning double to any integer without any error or warning. Conversion of types in ATEasy is done automatically.&lt;br&gt;d=5.6&lt;br&gt;n=d&lt;br&gt;print d ! will print 5&lt;br&gt;&lt;br&gt;If you need an ASCII representation of hexadecimal number use:&lt;br&gt;n=0x17&lt;br&gt;print str(n, 16)&lt;br&gt;&lt;br&gt;This will print "11"&lt;br&gt;&lt;br&gt;&lt;br&gt;</description><link>https://www.marvintest.com/Forums/Thread.aspx?ID=88</link><pubDate>1/13/2010 8:36:53 AM</pubDate></item><item><title>Ethernet Capability - Created on Tuesday, January 12, 2010 (Solution Avaliable)</title><description>&lt;b&gt;By Jim G. on 1/12/2010 8:26:40 AM&lt;/b&gt;&lt;br&gt;Are ehy any drivers or commands for ateay to commuicate via an ethernet connection&lt;br&gt;&lt;br&gt;&lt;b&gt;By Arne V. on 1/14/2010 7:08:01 AM&lt;/b&gt;&lt;br&gt;Hi Jim,&lt;br&gt;&lt;br&gt;Check the code example below ....&lt;br&gt;&lt;br&gt;Arne&lt;br&gt;&lt;br&gt;&lt;br&gt;/*! &lt;br&gt; &lt;br&gt;  \brief        Open telnet connection &lt;br&gt; &lt;br&gt;  \description  Open telnet connection with target &lt;br&gt;  				Keep connection open until TelnetClose is called. &lt;br&gt; &lt;br&gt;  \param[in]    sNameAddress		IP address of target to connect with &lt;br&gt; &lt;br&gt;  \return       TRUE	Success &lt;br&gt;  				FALSE	Error. Use GetErrorMessage() to get error &lt;br&gt; &lt;br&gt;  \pre          SetTelnetPort() must be called. &lt;br&gt; &lt;br&gt;  \post         none &lt;br&gt;*/ &lt;br&gt; &lt;br&gt;/* Store telnetport for later use */ &lt;br&gt;TelnetSettings.Port = lPort &lt;br&gt; &lt;br&gt;/* Returns the address for a specified host name or string address */ &lt;br&gt;TelnetSettings.Address = WsGetNameAddress(sNameAddress) &lt;br&gt;if ( TelnetSettings.Address = -1 ) then &lt;br&gt;	ErrorMessage("TelnetOpen: WsGetNameAddress() failed") &lt;br&gt;	return FALSE &lt;br&gt;endif &lt;br&gt; &lt;br&gt;/* Open a TcpIp Socket for Client communication */ &lt;br&gt;TelnetSettings.Socket = WsCreate(aWsTcpIp, 0) &lt;br&gt;if ( TelnetSettings.Socket &amp;lt; 0 ) then &lt;br&gt;	ErrorMessage("TelnetOpen: WsCreate() failed") &lt;br&gt;	return FALSE &lt;br&gt;endif &lt;br&gt; &lt;br&gt;/* Connect to the target */ &lt;br&gt;lStatus = WsConnect(TelnetSettings.Socket, TelnetSettings.Port, TelnetSettings.Address, 5000) &lt;br&gt;if ( lStatus &amp;lt;&amp;gt; 0 ) then &lt;br&gt;	ErrorMessage("TelnetOpen: WsConnect() failed") &lt;br&gt;	wsclose(TelnetSettings.Socket) &lt;br&gt;	return FALSE &lt;br&gt;endif &lt;br&gt; &lt;br&gt;return TRUE&lt;br&gt;&lt;br&gt;&lt;br&gt;&lt;b&gt;By DrATEasy (Ron Y.) on 1/14/2010 9:03:35 AM&lt;/b&gt;&lt;br&gt;Also, look at the WsChatIE.prj and the WsChatMT.prj examples that are in the examples folder. These examples show how to communicate between computers using Ethernet and the ATEasy WsXXX internal functions. You can also use IO Tables to do that.&lt;br&gt;&lt;br&gt;&lt;br&gt;</description><link>https://www.marvintest.com/Forums/Thread.aspx?ID=87</link><pubDate>1/12/2010 8:26:40 AM</pubDate></item><item><title>Problem installing ATEasy7-142c - Created on Friday, December 18, 2009 (Solution Avaliable)</title><description>&lt;b&gt;By Michael W. on 12/18/2009 8:23:42 AM&lt;/b&gt;&lt;br&gt;I downloaded the ATEasy7-142c executable.  Launched it.  Chose the Repair option (I had build 142b installed.)  At the end of the installation, I received the attached "File Failed to Register" error.  I rebooted the computer, then tried to execute ATEasy, but I received an "Unable to Locate Component" error regarding the AteRt.dll file.  So I uninstalled ATeasy, rebooted the computer, and tried to reinstall ATEasy using the Full installation option, but I still get the same errors.  What's going on?&lt;br&gt;&lt;br&gt;&lt;b&gt;By DrATEasy (Ron Y.) on 12/18/2009 8:52:31 AM&lt;/b&gt;&lt;br&gt;Please run the following before reinstalling ATEasy (if you run Windows update it will also install this):&lt;br&gt;http://www.microsoft.com/downloads/details.aspx?familyid=200B2FD9-AE1A-4A14-984D-389C36F85647&amp;amp;displaylang=en&lt;br&gt;&lt;br&gt;If that does not work can you run Depends.exe on the ATERT.dll and let us know what you are missing to complete the registration ( http://www.dependencywalker.com/ )?&lt;br&gt;&lt;br&gt;&lt;br&gt;&lt;br&gt;&lt;b&gt;By Michael W. on 12/18/2009 10:48:41 AM&lt;/b&gt;&lt;br&gt;I installed the Microsoft software, rebooted, and installed build 142c, but I received the same error.  So, I uninstalled 142c, reinstalled the Microsoft software, then installed 142b, which ran fine.  I then installed 142c and received the same error.  When I go to look for the AteRt.dll file in the Windows\System32 folder, it is not there.  It was there after I installed 142b, but 142c seems to have deleted it.  Why is this proving to be so difficult?&lt;br&gt;&lt;br&gt;&lt;b&gt;By DrATEasy (Ron Y.) on 12/18/2009 11:06:33 AM&lt;/b&gt;&lt;br&gt;I never saw this problem before. Try to uninstall 142c and reinstall it. If not, copy the attached atert.dll to system 32 and register it manually using regsvr32. Are you also mising atectl.dll?&lt;br&gt;&lt;br&gt;&lt;b&gt;By Michael W. on 12/18/2009 11:55:04 AM&lt;/b&gt;&lt;br&gt;I figured it out.  Our Anti-Virus program called Sophos blocked the AteRt.dll file because it saw it as a threat called sus/UnkPacker.  Obviously there is a difference between the AteRt.dll file found in build 142b and 142c.  I need you to correct this problem.  Otherwise, I will have a difficult time installing build 142c on the 40 computers here.&lt;br&gt;http://www.sophos.com/security/analyses/suspicious-behavior-and-files/susunkpacker.html&lt;br&gt;&lt;br&gt;&lt;br&gt;</description><link>https://www.marvintest.com/Forums/Thread.aspx?ID=85</link><pubDate>12/18/2009 8:23:42 AM</pubDate></item><item><title>AddHandler .Net2.0 - Created on Wednesday, December 16, 2009 (Solution Avaliable)</title><description>&lt;b&gt;By Abder on 12/16/2009 9:00:40 AM&lt;/b&gt;&lt;br&gt;I'm trying to use the AddHandler statement to attach to an (.Net assembly) event  but it causes an ATEasy 7.0 crash (see attached error) during the runtime. Could you please help to fix this issue.&lt;br&gt;Thx&lt;br&gt;&lt;br&gt;&lt;br&gt;&lt;b&gt;By Amit G. on 12/16/2009 9:05:31 AM&lt;/b&gt;&lt;br&gt;Which .NET assembly and what event? Could you post the code that you are using (that causes the crash) ?&lt;br&gt;&lt;br&gt;&lt;b&gt;By Abder on 12/16/2009 9:13:57 AM&lt;/b&gt;&lt;br&gt;The assembly is a Phidget21.NET.dll and I'm using the following code  :&lt;br&gt;&lt;br&gt;  mDictionary = mDictionary.open("192.168.1.102",5001)&lt;br&gt;   .....&lt;br&gt; !attatch a Key Listner ...&lt;br&gt;   mKeyListener  = new KeyListener(mDictionary,"/Server/*")&lt;br&gt;   &lt;br&gt;   AddHandler   mKeyListener.OnKeyChange ,   OnKeyDicChange&lt;br&gt;   AddHandler   mKeyListener.OnKeyRemoval,   OnKeyDicRemove&lt;br&gt;&lt;br&gt;   !start the listner&lt;br&gt;  mKeyListener.start()&lt;br&gt;&lt;br&gt;During the runtime if there is any OnKeyChange event detected ATEasy crashs&lt;br&gt;&lt;br&gt;&lt;b&gt;By Amit G. on 12/16/2009 9:28:50 AM&lt;/b&gt;&lt;br&gt;What OS are you using? And what build of ATEasy 7.0 are you using (Check in the Help | About ATEasy...)&lt;br&gt;&lt;br&gt;&lt;b&gt;By Abder on 12/16/2009 9:33:45 AM&lt;/b&gt;&lt;br&gt;OS: windows XP Pro SP3 and the build 142b&lt;br&gt;&lt;br&gt;&lt;b&gt;By Amit G. on 12/16/2009 9:53:00 AM&lt;/b&gt;&lt;br&gt;If you go to C:\windows\Microsoft.NET\Framework   , what folders are listed there?&lt;br&gt;&lt;br&gt;&lt;b&gt;By Abder on 12/16/2009 9:57:29 AM&lt;/b&gt;&lt;br&gt;please see the pic.&lt;br&gt;Thx&lt;br&gt;NB:&lt;br&gt;In the folder V3.5 there is no files. I think it's there cause .Net 3.5 was installed &lt;br&gt;&lt;br&gt;&lt;b&gt;By Abder on 12/16/2009 11:35:39 AM&lt;/b&gt;&lt;br&gt;The problem is fixed. I've uninstalled everything related to .Net on my machine after that I've re-installed the .Net 2.0.&lt;br&gt;But it doesn't explain why ATEasy crash (even the developpement environment ).&lt;br&gt;&lt;br&gt;&lt;br&gt;&lt;b&gt;By Amit G. on 12/16/2009 11:39:03 AM&lt;/b&gt;&lt;br&gt;Using .NET 3.0 or higher with AddHandler results in the behavior you were seeing (crashing).&lt;br&gt;&lt;br&gt;This issue has been resolved in Build 142c. You can download this newer build at:&lt;br&gt;&lt;br&gt;http://geotest.fileburst.com/downloads/ATEasy7-142c.exe&lt;br&gt;&lt;br&gt;&lt;b&gt;By Abder on 12/17/2009 4:32:53 AM&lt;/b&gt;&lt;br&gt;Thank you for your support I want to specify that the fix in the Build 142c is nedded as well for the .NET 2.0 Service Pack 2 &lt;br&gt;&lt;br&gt;</description><link>https://www.marvintest.com/Forums/Thread.aspx?ID=84</link><pubDate>12/16/2009 9:00:40 AM</pubDate></item><item><title>ATEasy 7 - Created on Monday, December 14, 2009 (Solution Avaliable)</title><description>&lt;b&gt;By DoubleM (Moti M.) on 12/14/2009 1:07:35 PM&lt;/b&gt;&lt;br&gt;Where can I find a new build of ATEasy7 (with last changes og ateasy6-136c)?&lt;br&gt;&lt;br&gt;&lt;b&gt;By DrATEasy (Ron Y.) on 12/14/2009 2:32:37 PM&lt;/b&gt;&lt;br&gt;http://geotest.fileburst.com/downloads/ATEasy7-142c.exe&lt;br&gt;&lt;br&gt;&lt;b&gt;By John K. on 8/9/2010 8:13:25 AM&lt;/b&gt;&lt;br&gt;Where can I find those two video tutorials on the site? Someone told me they exist, but I  can't find them anywhere :(. Please help!&lt;br&gt;&lt;br&gt;&lt;b&gt;By DrATEasy (Ron Y.) on 8/9/2010 8:45:52 AM&lt;/b&gt;&lt;br&gt;http://www.marvintest.com/Product.aspx?model=ATEasy&amp;Tab=5&lt;br&gt;&lt;br&gt;&lt;br&gt;</description><link>https://www.marvintest.com/Forums/Thread.aspx?ID=83</link><pubDate>12/14/2009 1:07:35 PM</pubDate></item><item><title>DLLs and String arrays - Created on Thursday, December 3, 2009</title><description>&lt;b&gt;By Richard B. on 12/3/2009 4:09:46 AM&lt;/b&gt;&lt;br&gt;I am writing an ATEasy DLL which, inturn calls another.&lt;br&gt;The 3rd party dll function has the following arguments.&lt;br&gt;( int ncnt, char** inst, char* res ), where ncnt is number of strings in inst.&lt;br&gt;I have the following message from ATEasy compiler : &lt;br&gt;Warning : ATEasy not support calling function with array from external application use DWord type and MemoryCopy instead&lt;br&gt;&lt;br&gt;Can you please show me how you would handle this? thanks.&lt;br&gt;&lt;br&gt;&lt;b&gt;By DrATEasy (Ron Y.) on 12/3/2009 9:48:21 AM&lt;/b&gt;&lt;br&gt;Here is an example:&lt;br&gt;&lt;br&gt;adw[100]: Dword&lt;br&gt;as[100]: string&lt;br&gt;&lt;br&gt;for i=0 to 99&lt;br&gt;    as[i]="abc"  ! fill in to allocate string&lt;br&gt;    MemoryCopy( &amp;amp;adw[I] , &amp;amp;as[i],  4)  ! copy the string array address&lt;br&gt;Next&lt;br&gt;&lt;br&gt;MyDllFunctionCall( … , adw, …)&lt;br&gt;&lt;br&gt;&lt;br&gt;Note: the DLL function array of string parameter is defined as Val Dword[] instead of Val String[].&lt;br&gt;&lt;br&gt; &lt;br&gt;Ronnie&lt;br&gt;&lt;br&gt;&lt;br&gt;</description><link>https://www.marvintest.com/Forums/Thread.aspx?ID=81</link><pubDate>12/3/2009 4:09:46 AM</pubDate></item><item><title>Logging results from test loops - Created on Wednesday, November 18, 2009 (Solution Avaliable)</title><description>&lt;b&gt;By Richard B. on 11/18/2009 2:41:07 AM&lt;/b&gt;&lt;br&gt;I am transporting code into ATEasy from another platform.&lt;br&gt;How do I record results from test loops such as.....&lt;br&gt;&lt;br&gt;for (i = 1) to (31) do&lt;br&gt;  MeasureDCVolts(pMeaspin[i],volts,0.02,DEFAULT,-0.1,FCUT,DEFAULT_PSGPIN,DEFAULT,0)&lt;br&gt;next&lt;br&gt;I dont have to split into individual tests do I? &lt;br&gt;&lt;br&gt;&lt;br&gt;&lt;b&gt;By DrATEasy (Ron Y.) on 11/18/2009 9:23:01 AM&lt;/b&gt;&lt;br&gt;You don't have to split to multiple tests. This is really depends on the way you would like it to show results in the test log: multiple lines, each display a measurement, or one line display a summary of your measurements. From your post I think you like the multiple lines in the test log for this test. There are several ways to do it:&lt;br&gt;&lt;br&gt;1. Modify the test code to loop on the test calling the Test statement:&lt;br&gt;1a. Create a program global variable g_nTestCount&lt;br&gt;1b. In the test do the following:&lt;br&gt;&lt;br&gt;if g_nTestCount=0&lt;br&gt;    g_nTestCount=31&lt;br&gt;else&lt;br&gt;    g_nTestCount=g_nTestCount-1&lt;br&gt;endif&lt;br&gt;MeasureDCVolts(pMeaspin[31-g_nTestCount],volts,0.02,DEFAULT,-0.1,FCUT,DEFAULT_PSGPIN,DEFAULT,0)&lt;br&gt;if g_nTestCount&amp;gt;1&lt;br&gt;    Test EndEvents Test ! repeat this test&lt;br&gt;else&lt;br&gt;    g_nTestCount=0&lt;br&gt;endif&lt;br&gt;&lt;br&gt;2. Use the Profile driver to create the sequence that you need see, the testexec help for more information for creating profile.&lt;br&gt;&lt;br&gt;BTW If you like to format your test log to display the test number . measurement # (001.31) add the following after the measurement:&lt;br&gt;&lt;br&gt;s=GetLogString(aLogStringCalcTestStatus)&lt;br&gt;i=pos(Format(test.Index+1, "000"), s)&lt;br&gt;SetLogString(Left(s, i)+Format(test.Index+1, "000")+"."+str(32-g_nTestCount)+mid(s, i+len(Format(test.Index+1, "000"))))&lt;br&gt;&lt;br&gt;&lt;br&gt;Ronnie&lt;br&gt;&lt;br&gt;&lt;br&gt;&lt;br&gt;&lt;b&gt;By Richard B. on 11/30/2009 6:48:39 AM&lt;/b&gt;&lt;br&gt;Thanks.  Have implemented above &amp;amp; works OK.&lt;br&gt;What I want to do is print to the log for each measurement with a Pass / Fail status.&lt;br&gt;However, using TestResult &amp;amp; TestStatus seems to become a bit complicated, since I am not really exiting the test.&lt;br&gt;Any suggestions? &lt;br&gt;&lt;br&gt;&lt;b&gt;By DrATEasy (Ron Y.) on 11/30/2009 9:12:54 AM&lt;/b&gt;&lt;br&gt;Actually you are exiting the test and can use TestStatus or TestResult to store the measurent.&lt;br&gt;One thing you should note is that if the last test passes  (from the looped test), and any other test failed, the program status at the end of the test log will show as PASSsince ATEasy takes only the last test result of each test. To overcome this you can change the OnEndTest event to something like this:&lt;br&gt;&lt;br&gt;if TestStatus=FAIL&lt;br&gt;    program.Status=FAIL&lt;br&gt;endif&lt;br&gt;&lt;br&gt;Ronnie&lt;br&gt;&lt;br&gt;&lt;br&gt;&lt;br&gt;</description><link>https://www.marvintest.com/Forums/Thread.aspx?ID=80</link><pubDate>11/18/2009 2:41:07 AM</pubDate></item><item><title>Setting string type test limit - Created on Tuesday, October 27, 2009 (Solution Avaliable)</title><description>&lt;b&gt;By Larry S. on 10/27/2009 12:53:35 PM&lt;/b&gt;&lt;br&gt;Is there a way to set the test limit in the code (not the test properties) for string type tests?  For Min/Man, RefX and other test types, you can use SetTestMin() or another appropriate command  to set the limit, but I see no means to do this for a string type test.&lt;br&gt;&lt;br&gt;&lt;b&gt;By DrATEasy (Ron Y.) on 10/27/2009 2:46:15 PM&lt;/b&gt;&lt;br&gt;Use the Test.String expression to get or set the current test string value. The Test variable represents the current Test object. Similar properties are available for min, max, etc).&lt;br&gt;&lt;br&gt;&lt;br&gt;&lt;br&gt;&lt;b&gt;By Larry S. on 10/28/2009 5:57:35 AM&lt;/b&gt;&lt;br&gt;Thank you - that appears to work fine.&lt;br&gt;&lt;br&gt;</description><link>https://www.marvintest.com/Forums/Thread.aspx?ID=79</link><pubDate>10/27/2009 12:53:35 PM</pubDate></item><item><title>Getting an error #419 when I attempt to read the "Form.hWnd" handle when the form is closed. - Created on Tuesday, October 27, 2009</title><description>&lt;b&gt;By  on 10/27/2009 11:33:23 AM&lt;/b&gt;&lt;br&gt;Error Message: Run-time error #419 : 'Object is null'&lt;br&gt;Question: How can I test to see if a Form is closed?&lt;br&gt;&lt;br&gt;&lt;b&gt;By DrATEasy (Ron Y.) on 10/27/2009 11:47:07 AM&lt;/b&gt;&lt;br&gt;You first need to check if the for variable (frm in this example) is not Nothing. Here is an example:&lt;br&gt;&lt;br&gt;bFormOpen=False&lt;br&gt;If frm then if frm.hWnd then bFormOpen=TRUE&lt;br&gt;&lt;br&gt;&lt;br&gt;&lt;b&gt;By  on 10/28/2009 6:39:23 AM&lt;/b&gt;&lt;br&gt;I am running ATEasy 6.0 Build 134.&lt;br&gt;The Form object variable does not get set to "Nothing" when you "Unload" a form. The programmer has to manually in code set "FormName = Nothing".&lt;br&gt;Here is my real problem. In my application I want my program to load forms in the modeless mode so I can continue to run program code while the forms are loaded. I need the modeless mode so I can write data to my forms. I have Form1 (modeless mode) loaded. I then load Form2 (modeless mode), followed by loading Form3 (modeless mode). When I close Form2 in the same subroutine as the one I "loaded Form3", ATEasy 6 unloads both Form2 &amp;amp; Form3! In my Form3 load subroutine I am in a "While(Form3 &amp;lt;&amp;gt; Nothing)/Endwhile" loop waiting for the Form3 object variable to get set to "Nothing" before exiting. But when ATEasy unloads the Form3, it does not set the Form3 variable to "Nothing". I am now stuck in an endless loop!&lt;br&gt;&lt;br&gt;Question: How do I prevent ATEasy from unloading my Forms when I do not want them unloaded? Once the FormName object is set to "Nothing" you cannot test for "FormName.hWnd = 0" because it gives you the "Run-time error #419: 'Objefct is null'".&lt;br&gt;Why can't I test for the windows handle after the form object is set to Nothing? Why should it matter! In my application it is form intensive. I cannot have ATEasy closing my forms, because I require operator input &amp;amp; periodic data updates that I cannot track. Also I do not want to have to write code to monitor my forms to make sure they are loaded &amp;amp; there data is up to date!&lt;br&gt;&lt;br&gt;&lt;br&gt;&lt;b&gt;By DrATEasy (Ron Y.) on 10/28/2009 9:35:05 AM&lt;/b&gt;&lt;br&gt;You should probably open a Magic incident for this.&lt;br&gt;&lt;br&gt;</description><link>https://www.marvintest.com/Forums/Thread.aspx?ID=78</link><pubDate>10/27/2009 11:33:23 AM</pubDate></item><item><title>Crash using an array of struct (.Net call) - Created on Monday, October 5, 2009</title><description>&lt;b&gt;By Abder on 10/5/2009 10:58:06 AM&lt;/b&gt;&lt;br&gt;I'm trying to retreive an array of struct from a .Net call. I'm using the following example&lt;br&gt;public  myClass&lt;br&gt;{  &lt;br&gt;&lt;br&gt;      public DuWord[] Processing ()&lt;br&gt;        {&lt;br&gt;           DuWord[] buffer = new DuWord[10];&lt;br&gt;&lt;br&gt;	   buffer[0].Data =1;    &lt;br&gt;	   buffer[1].Data =2;    &lt;br&gt;	   buffer[2].Data =3;    &lt;br&gt;	   &lt;br&gt;           return buffer;&lt;br&gt;        }&lt;br&gt;        public struct DuWord &lt;br&gt;        {&lt;br&gt;            public UInt32 Data;&lt;br&gt;            public UInt32 Label;&lt;br&gt;            public UInt32 Ident;&lt;br&gt;            public UInt32 TimeStamp;&lt;br&gt;        }&lt;br&gt;}&lt;br&gt;&lt;br&gt;ATEasy &lt;br&gt;&lt;br&gt;cls1= new myClass()&lt;br&gt;&lt;br&gt;cls1.Processing ()  &lt;br&gt;I have a crash with error Code #420 "Object method or property failed: the parameter is incorrect.&lt;br&gt;Could you please help me.&lt;br&gt;&lt;br&gt;&lt;br&gt;&lt;b&gt;By DrATEasy (Ron Y.) on 10/5/2009 3:10:41 PM&lt;/b&gt;&lt;br&gt;The problem is with the return type converted by .NET to a variant with VT_ARRAY or VT_RECORD - which is not standard variant type for return. Try to change the struct to class, I think it will work.&lt;br&gt;&lt;br&gt;Ronnie&lt;br&gt;&lt;br&gt;&lt;b&gt;By Yitzhak S. on 1/8/2019 9:47:18 PM&lt;/b&gt;&lt;br&gt;[Quote= DrATEasy (Ron Y.) wrote:
The problem is with the return type converted by .NET to a variant with VT_ARRAY or VT_RECORD - which is not standard variant type for return. Try to change the struct to class, I think it will work.

Ronnie =Quote]

Hi,
I have number of .Net (dll) that dependency one on another,  when I  made variable of one them (just make a new object) i received Run time error "#420 Object method of property failed..." , if I cant change the return type of the object. there is any solution?

(I am use ATEasy 7.0)

Tanks&lt;br&gt;&lt;br&gt;</description><link>https://www.marvintest.com/Forums/Thread.aspx?ID=76</link><pubDate>10/5/2009 10:58:06 AM</pubDate></item><item><title>How to display a plot with hi-low-area style? - Created on Thursday, September 24, 2009 (Solution Avaliable)</title><description>&lt;b&gt;By Artyom D. on 9/24/2009 11:22:05 AM&lt;/b&gt;&lt;br&gt;Hi,&lt;br&gt;I’d like to draw ADC signal within a day. Prior it I calculates averages, maxs &amp;amp; mins in time intervals. Looking over AChart styles I found out that more appropriate view for simultaneous representation of avgs, maxs &amp;amp; mins is a plot with hi-lo-area. So it looks like I need to invoke SetData using two dimension array for Y-values. Please give me an example of calling SetData?&lt;br&gt;Thank you,&lt;br&gt;Artyom&lt;br&gt;&lt;br&gt;&lt;br&gt;&lt;b&gt;By Victor B. on 9/25/2009 9:35:33 AM&lt;/b&gt;&lt;br&gt;Hi Artyom,&lt;br&gt;&lt;br&gt;Since I don't know where you are in your program, I will start from the beginning.  To simulate your situation, I created a form with an AChart with the 'Style' type set to 'Hi-Lo Area'.&lt;br&gt;&lt;br&gt;I created the variable i (type long) and the variables adMinMax[2][100] and adTime[100] (both type Double) and then initialized the variables:&lt;br&gt;&lt;br&gt;for i=0 to 99 do&lt;br&gt;	adMinMax[0][i] = 15 + (i mod 4)&lt;br&gt;	adMinMax[1][i] = 30 - (i mod 7)&lt;br&gt;	adTime[i]=i&lt;br&gt;next&lt;br&gt;&lt;br&gt;To populate the chart, I used the commands:&lt;br&gt;&lt;br&gt;cht1.SetData("Plot1" ,adMinMax[0], adTime, , , False)&lt;br&gt;cht1.SetData("Plot1" ,adMinMax[1], adTime, , , False)&lt;br&gt;&lt;br&gt;Each command draws a line of x-y data to Plot1.  Once both lines are drawn, the area between will be shaded in.&lt;br&gt;&lt;br&gt;Regards,&lt;br&gt;Victor Brode&lt;br&gt;&lt;br&gt;&lt;b&gt;By Artyom D. on 10/5/2009 7:31:55 AM&lt;/b&gt;&lt;br&gt;Hi, Victor,&lt;br&gt;Sorry for the delay in answering.  I’ve tested the code you supplied and it works fine. I’ve also found out that in order to draw the middle values (averages) on one plot I should call appropriate SetData first. After that SetData with maxs &amp;amp; mins can be invoked. Last question:  I change color of overlying area (relatively to middle values) using FillToBaseColor property of a plot. Is there a way to fill underlying area that always has white color?&lt;br&gt;Thank you,&lt;br&gt;Artyom&lt;br&gt;&lt;br&gt;&lt;br&gt;&lt;b&gt;By Victor B. on 10/6/2009 10:03:30 AM&lt;/b&gt;&lt;br&gt;Hi Artyom,&lt;br&gt;&lt;br&gt;The underlying area color is a fixed color.  If you want to set both of the colors, you can create two plots on your chart and SetData for Min values first and Averages second on one Plot.  Then SetData for Averages first and Max values second on the second plot.&lt;br&gt;&lt;br&gt;cht1.SetData("Plot1",adMin, adTime, , , False)&lt;br&gt;cht1.SetData("Plot1",adAverage, adTime, , , False)&lt;br&gt;&lt;br&gt;cht1.SetData("Plot2",adAverage, adTime, , , False)&lt;br&gt;cht1.SetData("Plot2",adMax, adTime, , , False)&lt;br&gt;&lt;br&gt;cht1.Plots("Plot1").FillToBase=True&lt;br&gt;cht1.Plots("Plot2").FillToBase=True&lt;br&gt;cht1.Plots("Plot1").FillToBaseColor=aclrRed&lt;br&gt;cht1.Plots("Plot2").FillToBaseColor=aclrYellow&lt;br&gt;&lt;br&gt;Regards,&lt;br&gt;Victor Brode (Geotest)&lt;br&gt;&lt;br&gt;</description><link>https://www.marvintest.com/Forums/Thread.aspx?ID=75</link><pubDate>9/24/2009 11:22:05 AM</pubDate></item><item><title>How to display several plots on the AChart with DateTime values (and labels) on X-axis? - Created on Monday, September 21, 2009 (Solution Avaliable)</title><description>&lt;b&gt;By Artyom D. on 9/21/2009 6:58:14 AM&lt;/b&gt;&lt;br&gt;Hi,&lt;br&gt;I’d like to show how ADC inputs changed during some time interval. Could you please direct me the way working  with AChart . There are too few examples in the help.&lt;br&gt;Thank you&lt;br&gt;Artyom&lt;br&gt;&lt;br&gt;&lt;br&gt;&lt;b&gt;By Victor B. on 9/21/2009 9:49:29 AM&lt;/b&gt;&lt;br&gt;Hi Artyom,&lt;br&gt;&lt;br&gt;There is an example of working with AChart in the ATEasy Getting Started manual which is available for download on our webpage.  &lt;br&gt;&lt;br&gt;In addition, you can find more examples in Forms.prj.  Upon opening ATEasy, click the Examples tab in the startup window.  Navigate to and open Forms.prj.  In this project, you will want to look at the ChartForm object which contains several examples of applying data to an AChart.&lt;br&gt;&lt;br&gt;Regards,&lt;br&gt;Victor Brode&lt;br&gt;&lt;br&gt;</description><link>https://www.marvintest.com/Forums/Thread.aspx?ID=73</link><pubDate>9/21/2009 6:58:14 AM</pubDate></item><item><title>How to put external control on AForm? - Created on Thursday, September 17, 2009 (Solution Avaliable)</title><description>&lt;b&gt;By Artyom D. on 9/17/2009 5:52:32 AM&lt;/b&gt;&lt;br&gt;Hi,&lt;br&gt;I’m interesting is there a way to put an external control onto AForm object which is ATEasy native form. I saw in examples that AButton can be added to the form dynamically.  Can I perform the same by example with CheckedListBox from .NET System.Windows.Form class?&lt;br&gt;Thank you,&lt;br&gt;Artyom&lt;br&gt;&lt;br&gt;&lt;br&gt;&lt;b&gt;By DrATEasy (Ron Y.) on 9/17/2009 1:41:33 PM&lt;/b&gt;&lt;br&gt;ATEasy currently support only  ActiveX controls /(see Insert Library form from the Insert menu). .NET controls can be added to the form but only at run time. In any case, CheckListBox is built into ATEasy - just use the AListBox and set the CheckBoxes property to True.  &lt;br&gt;&lt;br&gt;Ronnie&lt;br&gt;&lt;br&gt;&lt;b&gt;By Artyom D. on 9/24/2009 6:16:37 AM&lt;/b&gt;&lt;br&gt;Hi,&lt;br&gt;By the way the help knows nothing about ItemCheck property…&lt;br&gt;Regards&lt;br&gt;Artyom&lt;br&gt;&lt;br&gt;&lt;br&gt;&lt;b&gt;By DrATEasy (Ron Y.) on 9/24/2009 9:02:14 AM&lt;/b&gt;&lt;br&gt;You mean AListBox.CheckBoxes. It's in the help under AListBox under the Contents tab however from some reason not in the Index tab... We will add that in the next build...Thanks.&lt;br&gt;&lt;br&gt;</description><link>https://www.marvintest.com/Forums/Thread.aspx?ID=70</link><pubDate>9/17/2009 5:52:32 AM</pubDate></item><item><title>Test and Task Pseudonames (ID) - Created on Thursday, September 3, 2009</title><description>&lt;b&gt;By Larry S. on 9/3/2009 12:53:12 PM&lt;/b&gt;&lt;br&gt;Woriking in ATEasy 6.  Each test and task is assigned a psuedoname ( ID in the test/task properties box) initially named by ATEasy. Is there any way to easily view all these pseudonames at once?  I know you could add all tests, test-by-test to a profile and view them there, but that can be time consuming.&lt;br&gt;&lt;br&gt;&lt;b&gt;By DrATEasy (Ron Y.) on 9/3/2009 1:49:54 PM&lt;/b&gt;&lt;br&gt;If you empty the test/task id from the properties window. ATEasy will recreate it. The best way to do mass changes for ID is edit you program in text format and replace test/task id. To edit in text format right click on the program shortcut and select "Edit in Text Format", then make you changes and click Save and close the editor. ATEasy will reload the modified program. If you like to see all the tests id and other properties, you can loop on the Program.Tests() and print all of the test id, name etc.&lt;br&gt;&lt;br&gt;Ronnie&lt;br&gt;&lt;br&gt;&lt;b&gt;By Larry S. on 9/3/2009 2:15:41 PM&lt;/b&gt;&lt;br&gt;Thank you for your prompt response.&lt;br&gt;&lt;br&gt;It would be really nice if that information were to be visible where the other Test/Task info is in that center information bar so you could just arrrow down test by test and view the Name vs. the Id fairly quickly and be able to stay in the IDE. &lt;br&gt;&lt;br&gt;</description><link>https://www.marvintest.com/Forums/Thread.aspx?ID=69</link><pubDate>9/3/2009 12:53:12 PM</pubDate></item><item><title>MsgBox Color - Created on Wednesday, September 2, 2009</title><description>&lt;b&gt;By Curtis S. on 9/2/2009 5:42:57 AM&lt;/b&gt;&lt;br&gt;Is there any way to change the color of a Message Box?  I would like to use color to allow an operator to differentiate between two separate test fixtures.&lt;br&gt;&lt;br&gt;&lt;b&gt;By DrATEasy (Ron Y.) on 9/2/2009 9:18:11 AM&lt;/b&gt;&lt;br&gt;You cannot change the colorof the internal library MsgBox(). &lt;br&gt;You can use the TestExec.drv display such a form. There is an example for the testexec message box in the TestExec.Prj example. To see it open the example and open Test 1.1 in UUT1 program. You should see the following code:&lt;br&gt;&lt;br&gt;	TestExec Utility MessageBox("MessageBox", aMsgOk, "Test Exec Message Box example")&lt;br&gt;	! test exec message box&lt;br&gt;&lt;br&gt;	! test exec modless message box example while test is running&lt;br&gt;	TestExec Utility Message Display("Performing Test... Please Wait...", "Test Exec Message Display (modeless message box example)", 20000)&lt;br&gt;	! set back colors to red&lt;br&gt;	TestExec.m_frmMessage.BackColor=aclrRed&lt;br&gt;	TestExec.m_frmMessage.lblMessage.BackColor=aclrRed&lt;br&gt;&lt;br&gt;Ronnie&lt;br&gt;&lt;br&gt;</description><link>https://www.marvintest.com/Forums/Thread.aspx?ID=68</link><pubDate>9/2/2009 5:42:57 AM</pubDate></item><item><title>Getting RunProfile success data - ATEasy 6 - Created on Monday, August 24, 2009 (Solution Avaliable)</title><description>&lt;b&gt;By Larry S. on 8/24/2009 10:43:32 AM&lt;/b&gt;&lt;br&gt;RunProfile gives you no feedback as to whether the file or profile name was found.  It Returns if either internal variables sFile or sProfile are = "".  Is there any way to confirm success?&lt;br&gt;&lt;br&gt;&lt;b&gt;By DrATEasy (Ron Y.) on 8/24/2009 12:18:50 PM&lt;/b&gt;&lt;br&gt;Normally if the call was success the function does not return and it will start to run the profile. So:&lt;br&gt;&lt;br&gt;TestExec Run Profile ...&lt;br&gt;! if we got here profile loading failed...&lt;br&gt;&lt;br&gt;Ronnie&lt;br&gt;&lt;br&gt;&lt;b&gt;By Larry S. on 8/24/2009 2:23:10 PM&lt;/b&gt;&lt;br&gt;Thanks - I'll build a trap for it.&lt;br&gt;&lt;br&gt;</description><link>https://www.marvintest.com/Forums/Thread.aspx?ID=66</link><pubDate>8/24/2009 10:43:32 AM</pubDate></item><item><title>byte to float conversion - Created on Thursday, August 13, 2009 (Solution Avaliable)</title><description>&lt;b&gt;By  on 8/13/2009 9:40:50 AM&lt;/b&gt;&lt;br&gt;Is there a way to convert 4 bytes of raw data (byte array, string...) into a float?  Tried using a variant and VarChangeType but that does not seem to work properly.  Trying to avoid having to chop up the data and recalculate the floating point value from the standard.  Could make a dll in C but it should be possible using the ATE functions.&lt;br&gt;&lt;br&gt;Any suggestions would be appreciated. &lt;br&gt;&lt;br&gt;Thanks&lt;br&gt;Ryan&lt;br&gt;&lt;br&gt;&lt;b&gt;By Albert Q. on 8/13/2009 10:13:27 AM&lt;/b&gt;&lt;br&gt;What is the content of the array or string? Is it a integer or a float? Can you provide example?&lt;br&gt;&lt;br&gt;Thanks,&lt;br&gt;Albert&lt;br&gt;&lt;br&gt;&lt;b&gt;By  on 8/13/2009 10:48:10 AM&lt;/b&gt;&lt;br&gt;I am streaming data over a serial line from a controller.  The data is the raw representation of the floating point data on the controller. &lt;br&gt;So if I send a floating point "1" out of the controller, I would get a "0x3F800000" (according to IEEE-754)  so that can be read into either an array of 4 bytes, or a string or whatever I need to put it in.  I just need a native way of converting that raw data into the original floating point number.&lt;br&gt;&lt;br&gt;In C you can do a memcopy(), or in C++...&lt;br&gt;floatingData = reinterpret_cast&amp;lt;float&amp;amp;&amp;gt;(*rawDataArray);&lt;br&gt;&lt;br&gt;Thanks for the response&lt;br&gt;&lt;br&gt;&lt;b&gt;By Albert Q. on 8/13/2009 10:55:21 AM&lt;/b&gt;&lt;br&gt;Use MemoryCopy to copy the raw data to a variable of type FLOAT:&lt;br&gt;&lt;br&gt;For example,&lt;br&gt;&lt;br&gt;f : Float&lt;br&gt;auc[ ] : Byte&lt;br&gt;&lt;br&gt;MemoryCopy(&amp;amp;f, &amp;amp;auc[0], sizeof FLOAT)&lt;br&gt;&lt;br&gt;Regards,&lt;br&gt;Albert&lt;br&gt; &lt;br&gt;&lt;br&gt;&lt;br&gt;&lt;b&gt;By  on 8/13/2009 11:16:47 AM&lt;/b&gt;&lt;br&gt;Thank you so much, that did it, for some reason I just could not find that command in the help file.&lt;br&gt;&lt;br&gt;</description><link>https://www.marvintest.com/Forums/Thread.aspx?ID=64</link><pubDate>8/13/2009 9:40:50 AM</pubDate></item><item><title>ATEasy supported on Windows 7 - Created on Monday, July 13, 2009 (Solution Avaliable)</title><description>&lt;b&gt;By Kevin E. on 7/13/2009 9:34:10 AM&lt;/b&gt;&lt;br&gt;At what point will ATEasy be supported on Windows 7?&lt;br&gt;&lt;br&gt;&lt;b&gt;By DrATEasy (Ron Y.) on 9/24/2009 9:29:59 AM&lt;/b&gt;&lt;br&gt;We have tested ATEasy under Windows 7 and it is approved for use under Windows 7 (32 bit). In the next build there will several changes to the examples so they will work better with Windows 7 (because of some security changes in 7) - but other than that everything should work.&lt;br&gt;&lt;br&gt;Ronnie&lt;br&gt;&lt;br&gt;&lt;b&gt;By DoubleM (Moti M.) on 2/13/2013 4:48:05 AM&lt;/b&gt;&lt;br&gt;1. "In the next build ..." - you didn&amp;#39;t mention what build you referred to.&lt;br&gt;2. are you going to support 64 bits also ?&lt;br&gt;&lt;br&gt;&lt;b&gt;By DrATEasy (Ron Y.) on 2/13/2013 9:39:08 AM&lt;/b&gt;&lt;br&gt;v7 142c. v8 146.&lt;br&gt;&lt;br&gt;64 bit Windows is supported in version 8.&lt;br&gt;&lt;br&gt;</description><link>https://www.marvintest.com/Forums/Thread.aspx?ID=62</link><pubDate>7/13/2009 9:34:10 AM</pubDate></item><item><title>Structure for FileGetStatus must be incorrect - Created on Monday, June 22, 2009 (Solution Avaliable)</title><description>&lt;b&gt;By Michael W. on 6/22/2009 6:12:29 AM&lt;/b&gt;&lt;br&gt;In the Help, under the FileGetStatus procedure, there is a structure mapped out.  I created this structure in my program, but I get a Compiler Error #611:  Type of argument is not the same as type of Var parameter 'pstFileStatus' in procedure 'Internal.FileGetStatus'.  Please see the PDF I have attached for the details.  What am I doing wrong?  Thanks.&lt;br&gt;&lt;br&gt;&lt;b&gt;By DrATEasy (Ron Y.) on 6/22/2009 9:27:54 AM&lt;/b&gt;&lt;br&gt;structFileSTatus is defined in the Internal library under Types. You do not need to the define it in your program, just use the type defined in the internal library.&lt;br&gt;&lt;br&gt;&lt;br&gt;</description><link>https://www.marvintest.com/Forums/Thread.aspx?ID=60</link><pubDate>6/22/2009 6:12:29 AM</pubDate></item><item><title>Silent (Automated) Setup doesn't work for me - Created on Monday, June 8, 2009</title><description>&lt;b&gt;By Michael W. on 6/8/2009 6:05:49 AM&lt;/b&gt;&lt;br&gt;I am trying to perform a "silent mode" installation of ATEasy that is intiated by a batch file.  I tried ATEasy7 /s /SetupType"Run-Time" but it did not install anything.  If I change the command to ATEasy7 /SetupType"Run-Time", it works; but of course it requires user intervention to answer six questions, which I don't want.  I've also tried: &lt;br&gt;Start ATEasy7.exe /s /SetupType"Run-Time"&lt;br&gt;Start ATEasy7.exe /s /SetupType"Run-Time" /TargetDir"C:\Progra~1\ATEasy" &lt;br&gt;ATEasy7.exe /s /SetupType"Run-Time" /TargetDir"C:\Progra~1\ATEasy"&lt;br&gt;ATEasy7 /s&lt;br&gt;Does "silent mode" really work or am I doing something wrong?&lt;br&gt;&lt;br&gt;&lt;b&gt;By Amit G. on 6/8/2009 11:46:36 AM&lt;/b&gt;&lt;br&gt;We are looking into this and will get back to you shortly.&lt;br&gt;&lt;br&gt;&lt;b&gt;By DrATEasy (Ron Y.) on 6/8/2009 5:12:37 PM&lt;/b&gt;&lt;br&gt;Here is how to solve it for now. We will fix it in the next build:&lt;br&gt;&lt;br&gt;1. Copy the attached file setup.iss to the folder where you have the ATEasy setup (ATEasy7.exe)&lt;br&gt;2. Run the setup as follows:&lt;br&gt;&lt;br&gt;ATEasy7 /SetupType"Run-Time" /app1"setup.iss"&lt;br&gt;&lt;br&gt;&lt;br&gt;&lt;br&gt;&lt;b&gt;By DrATEasy (Ron Y.) on 6/8/2009 5:14:25 PM&lt;/b&gt;&lt;br&gt;Command line for 2 is actually:&lt;br&gt;&lt;br&gt;ATEasy7 /s /f1"setup.iss" /SetupType"Run-Time" &lt;br&gt;&lt;br&gt;&lt;b&gt;By DrATEasy (Ron Y.) on 6/8/2009 5:14:35 PM&lt;/b&gt;&lt;br&gt;Command line for 2 is actually:&lt;br&gt;&lt;br&gt;ATEasy7 /s /f1"setup.iss" /SetupType"Run-Time" &lt;br&gt;&lt;br&gt;&lt;b&gt;By  on 6/9/2009 7:00:53 AM&lt;/b&gt;&lt;br&gt;It still doesn't install the ATEasy run-time files.  I have the line ATEasy7 /s /f1"setup.iss" /SetupType"Run-Time" in a batch file.  The setup.iss file is in the same folder as ATEasy7.exe.  &lt;br&gt;&lt;br&gt;&lt;b&gt;By Albert Q. on 6/9/2009 9:18:11 AM&lt;/b&gt;&lt;br&gt;Please make sure that setup.iss is reside in the same folder as ATEasy7.exe and then enter the following command line in the batch file:&lt;br&gt;ATEasy7 /s /f1"\setup.iss" /SetupType"Run-Time"  &lt;br&gt;&lt;br&gt;&lt;b&gt;By Michael W. on 6/9/2009 10:20:07 AM&lt;/b&gt;&lt;br&gt;As I stated in my previous post, the setup.iss file is in the same folder as the ATEasy7.exe file.  I noticed in Albert's command line, unlike Ronnie's, there is a backslash before setup.iss.  So I tried it, but it didn't work either.  Still wasting time...&lt;br&gt;&lt;br&gt;&lt;b&gt;By Albert Q. on 6/9/2009 2:06:33 PM&lt;/b&gt;&lt;br&gt;I missed the dot '.' in front of "\setup.iss". The command line should be as follow :&lt;br&gt;&lt;br&gt;ATEasy7 /s /f1".\setup.iss" /SetupType"Run-Time"     &lt;br&gt;&lt;br&gt;Please note that in my test, all the files are resided in the same folder.&lt;br&gt; &lt;br&gt;&lt;br&gt;&lt;br&gt;&lt;b&gt;By Michael W. on 6/10/2009 5:36:34 AM&lt;/b&gt;&lt;br&gt;Now that works!&lt;br&gt;Yes, I have the batch file in the root directory and a sub directory that contains the setup.iss and ATEasy7.exe files.&lt;br&gt;Thanks for getting this working.&lt;br&gt;&lt;br&gt;</description><link>https://www.marvintest.com/Forums/Thread.aspx?ID=58</link><pubDate>6/8/2009 6:05:49 AM</pubDate></item><item><title>Using version 6 and version 7 simultaneously - Created on Thursday, May 28, 2009 (Solution Avaliable)</title><description>&lt;b&gt;By Kevin E. on 5/28/2009 8:18:23 AM&lt;/b&gt;&lt;br&gt;I'm supporting an existing project using version and I'll also be doing new development using version 7.  Can both versions exist on the same system?  Also, can the runtime support running executables from either version?&lt;br&gt;&lt;br&gt;&lt;b&gt;By DrATEasy (Ron Y.) on 5/28/2009 8:45:53 AM&lt;/b&gt;&lt;br&gt;Take a look at the following KBase article http://www.marvintest.com/knowledgebase/kbarticle.aspx?id=101 it explain how to have multiple version of ATEasy in the same computer. In any case, the run time of 7.x can be used to run 6.x executables.&lt;br&gt;&lt;br&gt;</description><link>https://www.marvintest.com/Forums/Thread.aspx?ID=57</link><pubDate>5/28/2009 8:18:23 AM</pubDate></item><item><title>How work with DeviceIOControl function in ATEasy - Created on Tuesday, April 28, 2009 (Solution Avaliable)</title><description>&lt;b&gt;By Roman M. on 4/28/2009 7:18:02 AM&lt;/b&gt;&lt;br&gt;Hello.&lt;br&gt;I have PCI module controled by DeviceIOControl function (see attachments). I want to make the driver for this module in ATEasy. How do you want me to do it?&lt;br&gt;&lt;br&gt;Drv2K_PCI429_DSPDeviceInterface.h  - include class GUID&lt;br&gt;Drv2K_PCI429_DSPioctl.h – include definition of command&lt;br&gt;ArincPCI_DSP.h – defination of macros&lt;br&gt;OpenDeviceBySN.cpp - include function for open driver&lt;br&gt;&lt;br&gt;Thank you in advance.&lt;br&gt;&lt;br&gt;&lt;b&gt;By Amit G. on 4/28/2009 8:28:16 AM&lt;/b&gt;&lt;br&gt;Roman,&lt;br&gt;&lt;br&gt;You should be able to insert the Kernel32.dll into your ATEasy driver (libraries sub module) to access the Windows functions necessary to open a device file and call DeviceIOControl (simliar to the code in OpenDeviceBySn.cpp). I will reply shortly with more information regarding this.&lt;br&gt;&lt;br&gt;&lt;b&gt;By  on 4/29/2009 4:48:22 AM&lt;/b&gt;&lt;br&gt;Ok. It's clear, thank you. But is it possible to import automatically contents of  ArincPCI_DSP.h file or I need to type this manually?&lt;br&gt;And one more question: I don't now how to describe in ATEasy GUID class (from Drv2K_PCI429_DSPDeviceInterface.h ). Can you help?&lt;br&gt;&lt;br&gt;</description><link>https://www.marvintest.com/Forums/Thread.aspx?ID=55</link><pubDate>4/28/2009 7:18:02 AM</pubDate></item><item><title>Use of ATEasy and Ballard Technology Copilot Software - Created on Wednesday, February 4, 2009</title><description>&lt;b&gt;By Guy B. on 2/4/2009 4:12:19 AM&lt;/b&gt;&lt;br&gt;Do you know if somebody has already integrated the use of Ballard Technology Copilot Software suite within Ateasy 7.0. Are both compatible? Thank you for your reply. Best Regards. G. Berwart&lt;br&gt;&lt;br&gt;&lt;b&gt;By Amit G. on 2/4/2009 9:06:59 AM&lt;/b&gt;&lt;br&gt;I am not aware of any customer specifically using the Copilot suite (although it might have happend without me knowing) with ATEasy but it is possible. Copilot supports OLE Automation through a COM interface. This means that ATEasy can import the Copilot active X object and control the operation of Copilot externally. You will be able to instantiate objects in ATEasy that will allow Copilot functionality in your ATEasy test code.&lt;br&gt;&lt;br&gt;</description><link>https://www.marvintest.com/Forums/Thread.aspx?ID=52</link><pubDate>2/4/2009 4:12:19 AM</pubDate></item><item><title>Need ATEasy 7 License - Created on Thursday, January 15, 2009 (Solution Avaliable)</title><description>&lt;b&gt;By Michael W. on 1/15/2009 8:02:33 AM&lt;/b&gt;&lt;br&gt;I need a license for ATEasy 7 please.&lt;br&gt;&lt;br&gt;&lt;b&gt;By DrATEasy (Ron Y.) on 1/15/2009 8:36:18 AM&lt;/b&gt;&lt;br&gt;Please use Magic for licensing issues...&lt;br&gt;&lt;br&gt;&lt;b&gt;By Michael W. on 1/15/2009 8:37:41 AM&lt;/b&gt;&lt;br&gt;I tried, but M@GIC wasn't working, so I figured you were taking it down in favor of the Forums.&lt;br&gt;&lt;br&gt;&lt;b&gt;By DrATEasy (Ron Y.) on 1/15/2009 8:39:40 AM&lt;/b&gt;&lt;br&gt;Magic is now running over secure connection ( https ). Maybe you had old link. Try the following:&lt;br&gt;&lt;br&gt;https://www.marvintest.com/Magic/Default.aspx&lt;br&gt;&lt;br&gt;&lt;br&gt;&lt;b&gt;By Michael W. on 1/15/2009 8:48:53 AM&lt;/b&gt;&lt;br&gt;The link on your home webpage is incorrect.  It show http, not https.  Same goes for the link on the 'Contact Us' webpage.&lt;br&gt;&lt;br&gt;&lt;b&gt;By DrATEasy (Ron Y.) on 1/15/2009 8:55:02 AM&lt;/b&gt;&lt;br&gt;Where do you click? I try all the home page links and they all seems to work.&lt;br&gt;&lt;br&gt;&lt;b&gt;By Michael W. on 1/15/2009 9:07:22 AM&lt;/b&gt;&lt;br&gt;See the red arrow of where I am clicking and then also note the web address that comes up at the bottom of the screen.&lt;br&gt;&lt;br&gt;&lt;b&gt;By DrATEasy (Ron Y.) on 1/15/2009 9:24:48 AM&lt;/b&gt;&lt;br&gt;OK. I see it. Try now should work. Thanks...&lt;br&gt;&lt;br&gt;&lt;b&gt;By Michael W. on 1/15/2009 9:29:14 AM&lt;/b&gt;&lt;br&gt;doesn't work...still looks like the screen shot&lt;br&gt;&lt;br&gt;&lt;b&gt;By DrATEasy (Ron Y.) on 1/15/2009 9:33:32 AM&lt;/b&gt;&lt;br&gt;I tried from external computer and it works. Try to close the browser maybe it cached. The problem was the firewall blooked https. I saw magic incident just came in.&lt;br&gt;&lt;br&gt;&lt;b&gt;By Michael W. on 1/15/2009 9:43:10 AM&lt;/b&gt;&lt;br&gt;I've been closing the browser.  I tried to clear the cache, but it still doesn't work.  If I'm the only one that is affected, then don't worry about it.&lt;br&gt;&lt;br&gt;</description><link>https://www.marvintest.com/Forums/Thread.aspx?ID=49</link><pubDate>1/15/2009 8:02:33 AM</pubDate></item><item><title>Handling a Click Event on a System Tray Icon - Created on Tuesday, January 13, 2009 (Solution Avaliable)</title><description>&lt;b&gt;By Michael W. on 1/13/2009 6:42:20 AM&lt;/b&gt;&lt;br&gt;I have some simple code that puts an icon in the System Tray.&lt;br&gt;&lt;br&gt;	nIcon = new NotifyIcon()&lt;br&gt;	nIcon.Icon = new System_Drawing.Icon(sIconLocation)&lt;br&gt;	nIcon.Text = sHoverText&lt;br&gt;	nIcon.Visible = True&lt;br&gt;&lt;br&gt;When the user right clicks or double clicks on the icon, nothing currently happens.  How do I incorporate these click events into my code?  Thanks&lt;br&gt;&lt;br&gt;&lt;b&gt;By Amit G. on 1/13/2009 9:47:59 AM&lt;/b&gt;&lt;br&gt;I have attached a sample program to this incident demonstrating the use of the NotifyIcon .NET class along with its OnClick Event. A .NET event can be linked to an ATEasy procedure by using the following code:&lt;br&gt;&lt;br&gt;AddHandler nIcon.OnClick, OnClickEvent&lt;br&gt;&lt;br&gt;In this case, OnClickEvent is an ATEasy procedure.&lt;br&gt;&lt;br&gt;You can modify the example code (attached to this thread) to link other events such as OnDoubleClick.&lt;br&gt;&lt;br&gt;&lt;b&gt;By Michael W. on 1/13/2009 10:40:14 AM&lt;/b&gt;&lt;br&gt;That works.  Thanks!&lt;br&gt;&lt;br&gt;&lt;b&gt;By Michael W. on 7/7/2009 11:49:43 AM&lt;/b&gt;&lt;br&gt;At the time, this worked.  But ever since getting .NET Framework updates, it doesn't work.  Try running the SystemIcon program now.  When you click on the icon, you will get the attached error.  I currently have .NET Framework 3.5 SP1 installed on Win XP Pro Ver 2002 SP3.  Can you please help to fix it.  I can't seem to make any sense out of it.  Thanks.&lt;br&gt;&lt;br&gt;&lt;b&gt;By Amit G. on 7/8/2009 10:11:49 AM&lt;/b&gt;&lt;br&gt;What version and build of ATEasy are you using? I have Vista installed with .NET 3.5 SP1 and the SystemIcon ATEasy example works fine for me. Are you able to use other .NET classes? Can you step through the SystemIcon code and find the exact line that causes the error you experience?&lt;br&gt;&lt;br&gt;&lt;b&gt;By Michael W. on 7/13/2009 5:54:24 AM&lt;/b&gt;&lt;br&gt;I am using ATEasy 7, Build 142b.  It's not a line of code that is causing the problem; it happens when I click on the icon that is put in the System Tray.  I put a breakpoint on the first line of the OnClickEvent() procedure, but it doesn't break there.  I get the error instead.  I ran the program on 3 computers (all Win XP Pro with .NET 3.5 SP1) and I get the same error on all of them.  We don't have any computers running Vista so I can't try the program on Vista.  Try it on a Win XP computer please.&lt;br&gt;&lt;br&gt;&lt;b&gt;By Amit G. on 7/13/2009 10:15:09 AM&lt;/b&gt;&lt;br&gt;We are able to replicate the issue on WinXP and Vista when the Icon is clicked. This appears to be an issue with some change in .NET 3.5 and the way we implement the AddHandler ATEasy statement. We will get back to you regarding a solution.&lt;br&gt;&lt;br&gt;&lt;b&gt;By Amit G. on 7/14/2009 9:39:28 AM&lt;/b&gt;&lt;br&gt;We have a fix for this issue and it will be included in the next build/version of ATEasy. &lt;br&gt;&lt;br&gt;.NET 3.5 changed the way events were assigned to handlers. You can work around this issue by uninstalling .NET 3.5 and use 3.0 instead.&lt;br&gt;&lt;br&gt;Or you could create your own .NET assembly wrapper that deals with the NotifyIcon OnClick event and calls your ATEasy procedure (pass in an ATEasy procedure as a delegate parameter). An example of this can be found in the ATEasy DotNet example project in the "CallBack" test.&lt;br&gt;&lt;br&gt;&lt;b&gt;By Michael W. on 7/15/2009 5:36:35 AM&lt;/b&gt;&lt;br&gt;Uninstalling .NET 3.5 from 50+ computers is impractical and I don't have the time to create my own .NET assembly wrapper.  So, when is the next build/version coming out?  By the way, you may want to run the DotNet example project--Test 1.5 failed.&lt;br&gt;&lt;br&gt;&lt;b&gt;By Amit G. on 7/15/2009 9:22:05 AM&lt;/b&gt;&lt;br&gt;We can provide you with an updated ATEasy in 1-2 weeks. We will make an official release after that.&lt;br&gt;&lt;br&gt;</description><link>https://www.marvintest.com/Forums/Thread.aspx?ID=48</link><pubDate>1/13/2009 6:42:20 AM</pubDate></item><item><title>Nominate ATEasy to receive a Test and Measurement magazine award... - Created on Monday, December 29, 2008</title><description>&lt;b&gt;By DrATEasy (Ron Y.) on 12/29/2008 2:42:40 PM&lt;/b&gt;&lt;br&gt;If you like ATEasy, please nominate it for the Test of Time Award which honors a test, measurement, or inspection product that has provided state-of-the-art service for at least five years after its introduction.  Please use the following link: http://www.tmworld.com/article/ca6620004.html or directly using http://www.tmworld.com/survey.asp?layout=survey&amp;amp;survey_id=1210001521 and complete the online ballot.   &lt;br&gt;&lt;br&gt;</description><link>https://www.marvintest.com/Forums/Thread.aspx?ID=31</link><pubDate>12/29/2008 2:42:40 PM</pubDate></item><item><title>How do I encrypt passwords for other applications - Created on Tuesday, December 23, 2008 (Solution Avaliable)</title><description>&lt;b&gt;By Michael W. on 12/23/2008 10:07:05 AM&lt;/b&gt;&lt;br&gt;I am using ATEasy to launch other applications that we use every day.  These applications ask for a username and password, which is most likely different than what is used for ATEasy.  I would like to have the user type in the password once and then I would store it in an encrypted file.  How do I do that?&lt;br&gt;&lt;br&gt;&lt;b&gt;By Amit G. on 12/23/2008 10:22:00 AM&lt;/b&gt;&lt;br&gt;You can store encrypted data within an ATEasy driver (.drv file). &lt;br&gt;&lt;br&gt;To do this follow these steps:&lt;br&gt;&lt;br&gt;1. Create a new driver and select "Use File Encryption" under the Sharing tab of the Driver's properties. &lt;br&gt;&lt;br&gt;2. Right Click on the driver icon (NOT the driver shortcut) and select "Insert folder below" and save the driver file&lt;br&gt;&lt;br&gt;3. Now you can access the Driver.MiscFolder.Tag property to get and set passwords and usernames. You can create driver module procedures for setting and getting data from this property. The Tag property is of type variant so you can store an array of strings, structures etc. that represent the usernames/passwords that you wish to store. Once you have assigned data to the Tag field, it will be stored within the .Drv file in an encrypted format.&lt;br&gt;&lt;br&gt;&lt;b&gt;By DrATEasy (Ron Y.) on 12/23/2008 10:47:57 AM&lt;/b&gt;&lt;br&gt;If you like to store the file in external file you can also can use .the  ProtectedData .NET class.&lt;br&gt;&lt;br&gt;The following link has an example for similar problem:&lt;br&gt;&lt;br&gt;http://msdn.microsoft.com/en-us/library/ms229741.aspx&lt;br&gt;&lt;br&gt;&lt;br&gt;&lt;br&gt;&lt;b&gt;By Michael W. on 1/5/2009 12:25:09 PM&lt;/b&gt;&lt;br&gt;Amit's solution doesn't work for me unless I am missing something.  I programmatically assigned a simple string to the Driver.MiscFolder.Tag property and then exited ATEasy.  When I restarted ATEasy, the Driver.MiscFolder.Tag property was empty.  The only way the Tag is saved to the driver file is to type in the Tag text box.&lt;br&gt;&lt;br&gt;&lt;b&gt;By Amit G. on 1/5/2009 4:40:18 PM&lt;/b&gt;&lt;br&gt;Try using the following code:&lt;br&gt;&lt;br&gt;Users.Login("Administrator","password123")&lt;br&gt;Users.CurrentUser.Tag = myVar&lt;br&gt;&lt;br&gt;Now if you close ATEasy and reopen it, the value of Users.CurrentUser.Tag should be saved. The Tag member is a variant so you can store any object or structure. The user data (stored in the Users variable of type AUsers) is stored using encryption. In the example above, I logged into the Administrator account with the password "password123", but this should work for any account you have defined in ATEasy. By default the Administrator account has no password (so you would use "" as the password)&lt;br&gt;&lt;br&gt;If you are using the above code and want to protect any ATEasy passwords that you may use in your code (with the Users.Login method), you can encrypt your Program, System, or Driver file as well as require a password to view the code within them by setting an access password in the properties dialog box under the "Sharing" tab with the "Read" option selected under the Access drop down menu.&lt;br&gt;&lt;br&gt;&lt;br&gt;&lt;b&gt;By Michael W. on 1/6/2009 8:20:17 AM&lt;/b&gt;&lt;br&gt;Amit, I'm sorry, but your method just won't work for my situation.  I think my best bet is Ron's suggestion.  Ron, can you please supply some ATEasy code to get me rolling?  I would greatly appreciate it.&lt;br&gt;&lt;br&gt;&lt;b&gt;By Amit G. on 1/6/2009 1:14:52 PM&lt;/b&gt;&lt;br&gt;Michael, &lt;br&gt;I have attached an example ATEasy project and program that uses the Rijndael algorithm to encrypt data to a file. The example then reads the file and decrypt its contents. The password you use when decrypting the file must be the same one used when encrypting it. &lt;br&gt;&lt;br&gt;&lt;b&gt;By Amit G. on 1/6/2009 1:33:36 PM&lt;/b&gt;&lt;br&gt;The above example can also be slightly modified to use the TripleDES algorithm (instead of Rijndael AES) if desired.&lt;br&gt;&lt;br&gt;&lt;b&gt;By Michael W. on 1/13/2009 5:08:51 AM&lt;/b&gt;&lt;br&gt;The example code works great.  Thanks!&lt;br&gt;&lt;br&gt;</description><link>https://www.marvintest.com/Forums/Thread.aspx?ID=30</link><pubDate>12/23/2008 10:07:05 AM</pubDate></item><item><title>Hello and Welcome! - Created on Wednesday, December 10, 2008 (Solution Avaliable)</title><description>&lt;b&gt;By DrATEasy (Ron Y.) on 12/10/2008 1:54:41 PM&lt;/b&gt;&lt;br&gt;Please use this user forum to ask or answer questions and communicate with other users regarding ATEasy. You can also upload files or examples that relate to your post.&lt;br&gt;&lt;br&gt;Thanks,&lt;br&gt;Ron Yazma (Geotest)&lt;br&gt;&lt;br&gt;</description><link>https://www.marvintest.com/Forums/Thread.aspx?ID=24</link><pubDate>12/10/2008 1:54:41 PM</pubDate></item></channel></rss>