Hi Lorenzo,
There are some old tests that still use hb_run as "__hrbrun".
Well, that was not your point, but IMO __hrb*() functions should be named hb_hrb*() since they are not really internal features anymore. Should we do it now?
Moreover we now have an util called hbrun which is more an "hrbrun".
Name stayed for compatibility reasons, I'd have better liked hbdot, and it's still not too late to change it. If groups agreed I can do it.
Sorry for the "word game", but I was looking for the differences between __RUN and HB_RUN and it took me a while to get the right info so this may confuse users too.
I think the only difference is that HB_RUN() is in the documented namespace, and it does return an errorlevel, while __RUN() is a compatibility internal command with no return value. Otherwise they do the same.
I was looking for it because I need to start an harbour app "in background". Under Unix is as easy as add an "&" at the end of the string but under Win you need sth like WinExec to achieve the same result. I wonder if instead of using sth like: #if __PLATFORM__WINDOWS WinExec( CmdStr ) #else __RUN( CmdStr + " &" ) #endif we could add a second parameter to HB_RUN like "fore/back" to get a more elegant solution ( even because WinExec is not in std libs ).
For this I'd suggest to add something to hbw32.lib. Not only background, but also minimized, hidden, dont-wait-to-terminate (solvabe with direct CreateProcess() call only AFAIK) etc can be other options on Windows. You might also already use ShellExecute(), this is also Win and even shell specific, and not portable in a clean way. Anyway, if there would be a portable way to solve any of this, it would be great, I agree. Brgds, Viktor _______________________________________________ Harbour mailing list Harbour@harbour-project.org http://lists.harbour-project.org/mailman/listinfo/harbour