Plateforme Level Extreme
Abonnement
Profil corporatif
Produits & Services
Support
Légal
English
Using CreateProcess repeatedly
Message
Information générale
Forum:
Visual FoxPro
Catégorie:
Fonctions Windows API
Divers
Thread ID:
00504932
Message ID:
00504982
Vues:
18
>I am running a VFP 6.0 EXE on a Windows 2000 Workstation. This program converts TIF files to PDF by calling a 32-bit DOS application called c42pdf.exe. We have thousands of TIF files to convert. So, I created the VFP program to repeatedly call c42pdf.exe to convert each TIF file. The program creates around 4000 PDF files per hour and steadily decreases every hour. If I terminate the program and start it up, it resumes the same pattern of decreasing work per hour.
>
>The code for the program is scattered across different methods. I can supply it if it is helpful. Here is basically what I do:
>
>1) Use FCREATE() to create an input file, and close it with FCLOSE().
>2) Call Win32 CreateFile() to create a log file.
>3) Call Win32 CreateProcess() to call c42pdf.exe. Redirect standard error and output to the log file (step 2). Hide the DOS window by changing ShowWindow field in StartupInfo.
>4) Get process and thread IDs from ProcessInfo.
>5) Call Win32 WaitForSingleObject() to wait until process is complete.
>6) Call Win32 TerminateProcess() to end process.
>7) Call Win32 CloseHandle() to close thread, process, and log file (step 2).
>8) Use FOPEN() to open log file, FGETS() to read it, and FCLOSE() to close it.
>
>Do these steps sound reasonable? Are these some additional steps that might help?
>
>Thanks!

Tim,

Sorry, I mis-read your post (didn't see the DOS business). It looks right, but it sounds like there's a memory leak somewhere that's eating up resources. That would explain the diminishing speed.

I don't think that the WSH can help here unless a script file running under the console was used.
George

Ubi caritas et amor, deus ibi est
Précédent
Suivant
Répondre
Fil
Voir

Click here to load this message in the networking platform