On Sat, May 5, 2012 09:22, Michael Van Canneyt wrote: > On Fri, 4 May 2012, Mattias Gaertner wrote: >> On Fri, 04 May 2012 17:22:16 +0200 >> dhkblas...@zeelandnet.nl wrote: >> >>> >>> >>> I'm creating a script to be executed by instantfpc when I noticed >>> that paramstr(0) does not reflect the location of the script but the >>> location of the cached executable. Is there a way to alter this >>> location >>> programatically to the script location? Is there an alternative way? >> >> instantfpc passes as first parameter the original file name. >> But execv overrides the first argument with the executed file. AFAIK >> there is no alternative. >> >> You can set an environment variable. > > I think the environment variable is the best and easiest shot.
My proposal is platform independent (i.e. it will work also under Win32, OS/2, etc., without any changes). Your proposal probably requires starting the compiled binary using platform specific API functions to run it with a modified environment rather than using ExecuteProcess which results in passing the standard parent's environment (changing the current's process environment may not be supported on all platforms). Tomas _______________________________________________ fpc-pascal maillist - fpc-pascal@lists.freepascal.org http://lists.freepascal.org/mailman/listinfo/fpc-pascal