Please provide a compilable program that demonstrates the problem.
Jonas



Create a myini.ini file containing :

[TEST] CMD_OK=echo 'Hello !' CMD_NOT_OK=mencoder dvb://M6 -sws 9 -of lavf -lavfopts format=mp4 -vf scale=480:320,dsize=480:320,harddup -ovc x264 -x264encopts bitrate=500:vbv_maxrate=1500:vbv_bufsize=2000:nocabac:me=umh:trellis=1:level_idc=30:global_header:threads=2:pass=1:turbo -oac faac -faacopts mpeg=4:object=2:br=160:raw -channels 2 -srate 48000 -o test.mp4


Then the program :

program Pb_TProcess_255;

uses Process, inifiles;

var
 Ini_File : TIniFile;
 CMD_OK, CMD_NOT_OK : ansistring;

// Read INI File
Procedure Read_Parameters_File;
begin
 Ini_File := TIniFile.Create('./myini.ini');

 with Ini_File do begin
   CMD_OK:=ReadString('TEST', 'CMD_OK', 'error');
   CMD_NOT_OK:=ReadString('TEST', 'CMD_NOT_OK', 'error');
       writeln;
   writeln(' CMD_OK : '+CMD_OK);
   writeln;
       writeln(' CMD_NOT_OK : '+CMD_NOT_OK);
       writeln;
 end;
end;

// Run an OS Command and *Wait* his Completion to Continue
procedure Run_Command_Wait(TheCommand : string); cdecl;
var
 AProcess: TProcess;
Begin
 AProcess := TProcess.Create(nil);
 AProcess.CommandLine := TheCommand;
 AProcess.Options := AProcess.Options+ [poWaitOnExit];
 AProcess.Execute;
 AProcess.Free;
end;

// Main Program
begin
 Read_Parameters_File;
   Run_Command_Wait(CMD_OK);
   writeln;
   Run_Command_Wait(CMD_NOT_OK);
end.


The first command runs OK but the 2nd one reports an error and shows the 255th character :

Hello !

MEncoder 2:1.0~rc2-0ubuntu17 (C) 2000-2007 MPlayer Team
CPU: Intel(R) Core(TM)2 CPU 6600 @ 2.40GHz (Family: 6, Model: 15, Stepping: 6)
CPUflags: Type: 6 MMX: 1 MMX2: 1 3DNow: 0 3DNow2: 0 SSE: 1 SSE2: 1
Compiled with runtime CPU detection.
-faaco is not an MEncoder option
Exiting... (error parsing command line)

THanks.
_______________________________________________
fpc-pascal maillist  -  fpc-pascal@lists.freepascal.org
http://lists.freepascal.org/mailman/listinfo/fpc-pascal

Reply via email to