![]() |
![]() |
![]() |
X-Setup Pro SDKTips & TricksBackupsIf you are replacing a file, you should always create a backup. This backup should have the extension "XSB" because files with this extension are displayed as "Xteq Systems X-Setup Backup File". Simple use the FileBackup() function. DebuggingWhen you click a plugin inside X-Setup Pro, it is always loaded from disc. This way, a normal debuging-session works like this:
RefreshIf you change the UI Path of your plugin or if you are creating a new plugin while X-Setup Pro is running, X-Setup Pro will not display the new plugin or display an incorrect UI Path. In this case, press the F5 key inside X-Setup Pro or select "Refresh all" from the "File" menu. Plugin infoIt's good practice to include the version of your plugin and a contact address in the comments. The version helps the user to determine which version is installed and the contact address helps us, because if no contact address is specified, every question about the plugin will be sent to Plugin/Wizard filenamePlease remember also to update the filename of the plugin or wizard you are creating. The default filename is XQ xxx.XPPL or XQ xxx.XPWZ but the XQ at the beginning is not mandatory. It simply stands for Xteq and helps the user to identify plugins/wizard from Xteq and other authors. For example, if your name is John E. Smith you can name your files JES xxx.XPPL or JES xxx.XPWZ . Record ModeThe new "Record Mode" of X-Setup Pro does not affect your plugin development in any way. Since X-Setup Pro is between the plugin and the registry, it can intercept any calls and write the *.REG file on the fly. No extra work needed! Nice ha? Logoff / RestartX-Setup Pro supports both Restart() and Logoff() commands. Because this might lead to confusion what X-Setup Pro displays when both functions have been called, here's the entire listing what happens:
Internal CacheSome people have asked us how the internal X-Setup Pro cache works, so here's the description: Every time XSET receives the command "Read all plugins", it queries the internal IPlugins interface. This interface then reads the configured plugin directory and enumerates all available *.XPL files in this folder. During this enumeration, XSET adds the timestamp of every file to an internal buffer; for example, it XSET finds a file that has a timestamp of 1999/01/01 00:00:10 AM, it will add 10 to this internal buffer. If the enumeration is finished, XSET uses the current plugin directory, the current Windows version and this internal buffer to create the current cache value. For example, if the plugin directory is "C:\XSET\PLUGS", the Windows version is "3" and the internal timestamp buffer is "1932", the resulting cache value will be "C:\XSET\PLUGS * 3 * 1932". Now XSET opens the cache (if any) and reads the first line where the cache value is stored from this file - this value is then compared with the current cache value (from the enumeration). If they match 100%, then the cache is loaded and used. If they don't match, XSET reads every XPL file and generates the cache again. |
|