[fpc-pascal] Ping problems - OS/X
waldo kitty
wkitty42 at windstream.net
Wed May 21 18:33:40 CEST 2014
On 5/21/2014 7:00 AM, Peter Brooks wrote:
> AStringList.LoadFromStream(Aprocess.Output);
> AStringList.LoadFromStream(AProcess.Stderr);
> AStringList.LoadFromStream(AProcess.Output);
[quote]
LoadFromStream loads the contents of Stream into the stringlist. Each line in
the stream (as marked by the end-of-line marker of the particular OS the
application runs on) becomes one string in the stringlist. This action replaces
the contents of the stringlist, it does not append the strings to the current
content.
[/quote]
those LoadFromStream calls are overwriting the contents of your stringlist...
note the last sentence in the above quote from
http://www.freepascal.org/docs-html/rtl/classes/tstrings.loadfromstream.html
you need to figure out how to run through your streams and AStringList.Add() the
entries to your stringlist
*OR*
you need to have another set of stringlists for those process outputs and then
use AStringList.AddStrings()
*OR*
you need to AStringList.Assign() another string list, print/save it,
AStringList.Assign() the next string list, print/save it and so on... as
LoadFromStream, Assign replaces the current contents of AStringList with the new
contents...
FWIW: if you are using the "improved example" on
http://wiki.freepascal.org/Executing_External_Programs then you should note that
it does state that it is flawed and that you should use the code in the next
example "reading large output" which waits till the end and then loads the
stream into the stringlist and then you can manipulate it from there...
--
NOTE: No off-list assistance is given without prior approval.
Please *keep mailing list traffic on the list* unless
private contact is specifically requested and granted.
More information about the fpc-pascal
mailing list