Level Extreme platform
Subscription
Corporate profile
Products & Services
Support
Legal
Français
Error Message
Message
From
10/11/2008 04:12:47
 
 
To
10/11/2008 03:09:16
General information
Forum:
Visual FoxPro
Category:
Troubleshooting
Title:
Environment versions
Visual FoxPro:
VFP 9 SP1
OS:
Windows XP SP2
Network:
Windows 2000 Server
Database:
Visual FoxPro
Miscellaneous
Thread ID:
01360842
Message ID:
01360848
Views:
10
I can show the main.prg through which is set as main: ( I think it is due to this )
On Shutdown do cleanup()

*-------------------------------------------
*--
*-- Runtime Mode Application Startup Program
*--
*-- Entry point for front-end application
*--
*-------------------------------------------

*-- Include
#INCLUDE foxpro.h	&& !!!@@@


*-- Clear all at first
CLEAR
CLEAR DLLS
RELEASE ALL EXTENDED
CLEAR ALL

PUBLIC DEBUGMODE  && TRUE when running within VFP, FALSE for standalone program
PUBLIC gcHomePath && Working directory
*Public True 
Public want_to_exit

*-- DECLARE DLL statements for the temporary directory
DECLARE INTEGER GetTempPath IN Win32API ;
  INTEGER nBufSize, STRING @lpszTemPath
PUBLIC gcTemPath  && Temporary directory

*-- DECLARE DLL statements for the copying an existing file to a new file
DECLARE INTEGER CopyFile IN Win32API ;
  STRING @lpExistingFileName, ;
  STRING @lpNewFileName, INTEGER bFailIfExists          

*-- DECLARE DLL statement for beeping
DECLARE INTEGER MessageBeep IN Win32API AS MsgBeep Integer sound

*-- Set up the path so we can instantiate the application object
IF SetPath()
  *-- Init startup and message loop
  *DO FORM MAIN

  *Do Form Golform
  Do Form loginform
  *READ EVENTS
  Release All 
  Clear All 
  Close All
ENDIF

*-- If inside VFP run Project Manager again
*!*	IF DEBUGMODE
*!*	  ACTIVATE WINDOW "Project Manager"
*!*	ENDIF

*-- Clear all at exit
CLEAR DLLS
RELEASE ALL EXTENDED
CLEAR ALL

*-- End of program
*--------------------------------------------

*--------------------------------------------
*-- Set path to application working directory
*--------------------------------------------
FUNCTION SetPath()
*-----------------

  LOCAL lcPath, lcBuffer
  LOCAL lnStart

  lcPath = SYS(16)                              && Where we were executed...
  lnStart = AT("\\", lcPath)

  IF lnStart = 0
    lnStart = AT(":", lcPath) - 1
  ENDIF

  IF lnStart > 0
    lcPath = SUBSTR(lcPath, lnStart)            && Derive program name
  ENDIF

  gcHomePath = LEFT(lcPath, RAT("\", lcPath))   && ... and path to it
  *gcHomePath = "d:\coolpos"

  *-- Change current directory to working...
  CD (gcHomePath)

  *-- If we are running MAIN.PRG directly, then
  *-- CD up to the parent directory
  IF RIGHT(lcPath, 3) = "FXP"
    *-- One level up
    CD ..

    *-- Assume we were run from VFP
    DEBUGMODE  = .T. &&TRUE

    *-- Make out path to INI file
    gcHomePath = LEFT(gcHomePath, RAT("\", gcHomePath, 2))

    *-- Ensure the project manager is closed
    DEACTIVATE WINDOW "Project Manager"
  ENDIF

  *-- Set all pathes
  SET DEFAULT TO (gcHomePath)
     SET PATH TO Classes, ;
	            Forms, ;
	            Includes, ;
	            Menus, ;
	            Pictures, ;
	            Graphics,;
	            Graphics\Bitmaps,;
	            Graphics\Pictures,;
	            Graphics\Pictures\Logo,;
	            Graphics\Pictures\Icons,;
	            Graphics\Pictures\World\Flags,;
	            Graphics\Pictures\World\Maps,;
	            Graphics\FormImage\formbase,;
	            Graphics\FormImage\formbutton\black,;
	            Graphics\FormImage\formbutton\blue,;
	            Graphics\FormImage\formbutton\Green,;
	            Graphics\FormImage\formbutton\General,;
	            Graphics\FormImage\formbutton\Red,;
	            Graphics\FormImage\formbutton\Yellow,;
	            Graphics\FormImage\formhead,;
	            Graphics\FormImage\formtheme,;
	            Progs, ;
	            Procs, ;
	            Data, ;
	            Scripts
  SET PROCEDURE TO Measure
  SET CLASSLIB  TO && !!!@@@

  *-- Temporary path
  lcBuffer = REPL(' ', 511) + CHR(0)
  lnStart  = GetTempPath(512, @lcBuffer)

  If lnStart > 0
    gcTemPath = LEFT(lcBuffer, lnStart)
  Else
    gcTemPath = gcHomePath
  Endif

  IF RIGHT(gcTemPath, 1) <> '\'
    gcTemPath = gcTemPath + '\'
  Endif

  Return .T. &&TRUE

Endfunc

Function cleanup
   *If want_to_exit
      Clear Events 
      Clear All 
      Release All 
      On Error 
      On Shutdown 
      If _vfp.StartMode = 0
         Return To Master 
      Else 
         Quit
      Endif 
   *Endif
Previous
Next
Reply
Map
View

Click here to load this message in the networking platform