DSiWin32 1.66
- Implemented DSiSetFileTime and DSiSetFileTimes.
- Implemented DSiDateTimeToFileTime.
- TDSiRegistry.ReadBinary, WriteBinary now use RawByteString for data buffer.
GpHugeF 6.05
- Added logging to TGpHugeFile[Stream].
GpStreams 1.39
- Added function CopyStreamEx accepting a TStreamProgressEvent.
GpStringHash 1.11
- TGpStringObjectHash.Find returns 'nil' in 'value' parameter if key is not found.
GpTextStream 1.10
- Implemented TGpTextMemoryStream, a TGpTextStream wrapped around a TMemoryStream.
Aren't this omnixml units?
ReplyDeleteIs this a fork (or the original?)
No, this is the original. OmniXML uses a copy of some of those units. As does OmniThreadLibrary.
ReplyDeleteAre those, and will them be compatible with eachother? I mean, both OXML and OTL uses rather old versions of the Gp units.
DeleteYes, they will be compatible. OTL is typically quite in sync with the GpDelphiUnits repo while OmniXML indeed laps behind but I always make sure that OmniXML works with the current version of the units too.
DeleteCheck the links, please (they refer to localhost)
ReplyDeleteFixed, thanks for the warning.
DeleteHi,
ReplyDeletethank you for everything! But please, could you help me set DSiExecuteAndCapture so that it will wait a custom time for the application to close, otherwise will force the exit with an error?
DSiExecuteAndCapture has waitTimeout_sec parameter which does what you want.
Deletei tried it i have a simple bat like:
Deleteecho "hi"
pause
then i called:
NumHdl := DSiExecuteAndCapture(BatPath, TmpSl, '', CodErr, 60);
but it does not wait. it should wait because of "pause" shouldn't it?
Please can you tell me something about it? That function is great and I need it so much, but I need it to stop and wait for the bat.
DeleteIs there a bug or is it me that I'm doing something wrong?
Yes, I'll look into it. As soon as I find some time.
Deletethanks! that would help me so much!
DeleteIt is because the 'pause' doesn't really pause when you execute your batch in a hidden window. Command line processor is too smart.
DeleteReplace it with
for /l %i in (1, 1, 100) do sleep 1
and you'll get the timeout.
Hi, there's still something wrong...
DeleteI tried another thing, a BAT that runs Notepad. It should wait until i close notepad.
I don't know why but sometimes it returns all kind of error exitcode.
Can you double check please?
try this:
1) debug this:
Error := DSiExecuteAndCapture('a.bat', slerrori, '', ExitCode, 60);
2) the first time it should wait, but terminate the program (CTRL-F2)
3) try it again, it will not wait anymore and it will send you all kind of errors.
Any Idea?
Works fine here.
Deletetrue, you are right. i found the problem, the problem appears when it can't find the BAT, it starts returning wrong error codes.
DeleteI had the bat in the wrong folder. looks like it's working now.
Think you can fix the message if the file is not found ?
also, the link lets me download version 1.64a not 1.66
ReplyDeleteUpdated, thanks!
DeleteHi,
ReplyDeletethank you so much for this great library!!
I just have 1 question, regarding the function DSiExecuteAndCapture.
Is it possible to increase buffer size to more than 1 MB?
Is there a reason of 1Mb or can i use whatever I want? I often receive the error of Buffer FULL....
thank you so much!!