General ======= Delphi 7 support ---------------- This version adds support for Borland Delphi 7 Error with saving customized views ---------------------------------- A bug originating in the Orpheus toolkit, which Sleuth QA Suite uses, broke the ability to customize view layouts in Sleuth QA Suite 3.05. This has been fixed. CodeWatch ========= Added support for CreateILockBytesOnHGlobal ------------------------------------------- This version adds support for monitoring the OLE32 function CreateILockBytesOnHGlobal. Previous versions would incorrectly report global memory handle leaks when the mentioned function was used to release the handles. Parameters & Failures view not filtering correctly -------------------------------------------------- The 'No Arguments' view layout in the Parameters and Failures view would still show arguments. Fixed. StopWatch ========= Bug when deleting a session which was currently displayed --------------------------------------------------------- Loading two sessions for comparison and deleting one of them from the session list while the comparison was shown could cause run-time errors. This has been fixed. Missing session entries when opening a project from the welcome screen -------------------------------------------------------------------- When loading the previous project via the welcome dialog - as opposed to from the most-recently used list, or File | Open Project - previous session entries were not loaded. This has been fixed. AV on close when loading a primary session after a profile ---------------------------------------------------------- An access violation could occur during shutdown when a new primary session was loaded after a session had been run. This has been fixed. TestExec ======== New System.IsValidWindowHandle function --------------------------------------- A new function, IsValidWindowHandle, has been added to the built-in System object. It takes one argument, hWnd. The return value is True if the argument represents a valid window handle, False otherwise. Example of use: ... wh_Button := System.FindProcessChildWindowByClass(ProcessID, wh_Form1, 'BUTTON'); ... // some activity, which may destroy and recreates the control's handle ... if not System.IsValidWindowHandle(wh_Button) then wh_Button := System.FindProcessChildWindowByClass(ProcessID, wh_Form1, 'BUTTON'); Robot.LeftControlClick(wh_Button, 10, 10); Robot.Go; ...