What's new in versions 2.1.0 - 2.1.9

QM 2.1.9 beta (September 29, 2006)

Exact version 2.1.9.1

 

Summary: Can create exe files from macros. Several new functions and new options in existing functions. Different dialog procedure.

  1. Make exe. Can create standalone programs from macros and functions.
  2. New directives: #out, #warning, #error, #exe. More options in #opt (nowarnings).
  3. New functions: Http.PostFormData.
  4. New predefined variables and constants.
  5. More options in: ShowDialog (icon, menu, hot keys, resources), dll (delay-loading), out (clear), scan (handle, resource), LogFile, IntGetFile (callback function), Http.FileGet (callback function), Http.GetUrl (callback function), Curtain (returns window handle), dir and Dir.dir (finds drives).
  6. Several new dll functions exported by qm.exe.
  7. In dialog procedure now it is not necessary to call DT_Init and other DT_x functions.
  8. File triggers more reliable. Fixed 2.1.9.0 bug with network folders.
  9. Changed End-macro hot key behavior.
  10. Other enhancements and bug fixes.

QM 2.1.8 (June 15, 2006)

Exact version 2.1.8.8

  1. New trigger type - QM events. Special items now are included as QM events triggers, and removed from Options.
  2. New trigger type - file. For Windows 2000/XP and later.
  3. New trigger type - event log. For Windows 2000/XP and later.
  4. New trigger type - process. For Windows 2000/XP and later.
  5. New trigger type - accessible object.
  6. User-defined triggers now can be added to the Properties dialog.
  7. Better integration with the Task Scheduler.
  8. Added option to temporarily unlock computer to run the macro in normal conditions.
  9. All trigger settings now are included in the trigger string.
  10. All toolbar options now can be set in Properties. Added new toolbar options to set background picture and transparency.
  11. New option for functions: Allow single instance.
  12. New functions: Speak, SpeekStop, OnScreenDisplay, RunTextAsFunction2, Curtain, SetFileTimes, GetClipboardFiles, VbsExec2, AutoPassword, RunAs, Acc.ObjectFromEvent, ExcelSheet.Save, Database class, several new dll functions exported by qm.exe.
  13. More options in: IntPost, Http.Post, MouseWheel, ExcelSheet.Init, FE_ExcelRow, BrowseForFolder, RegWinClass, ShowDialog (x, y), ShutDownProcess, str.encrypt, str.decrypt.
  14. Works better: wait for web page (web, wait). Previously, with some multiframe pages, did not wait for all frames.
  15. Works better: _error. Now it is properly populated in functions registered by atend.
  16. Works better: calling nondeclared COM functions. This also makes working with WMI easier.
  17. Works better: now dialogs with DS_SETFOREGROUND style are really activated, regardless of system settings and other conditions.
  18. Works better: _setevents.
  19. New dialogs: Get file info, Enter password.
  20. Dialogs, toolbars, str.setclip and str.setsel now support image files of bmp, jpg and gif type.
  21. In menus can be used icon handles.
  22. Timer functions (tim) now run in new thread each time.
  23. Redesigned Properties and Options dialogs.
  24. The command line parameter E now always causes to exit QM, even if an error occurs.
  25. Now passwords that are passed to functions can be encrypted. All QM functions that accept password now support encrypted passwords.
  26. New help topic about user-defined functions.
  27. Other enhancements and bug fixes.

QM 2.1.7 (Jun 14, 2005)

  1. Integrated help: Tips for beginners, and function help on F1. Reassigned F1 and F2 hot keys, and unassigned F3.
  2. New functions and classes: scan (find image on screen), perf (get time in microseconds), matchw (compare strings using wildcard characters), class Htm (wraps html element functions; it also includes mouse actions and enhanced selecting of combo box items), class ExcelSheet (get/set cell values), functions FE_ExcelRow (get cell values), GetAttr, SetAttr (file attributes), and several other.
  3. Several qm internal functions now also are exported as dll functions.
  4. More options in: wait (wait for image on screen), opt (slowmouse, slowkeys), ref (declare identifiers on demand but always see them in the main popup list), web (get window handle, use *), sel (use *), ShowText (rich text).
  5. Work better: wait for CPU on Windows 20000/XP and later (eliminated first-time delay and high memory consumption).
  6. Toolbars: menu -> Quick Icons. Other performance enhancements. Toolbar option /bsiz (max button size).
  7. QM runs in safe mode if F8 is pressed when starting.
  8. You can change My QM folder path. It is where your default macro list file and various other files used in QM are stored.
  9. Command line: you can specify some other character to use instead of ".
  10. Wildcard characters: functions and triggers, where * can be used, now also support ?.
  11. Dialogs: now you can use graphical ActiveX controls, including the web browser control.
  12. COM event fuctions: simpler access to the event-source object.
  13. New help topic about using COM components.
  14. Thread variables: no more "invalid pointer" errors, because the declaration statement now may be skipped during the run time. If there is a constructor, now it runs at the beginning, not where the variable is declared.
  15. Type libraries: now are supported names containing invalid characters.
  16. Various small enhancements and bug fixes.

QM 2.1.6 (Mar 17, 2005)

  1. Quick Start topic.
  2. New commands: deb (set debug mode), net (run macro on other computer).
  3. Easier network setup.
  4. Command line parameter N (wait for a network file).
  5. Improved menu recording. Toolbar menu item Record Menus.
  6. Toolbar option /lock.

QM 2.1.5 (Feb 2, 2005)

  1. New functions: htm (replaces HtmlFind), web (open web page; replaces IeNavigate), more Internet functions (connect, disconnect, get/set offline mode, download, http post, functions and classes for sending and retrieving email), mkdir (replaces MkDir), inpp (replaces Password), zip (compress/extract files), ref (add reference file), str.wrap, ARRAY.remove, ShellDialog (Run, Shut Down and other dialogs), Play (play audio files) and several other user-defined functions.
  2. More options in: wait (wait for color, cursor, web page, and more), str.escape (urlencode), str.encrypt/decrypt (various algorithms), findrx (get n-th submatch), acc (wait), typelib (load on demand), foreach (without VARIANT), call (function name as string), shutdown (softly end current thread), qmitem (datemod), str.expandpath (env. var.), Tray functions, Ftp.Cmd ("write" commands), ChDir (autorestore), toolbars (all virtual desktops).
  3. Work better: act (activate next window), ArrangeWindows 0 (show desktop), ShowText (removed 64 KB limitation), rget (supports REG_EXPAND_SZ), new Internet functions.
  4. The following commands can also be used as functions (variable=function(...)): min, max, res, hid, ont, men, dis, spe, opt.
  5. Type-info: declared several useful type libraries - Wsh (Windows Script Host), Shell32, Services, etc, and reference file WINAPI containing Windows declarations (type WINAPI. and select from list).
  6. Embedding multiline strings without escaping.
  7. Menus, toolbars, TS menus: can be used escape sequences.
  8. You can selectively disable key, mouse, window and command line triggers.
  9. Disabled items don't run from command line triggers (shortcut, scheduler, etc). Also, special items now also don't run if file is disabled.
  10. Menu Edit -> Copy BBCode. Copies colored code for the QM forum.
  11. File viewer. Makes importing and undeleting easier and safer.
  12. Spam filter. Checks email and deletes spam.
  13. QM extensions now are better protected from initialization failures. In Options, added 'Extensions: always use' checkbox and 'Check extensions' button. The System folder now is read-only.
  14. Items in read-only folders cannot be modified in any way. Previously, read-only was only text. The 'Properties' dialog now is always accessible (even if macro is encrypted), but properties cannot be changed if macro is in read-only folder.
  15. Now, variables can be used in all fields of dialogs from the floating toolbar. Instead of using 'Variable' checkbox, enclose variables into parentheses. This is necessary only for string fields, and must not be used where there is 'Variable' checkbox.
  16. More dialogs, more options in existing dialogs.
  17. New command-line parameter MS allows you to execute functions synchronously.
  18. When exporting, you can set allowed file-open methods (open, import, use as shared file).
  19. New setup program.
  20. QM now works better on computers with multiple user accounts. QM now is installed for all user accounts. The default place where QM now saves various files is the My QM folder in My Documents (previously - QM folder), that is, separate files for each user. Some files are moved from QM folder to My QM folder.
  21. My Macros window. View all triggers in one list.
  22. Menu File -> Sort.
  23. Windows XP visual styles (themes) applied. Possible problems
    In user-defined dialogs (created in QM Dialog Editor), lines become invisible. To make them visible, replace them to Static controls with SS_ETCHEDHORZ or SS_ETCHEDVERT style. To do it quickly, use Find dialog. Check Regexp. In first edit field enter ^( \d+ )Button 0x\d+7 0x\d+( .+ ""\r\n). In second edit field enter $1Static 0x54000010 0x20004$2 (for horizontal lines) or $1Static 0x54000011 0x20004$2 (for vertical lines). Replace all found lines in dialog definitions.

     

Note: after upgrading to 2.1.5 version, many settings are reset to defaults, like after installing first time.

QM 2.1.4 (Jun 27, 2004)

  1. Recording: improved reliability; can use variables.
  2. More options in act, opt, getopt and win.
  3. Changed behavior of end in callback function.
  4. Functions from System shared folder now have higher priority.
  5. Removed all triggers from the System folder.
  6. Toolbar startup options: better parsing; can be used functions.
  7. Better support for drag and drop in toolbars. You can drop QM items, Internet links, multiple files and virtual folders/objects.
  8. Fixed several bugs.

QM 2.1.3 (May 30, 2004)

  1. More dialogs, more options in existing dialogs.
  2. Added support for multiple monitors. This includes mouse commands, mouse triggers and toolbars.
  3. More options in key triggers (next key), mouse triggers (X buttons, window parts), window triggers and TS menus. Window trigger coding is changed. Window triggers now are more reliable.
  4. New commands and functions: foreach, str.setmacro and several new functions in System\Functions folder.
  5. More features in: sel-case, key, newitem, child, but, list, mes, run, rget rset, str.fix, ARRAY.redim, ArrangeWindows, Dialog Editor and toolbar options.
  6. In window triggers and all functions that search for window or other object by name (win, child, acc, HtmlFind), flag "Exact" is replaced to "Use *". Behavior is the same, unless string contains *, or if "Exact" was used together with "Regexp.".
  7. Regular expressions: $ now matches either newline, or carriage return and newline.
  8. Fixed several bugs.

QM 2.1.2 (Feb 24, 2004)

Main new features: now QM can recognize much more types of user interface objects, including html elements in web pages (e.g., links), and programmatically interact with them.

  1. Now you can work with accessible objects. Accessible objects are user interface objects contained in a window: controls, menus, links, list items, etc. New features include functions acc, acctest (find/test accessible object), Acc class (manipulate accessible object), "Find accessible object" and "Accessible object actions" dialogs.
  2. Now you can work with html elements in web page (links, buttons, text input fields, etc). New features include function HtmlFind (find html element), related functions, "Find html element" and "Html element actions" dialogs.
  3. New classes: Acc, Tray (add tray icon).
  4. More features in: interface, str.getsel, str.setsel, opt, err, spe, case, mac, newitem, Dialog Editor, toolbars, toolbar startup options.
  5. Now err and opt statements can handle exceptions.
  6. Now formatting functions don't produce "(null)" when string variable isn't initialized.
  7. Fixed bugs in: iif (when used as argument with some functions), qmitem, menu/toolbar icons, and several other.

QM 2.1.1 (Jan 03, 2004)

  1. Changed Help file format.
  2. Now you can copy QM text in HTML format.
  3. New classes: Dir (find and enumerate files, get file info).
  4. More features in Replace dialog (regexp menu, query saving), run (get exit code).
  5. Fixed bugs in: end (in callback), str.getclip (unknown format causes exception), deleting dublicate function (other function becomes unknown), GetFileInfo (wildcards), IeNavigate (hwnd=3).

QM 2.1.0 (Dec 17, 2003)

Main new features: COM support, classes, categories, safe arrays, thread variables, type-info popups (members, globals), regular expressions, trigger scope for folder, new and extended functions. Below is complete list.

  1. Now QM supports COM, OLE Automation variable types and type libraries.
  2. Better type info.
  3. New functions: str.replace, str.findreplace, str.expandpath, str.encrypt, str.decrypt, getopt, numlines, newitem, #err, ChDir, CurDir, RunTextAsMacro, RunFileAsMacro, IeNavigate, IeWait, functions to execute VBScript and JScript code, shutdown, findrx, str.replacerx, #set.
  4. More options in: dll, function, type, end, atend, run, cop, ren, del, mac, wait, tok, #opt, #if, #compile, str.time, str.from, val and TS menus.
  5. Deleted functions: float (now use FLOAT type).
  6. More strict type checking. Use operator +.
  7. Now user-defined and dll functions can have declared parameters and return values of any type. Parameters can be structures passed by value.
  8. Now menu/toolbar items of "statements" type are executed as functions therefore can run while macro is running.
  9. Safe arrays.
  10. COM events.
  11. A hot key to end macro can be specified in Options.
  12. Folder and file properties: "Scope" (scope of triggers), "Application" (private functions, variables, etc.), "Read-only items", "Disabled items" and other.
  13. New variable scopes: thread variables (function-private and shared).
  14. New dialog: Navigate in Internet Explorer (open URL, Back, Stop, etc).
  15. Better error handling. See #err and _error.
  16. Regular expressions.
  17. New topic in Help: COM collections.
  18. Removed "Strict type checking" from Options (now always strict). Use operator +.
  19. Changed: now you always must use struct.member syntax to access first member of structure, unless structure has single member.
  20. State data of functions dir, findt, findl, str.gett and str.getl now has local scope (was thread scope). Each function stores it in separate local variable: _dir, _findt, _findl, _gett and _getl.
  21. Classes and categories.
  22. New classes: File, Ftp, Http, Dde.
  23. Functions and classes are collected into categories.
  24. Memory-allocation functions _new, _resize, _delete and _len.
  25. Mouse triggers: "Slow" option.
  26. Fixed bugs in tok, tim, findrx, str.replacerx, str.from, bee+, CB_SelectString functions, "import", "insert encrypted text" features and more.
  27. Fixed bugs in long numbers, break, err+.
  28. Other bug-fixes and enhancements.