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

Reply via email to