Level Extreme platform
Subscription
Corporate profile
Products & Services
Support
Legal
Français
VFP Closed immediately after build
Message
 
 
To
11/08/2008 13:30:03
General information
Forum:
Visual FoxPro
Category:
Other
Environment versions
Visual FoxPro:
VFP 9 SP2
OS:
Windows XP SP2
Database:
Visual FoxPro
Miscellaneous
Thread ID:
01338052
Message ID:
01338098
Views:
23
Ok, sounds like you have a problem with the project itself. Try to create a new project and just add your main program. Would it build OK?

>The strt code is below.
>
>Vfp closes after when I try to build.
>the VFP9.exe apered on windows task manager processes, I must to terminate it manually and to restore my project from backup (PJX memo damage).
>
>
>
**** start app ****
>local lerrorflag,cerror,cdatabase,nloop,nanswer,lfrmlogin,cdbcname,nlength,lcdefaultpath
>set procedure to sysproc additive
>oapp=createobject('clSystem')
>do header
>do declare
>oapp.startdir=sys(5)+curdir()
>
>**** open config.dbf
>select 0
>cerror=on("ERROR")
>on error lerrorflag=.t.
>use config shared
>on error &cerror.
>if lerrorflag=.t.
>	=messagebox("Cannot Open Config.dbf"+chr(13)+sys(5)+curdir(),0+16,oapp.msgtitle)
>	do footer
>	return
>endif
>**** open settings.dbf
>select 0
>cerror=on("ERROR")
>on error lerrorflag=.t.
>use settings shared
>on error &cerror.
>if lerrorflag=.t.
>	oapp.settingflag=.f.
>else
>	oapp.settingflag=.t.
>endif
>lerrorflag=.f.
>**** open database
>cdbcname=alltrim(config.datadir)+oapp.dbcname+".dbc"&&DY data base name:dyts.dbc
>nlength=len(oapp.dbcname)+4		&& add '.dbc'
>wait window "Open Database" nowait
>cerror=on("ERROR")
>on error lerrorflag=.t.
>_screen.visible=.t.
>cdatabase=alltrim(locfile(cdbcname,"dbc"))
>_screen.visible=.f.
>on error &cerror.
>if lerrorflag=.t.
>	wait clear
>	do footer
>	return
>endif
>if upper(right(cdatabase,nlength))<>upper(oapp.dbcname)+".DBC"
>	wait clear
>	=messagebox("Wrong Database!",0+16,oapp.msgtitle)
>	do footer
>	return
>endif
>wait clear
>cerror=on("ERROR")
>on error lerrorflag=.t.
>open database &cdatabase. shared
>on error &cerror.
>if lerrorflag=.t.
>	=messagebox("Cannot Open Database",0+16,oapp.msgtitle)
>	do footer
>	return
>endif
>if upper(left(cdatabase,len(cdatabase)-nlength))<>upper(alltrim(config.datadir))
>	replace config.datadir with left(cdatabase,len(cdatabase)-nlength)
>endif
>**** start application
>do form topform name topform linked
>
>read events
>if type("oApp")="O" and not isnull(oapp)	&& it might be helpful :)
>	do footer
>endif
>return
>
>
>define class clsystem as custom
>	version="3.1"
>	msgtitle="Main Company"
>	dbcname="maindata"
>	userid=''
>	errorind=0
>	quitflag=.f.
>	topform=.null.
>	frmlogin=.null.
>	startdir=""
>	debugflag=.f.
>	register1=.f.	&& for dynamic multi-object processes, sometimes can be object!
>	settingflag=.f.	&& for saving individual settings
>	frmsplash=.null.
>	blockmenu=.f.
>enddefine
>
>define class myheader as header		&& header for shipinvn.scx
>	fieldnumber=0
>	procedure rightclick
>		thisform.headerrightclick(this)
>	endproc
>enddefine
>
>
>
>
>function apishellexecute(m.lnhwnd, m.lcoperation, m.lcfile, m.lcparameters, m.lcdirectory, m.lnshowcmd)
>	declare integer ShellExecute in Shell32.dll as apiShellExecute ;
>		integer lnHwnd, ;
>		string lcOperation, ;
>		string lcFile, ;
>		string lcParameters, ;
>		string lcDirectory, ;
>		integer lnShowCmd
>	return apishellexecute(m.lnhwnd, m.lcoperation, m.lcfile, m.lcparameters, m.lcdirectory, m.lnshowcmd)
>endfunc
>
>
>
>**********************************sysproc
>
>
>procedure header
>	on error do errorhandler with program(),lineno(1)
>	clear
>	close data all
>	close tables all
>	set exclusive off
>	set escape on
>	set deleted on
>	set exact on
>	set confirm off
>	set near on
>	set multilocks on
>	set sysmenu to
>	set path to
>	set classlib to class1
>	set classlib to class2 additive
>	set reprocess to automatic
>	set collate to 'MACHINE'
>	set century off
>	set century to 19 rollover 15
>	=hidescreen()
>	_screen.caption="company"
>	_screen.icon="desktop.ico"
>	_screen.fontname="Arial"
>	_screen.fontsize=8
>	_screen.fontbold=.f.
>	_screen.themes=.f.
>	set status bar off
>	on shutdown do quitapp
>	on escape do escapekey
>	return
>endproc
>
>
>
>
>
>procedure footer
>	wait window 'Closing... Wait, Please!' nowait
>	close data all
>	close tables all
>	set escape on
>	set deleted off
>	set exact off
>	set multilocks off
>	set sysmenu to default
>	set path to
>	set classlib to
>	set exclusive on
>	set notify on
>	oapp.topform=.null.
>	oapp.register1=.null.
>	release all
>	=showscreen()
>	_screen.caption="Microsoft Visual Foxpro"
>	set status bar on
>	on shutdown
>	on key
>	on error
>	on escape
>	set procedure to
>	clear all
>	wait clear
>	set talk on
>	return
>endproc
>
>
>procedure escapekey
>	if type('oApp')<>'O' or isnull(oapp)
>		on shutdown
>		cancel
>		return
>	endif
>	if messagebox('Do You Really Want To Cancel Processing And Close The System?', ;
>			4+32,oapp.msgtitle)<>6
>		retry
>	endif
>	on shutdown
>	clear events
>	cancel
>	quit
>	return
>endproc
>
>
>
>
>function showscreen
>	_screen.left=0
>	_screen.windowstate=2
>	_screen.caption=""
>	_screen.visible=.t.
>	return
>endfunc
>
>
>function hidescreen
>	_screen.left=-2000
>	_screen.windowstate=2
>	_screen.caption=""
>	_screen.visible=.f.
>	return
>endfunc
>
>
>procedure showtable&&brow table for developer debug
>	lparameter calias
>	=showscreen()
>	select (calias)
>	browse
>	=hidescreen()
>	return
>endproc
>
>
>procedure quitapp&&stop event processing
>	on shutdown
>	if vartype(_screen.themesmanager)=="O"
>		_screen.removeobject("ThemesManager")
>	endif
>	if type('oApp')<>'O'
>		clear events
>		return
>	endif
>	if type('oApp.topform.tmrTop')=='O' and not isnull(oapp.topform.tmrtop)
>		oapp.topform.closemodalforms()
>		oapp.topform.tmrtop.enabled=.t.
>	else
>		oapp.quitflag=.t.
>		clear events
>	endif
>	return
>endproc
>
>
>
>
>procedure errorhandler
>	parameter cprogram,nline
>	local nanswer
>	local array aerrorinfo(7)
>	=aerror(aerrorinfo)
>	if used('syserror')
>		insert into syserror (userid,sysinfo,created,linenum,errornum,errormsg,progname) ;
>			values(oapp.userid,sys(0),datetime(),nline,aerrorinfo[1],aerrorinfo[2],cprogram)
>	endif
>	nanswer=messagebox("Application Error: "+aerrorinfo[2]+". Program "+cprogram+ ;
>		". Line "+alltrim(str(nline)),2+16,oapp.msgtitle)
>	do case
>		case nanswer=3	&& abort
>			oapp.errorind=1
>			do quitapp
>			on error
>			*	cancel
>		case nanswer=4	&& retry
>			retry
>		case nanswer=5	&& ignore
>			oapp.errorind=1
>	endcase
>	return
>endproc
>
>
>
>
>>>Help Please
>>>When I run build in my new project VFP Closed immediately
>>>even I use with "read events".
>>>
>>>Thanks
>>
>>Can you post your main program? Do you use forms in your application? Do you start with some modal form?
>>
>>BTW, do you mean VFP closes after you run your EXE or in the process of building the EXE (project)?
If it's not broken, fix it until it is.


My Blog
Previous
Next
Reply
Map
View

Click here to load this message in the networking platform