Level Extreme platform
Subscription
Corporate profile
Products & Services
Support
Legal
Français
Skipping and dups when printing fillable pdfs
Message
 
 
To
24/03/2010 14:58:10
General information
Forum:
Visual FoxPro
Category:
Reports & Report designer
Environment versions
Visual FoxPro:
VFP 9 SP2
OS:
Windows XP SP2
Network:
Windows 2000 Server
Database:
Visual FoxPro
Application:
Desktop
Miscellaneous
Thread ID:
01456159
Message ID:
01457031
Views:
74
Debra,

Please read all replies in this thread and in particular Crhistof's reply to me on this same question.
Re: Skipping and dups when printing fillable pdfs Thread #1456159 Message #1456894

>Thank you so much.
>How do I say, print myfile.xfdf?
>
>lcmyfile = myfile.xfdf
>m.tcCmdLine = 'Print ' + lcmyfile
>
>lnOK = CreateProcess(NULL, m.tcCmdLine, 0, 0, 1, 0x20, NULL, NULL, @lcStartupInfo, @lcProcessInfo)
>
>This doesn't seem to be working...........
>
>
>
>
>
>>Hi Debra,
>>
>>if your application should wait for the called program to finish, then ShellExecute is the wrong function for this. The following program executes a command line, waits for the program to finish and returns the exit code:
>>
>>*========================================================================================
>>* Executes another application, waits for it to complete and returns the error level
>>*========================================================================================
>>LParameter tcCmdLine
>>
>>	*--------------------------------------------------------------------------------------
>>	* API declarations
>>	*--------------------------------------------------------------------------------------
>>	DECLARE INTEGER CreateProcess IN kernel32.DLL ;
>>		String lpApplicationName, ;
>>		STRING lpCommandLine, ;
>>		INTEGER lpProcessAttributes, ;
>>		INTEGER lpThreadAttributes, ;
>>		INTEGER bInheritHandles, ;
>>		INTEGER dwCreationFlags, ;
>>		String lpEnvironment, ;
>>		String lpCurrentDirectory, ;
>>		STRING @lpStartupInfo, ;
>>		STRING @lpProcessInformation
>>	Declare long GetLastError in Win32API
>>
>>	*--------------------------------------------------------------------------------------
>>	* Launch the application
>>	*--------------------------------------------------------------------------------------
>>	Local lcStartupInfo, lcProcessInfo, lnOK
>>	lcStartupInfo = ;
>>		BINTOC(68,"RS") + ;
>>		Replicate(Chr(0),40) + ;
>>		BinToC(1,"RS") + ;
>>		BinToC(0,"2RS") + ; && SW_HIDE
>>		BinToC(0,"2RS") + ;
>>		Replicate(Chr(0),16)
>>	lcProcessInfo = Replicate(Chr(0),16)
>>	lnOK = CreateProcess( ;
>>		NULL, ;
>>		m.tcCmdLine, ;
>>		0, ;
>>		0, ;
>>		1, ;
>>		0x20, ;
>>		NULL, ;
>>		NULL, ;
>>		@lcStartupInfo, ;
>>		@lcProcessInfo ;
>>	)
>>
>>	*--------------------------------------------------------------------------------------
>>	* Extract the handles from the PROCESSINFO structure
>>	*--------------------------------------------------------------------------------------
>>	Local lnProcessHandle, lnThreadHandle
>>	If m.lnOK == 0
>>		Return -1
>>	Else
>>		lnProcessHandle = CTOBIN(Substr(m.lcProcessInfo,1,4),"RS")
>>		lnThreadHandle = CTOBIN(Substr(m.lcProcessInfo,5,4),"RS")
>>	EndIf 
>>
>>	*--------------------------------------------------------------------------------------
>>	* Wait for the process to terminate
>>	*--------------------------------------------------------------------------------------
>>	Declare Long WaitForSingleObject in Win32API Long, Long
>>	WaitForSingleObject( m.lnProcessHandle, -1 )
>>	
>>	*--------------------------------------------------------------------------------------
>>	* Get the error code
>>	*--------------------------------------------------------------------------------------
>>	Local lnExitCode
>>	lnExitCode = -1
>>	Declare Long GetExitCodeProcess in Win32API ;
>>	  Long hProcess, ;
>>  	Long @lpExitCode
>>	GetExitCodeProcess( m.lnProcessHandle, @lnExitCode )
>>
>>	*--------------------------------------------------------------------------------------
>>	* Close handles
>>	*--------------------------------------------------------------------------------------
>>	Declare CloseHandle in Win32API Long
>>	CloseHandle( m.lnProcessHandle )
>>	CloseHandle( m.lnThreadHandle )
>>
>>Return m.lnExitCode
>>
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