﻿<?xml version="1.0" encoding="utf-8"?><?xml-stylesheet type=\'text/xsl\' href=\'rss.xsl\'?><rss version="2.0"><channel><title>Geotest - Forum: ATEasy General</title><link>http://www.geotestinc.com/Forums/mainForum.aspx?CatID=3</link><description>General threads on ATEasy programming, installation, etc.</description><item><title>How to run program with old edition runtime engine? - Created on Saturday, January 07, 2012</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.geotestinc.com/KnowledgeBase/KBSearchArticles.aspx?ID=101&amp;amp;task=go&amp;amp;search=ateasy+version&amp;amp;type=AND  and switch back to 8.0 when you use the 8.0 IDE.&lt;br&gt;&lt;br&gt;</description><link>http://www.geotestinc.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 (Solution Avaliable)</title><description>&lt;b&gt;By Steven F. 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 Steven F. 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>http://www.geotestinc.com/Forums/Thread.aspx?ID=178</link><pubDate>12/30/2011 1:44:33 PM</pubDate></item><item><title>Regexp - Created on Monday, December 05, 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>http://www.geotestinc.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>http://www.geotestinc.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 (Solution Avaliable)</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 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>http://www.geotestinc.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>http://www.geotestinc.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>http://www.geotestinc.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</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;</description><link>http://www.geotestinc.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>http://www.geotestinc.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 06, 2011</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>http://www.geotestinc.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>http://www.geotestinc.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>http://www.geotestinc.com/Forums/Thread.aspx?ID=156</link><pubDate>9/24/2011 5:01:26 AM</pubDate></item><item><title>suddenly vanish  - Created on Sunday, September 18, 2011</title><description>&lt;b&gt;By Moti M. on 9/18/2011 10:14:17 PM&lt;/b&gt;&lt;br&gt;We encountered several times with ATEasy application that suddenly vanish with the standard windows notification "We are sorry...". Is there a way to find out what really hapened at the crashing moment and what was the reason for it?&lt;br&gt;&lt;br&gt;&lt;b&gt;By DrATEasy (Ron Y.) on 9/26/2011 9:15:34 AM&lt;/b&gt;&lt;br&gt;You are using very old version of ATEasy (6  build 136b), try to upgrade to v8, the new version 8 displays the exact location of the crash in the windows event log (most times).&lt;br&gt;&lt;br&gt;</description><link>http://www.geotestinc.com/Forums/Thread.aspx?ID=155</link><pubDate>9/18/2011 10:14:17 PM</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>http://www.geotestinc.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>http://www.geotestinc.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.geotestinc.com/KnowledgeBase/KBSearchArticles.aspx?ID=197&amp;amp;task=go&amp;amp;search=organization&amp;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>http://www.geotestinc.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 09, 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>http://www.geotestinc.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 (Solution Avaliable)</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>http://www.geotestinc.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>http://www.geotestinc.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>http://www.geotestinc.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>http://www.geotestinc.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>http://www.geotestinc.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 08, 2011 (Solution Avaliable)</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>http://www.geotestinc.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 04, 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 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>http://www.geotestinc.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 01, 2011 (Solution Avaliable)</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>http://www.geotestinc.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>http://www.geotestinc.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>http://www.geotestinc.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>http://www.geotestinc.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 09, 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>http://www.geotestinc.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 07, 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>http://www.geotestinc.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 (Solution Avaliable)</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>http://www.geotestinc.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>http://www.geotestinc.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 (Solution Avaliable)</title><description>&lt;b&gt;By Steven F. 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.geotestinc.com/Downloads.aspx?Type=all&amp;amp;keywords=&amp;amp;filename=7.6.2&amp;amp;search=download&lt;br&gt;&lt;br&gt;Ronnie&lt;br&gt;&lt;br&gt;</description><link>http://www.geotestinc.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>http://www.geotestinc.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 05, 2011</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>http://www.geotestinc.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>http://www.geotestinc.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>http://www.geotestinc.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 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;</description><link>http://www.geotestinc.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 (Solution Avaliable)</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>http://www.geotestinc.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 (Solution Avaliable)</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>http://www.geotestinc.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>http://www.geotestinc.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.geotestinc.com/KnowledgeBase/KBSearchArticles.aspx?ID=188&amp;amp;task=go&amp;amp;search=footer&amp;amp;type=OR&lt;br&gt;http://www.geotestinc.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>http://www.geotestinc.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 02, 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>http://www.geotestinc.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 02, 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>http://www.geotestinc.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>http://www.geotestinc.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 06, 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>http://www.geotestinc.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>http://www.geotestinc.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 09, 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>http://www.geotestinc.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 02, 2010 (Solution Avaliable)</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.geotestinc.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>http://www.geotestinc.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>http://www.geotestinc.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 John M. 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>http://www.geotestinc.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 07, 2010</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>http://www.geotestinc.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</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>http://www.geotestinc.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;</description><link>http://www.geotestinc.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 09, 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;</description><link>http://www.geotestinc.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>http://www.geotestinc.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 (Solution Avaliable)</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;</description><link>http://www.geotestinc.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.geotestinc.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>http://www.geotestinc.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>http://www.geotestinc.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 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>http://www.geotestinc.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 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 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>http://www.geotestinc.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>http://www.geotestinc.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</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>http://www.geotestinc.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>http://www.geotestinc.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>http://www.geotestinc.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 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.geotestinc.com/Product.aspx?model=ATEasy&amp;amp;Tab=5&lt;br&gt;&lt;br&gt;&lt;br&gt;</description><link>http://www.geotestinc.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 03, 2009 (Solution Avaliable)</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>http://www.geotestinc.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>http://www.geotestinc.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>http://www.geotestinc.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>http://www.geotestinc.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 05, 2009 (Solution Avaliable)</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;</description><link>http://www.geotestinc.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>http://www.geotestinc.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>http://www.geotestinc.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>http://www.geotestinc.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 03, 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>http://www.geotestinc.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 02, 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>http://www.geotestinc.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>http://www.geotestinc.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 Ryan S. 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 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 Ryan S. 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 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 Ryan S. 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>http://www.geotestinc.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;</description><link>http://www.geotestinc.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>http://www.geotestinc.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 08, 2009 (Solution Avaliable)</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 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 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>http://www.geotestinc.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.geotestinc.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>http://www.geotestinc.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>http://www.geotestinc.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 04, 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>http://www.geotestinc.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</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.geotestinc.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>http://www.geotestinc.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>http://www.geotestinc.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>http://www.geotestinc.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>http://www.geotestinc.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>http://www.geotestinc.com/Forums/Thread.aspx?ID=24</link><pubDate>12/10/2008 1:54:41 PM</pubDate></item></channel></rss>
