home *** CD-ROM | disk | FTP | other *** search
/ QBasic & Borland Pascal & C / Delphi5.iso / C / BC_502 / SCRPTEXM.PAK / LOADLAST.SPP < prev    next >
Encoding:
Text File  |  1997-05-06  |  1.6 KB  |  60 lines

  1. //--------------------------------------------------------------------------
  2. // Object Scripting
  3. // Copyright (c) 1996, 1997 by Borland International, All Rights Reserved
  4. //
  5. // LOADLAST.SPP: Load Last Script. Loads the last-loaded script. Useful for
  6. //   frequently reloading a script under development (before it is assigned
  7. //   to a hot key, menu, or some other quick trigger).
  8. //
  9. // USE: Load script. Invoke loadlast() to load the previously loaded script.
  10. //   Note that a script must actually be loaded, not simply have one of its
  11. //   routines called, in order for it to become the last-loaded script.
  12. //
  13. // FILES: MSG.SPP
  14. //--------------------------------------------------------------------------
  15. print typeid(module());
  16.  
  17. //
  18. // IDE imports.
  19. //
  20. import scriptEngine;
  21.  
  22. //
  23. // Load support module(s).
  24. //
  25. if (!scriptEngine.IsLoaded("msg")) scriptEngine.Load("msg");
  26.  
  27. LastLoadedScr = NULL;  // Last module loaded.
  28.  
  29. loadlast()
  30. {
  31.   declare msg = new TMsg();
  32.  
  33.   // Load last-loaded script.
  34.   //
  35.   if (LastLoadedScr != NULL) {
  36.     if (!scriptEngine.Load(LastLoadedScr)) {
  37.       msg.Error("Could not load last-loaded script file " + LastLoadedScr);
  38.     }
  39.   }
  40. }
  41.  
  42. //
  43. // Track the last loaded script.
  44. //
  45. on scriptEngine:>Loaded(scrName)
  46. {
  47.   // Assign as last loaded if it's not this script.
  48.   //
  49.   declare sScript = new String(scrName);
  50.   sScript = sScript.Lower();
  51.   if (!sScript.Index("loadlast")) {
  52.     if (sScript.Index(".spx")) {
  53.       sScript.Text = sScript.SubString(0, sScript.Length - 1).Text + "p";
  54.     }
  55.     LastLoadedScr = sScript.Text;
  56.   }
  57.   return pass(scrName);
  58. }
  59.  
  60.