NoDialog.Exe howTo pass an image with Blanks in the path

Previous Topic Next Topic
 
classic Classic list List threaded Threaded
9 messages Options
Reply | Threaded
Open this post in threaded view
|

NoDialog.Exe howTo pass an image with Blanks in the path

Instantiations mailing list
Hi All,

on Windows 7 updating from 8.03 to 8.6.2 we have a problem passing an icx location with blanks in the path to nodialog.exe. Nodialog.exe will not find the icx. In 8.03 we started our icx with something like:

nodialog.exe -i "c:\Program Files (x86)\MyApplication\my.icx"

this doesn't work with version 8.6.2. It looks like the double quotes aren't allowed any more. Ommitiing the blanks will lead to the same error: Image not found. But how can we pass a path with blanks instead?

A quick help would be more than welcome!

--
You received this message because you are subscribed to the Google Groups "VA Smalltalk" group.
To unsubscribe from this group and stop receiving emails from it, send an email to [hidden email].
To post to this group, send email to [hidden email].
Visit this group at https://groups.google.com/group/va-smalltalk.
For more options, visit https://groups.google.com/d/optout.
Reply | Threaded
Open this post in threaded view
|

Re: NoDialog.Exe howTo pass an image with Blanks in the path

Wayne Johnston
This is essentially how we had fixed it for a certain time - but see the warning.


shortPathFor: longPath
"Windows only - to make into '8.3' notation as needed for some things.
Note some OSs at least optionally disable short paths.  This means this
API will answer the original path with spaces.  Therefore this method should probably
remain unused since we have to handle paths with spaces everywhere.
self shortPathFor: 'c:\program files'.
self shortPathFor: '\a b\c d\e f\g h' "

| shortPath shortPathLength |

shortPath := String new: longPath size * 3. "since as in the last example the answer can be much longer than longPath"
shortPathLength :=
OSCall new getShortPathName: longPath lpszShortPath: shortPath cchBuffer: shortPath size.
^shortPath
copyFrom: 1
to: shortPathLength

--
You received this message because you are subscribed to the Google Groups "VA Smalltalk" group.
To unsubscribe from this group and stop receiving emails from it, send an email to [hidden email].
To post to this group, send email to [hidden email].
Visit this group at https://groups.google.com/group/va-smalltalk.
For more options, visit https://groups.google.com/d/optout.
Reply | Threaded
Open this post in threaded view
|

Re: NoDialog.Exe howTo pass an image with Blanks in the path

Wayne Johnston
In reply to this post by Instantiations mailing list
Sorry, I should have said we had used that method but for a different purpose - specifically directing DB2 to some files.  The final fix was to double quote the paths.  However you are already double quoting the path but it's not working.  Therefore you could try the method I sent, but as the warning says, it may not work on all installations.

--
You received this message because you are subscribed to the Google Groups "VA Smalltalk" group.
To unsubscribe from this group and stop receiving emails from it, send an email to [hidden email].
To post to this group, send email to [hidden email].
Visit this group at https://groups.google.com/group/va-smalltalk.
For more options, visit https://groups.google.com/d/optout.
Reply | Threaded
Open this post in threaded view
|

Re: NoDialog.Exe howTo pass an image with Blanks in the path

Instantiations mailing list
Thanks for your quick response!

Additional info: We use a Windows cmd file. And in the file we call nodialog.exe.

Am Montag, 8. August 2016 15:55:44 UTC+2 schrieb Wayne Johnston:
Sorry, I should have said we had used that method but for a different purpose - specifically directing DB2 to some files.  The final fix was to double quote the paths.  However you are already double quoting the path but it's not working.  Therefore you could try the method I sent, but as the warning says, it may not work on all installations.

--
You received this message because you are subscribed to the Google Groups "VA Smalltalk" group.
To unsubscribe from this group and stop receiving emails from it, send an email to [hidden email].
To post to this group, send email to [hidden email].
Visit this group at https://groups.google.com/group/va-smalltalk.
For more options, visit https://groups.google.com/d/optout.
Reply | Threaded
Open this post in threaded view
|

Re: NoDialog.Exe howTo pass an image with Blanks in the path

jtuchel
This may not be the perfect solution, but maybe you can try putting the path into a shell variable and concatenate in the line where you call nodialog.exe.

--
You received this message because you are subscribed to the Google Groups "VA Smalltalk" group.
To unsubscribe from this group and stop receiving emails from it, send an email to [hidden email].
To post to this group, send email to [hidden email].
Visit this group at https://groups.google.com/group/va-smalltalk.
For more options, visit https://groups.google.com/d/optout.
Reply | Threaded
Open this post in threaded view
|

Re: NoDialog.Exe howTo pass an image with Blanks in the path

Instantiations mailing list
That's exactly the way we did it with 8.03 but does not work in 8.6.2:

@NoDialog.Exe -i "%abt_ImagePath%\%1.icx" %2 %3 %4 %5 %6 %7 %8 %9

--
You received this message because you are subscribed to the Google Groups "VA Smalltalk" group.
To unsubscribe from this group and stop receiving emails from it, send an email to [hidden email].
To post to this group, send email to [hidden email].
Visit this group at https://groups.google.com/group/va-smalltalk.
For more options, visit https://groups.google.com/d/optout.
Reply | Threaded
Open this post in threaded view
|

Re: NoDialog.Exe howTo pass an image with Blanks in the path

Klaus Breker-2
In reply to this post by Instantiations mailing list
Hi,

dio you tried this image start with a development image and inspected the call of System commandLine?

Kind regards

Klaus

Am Montag, 8. August 2016 15:26:45 UTC+2 schrieb bonndias:
Hi All,

on Windows 7 updating from 8.03 to 8.6.2 we have a problem passing an icx location with blanks in the path to nodialog.exe. Nodialog.exe will not find the icx. In 8.03 we started our icx with something like:

nodialog.exe -i "c:\Program Files (x86)\MyApplication\my.icx"

this doesn't work with version 8.6.2. It looks like the double quotes aren't allowed any more. Ommitiing the blanks will lead to the same error: Image not found. But how can we pass a path with blanks instead?

A quick help would be more than welcome!

--
You received this message because you are subscribed to the Google Groups "VA Smalltalk" group.
To unsubscribe from this group and stop receiving emails from it, send an email to [hidden email].
To post to this group, send email to [hidden email].
Visit this group at https://groups.google.com/group/va-smalltalk.
For more options, visit https://groups.google.com/d/optout.
Reply | Threaded
Open this post in threaded view
|

Re: NoDialog.Exe howTo pass an image with Blanks in the path

Instantiations mailing list
In reply to this post by Instantiations mailing list
Meanwhile I think it's a bug. I could solve the problem by changing the path from absolute to relative path. Now the call looks like this:

nodialog.exe -i.\MyApplication\%1.icx %2 %3 %4 %5 %6 %7 %8 %9

Thanks

--
You received this message because you are subscribed to the Google Groups "VA Smalltalk" group.
To unsubscribe from this group and stop receiving emails from it, send an email to [hidden email].
To post to this group, send email to [hidden email].
Visit this group at https://groups.google.com/group/va-smalltalk.
For more options, visit https://groups.google.com/d/optout.
Reply | Threaded
Open this post in threaded view
|

Re: NoDialog.Exe howTo pass an image with Blanks in the path

Seth Berman
Hello,

We have not changed anything in this area.
I think the issue is that you need to put the quote to the left of the '-i'.
And don't put a space between the -i and the c:

For example:
nodialog.exe "-ic:\Program Files (x86)\MyApplication\my.icx"

instead of 

nodialog.exe -i "c:\Program Files (x86)\MyApplication\my.icx"

Hope this helps,

-- Seth

On Tuesday, August 9, 2016 at 5:16:56 AM UTC-4, bonndias wrote:
Meanwhile I think it's a bug. I could solve the problem by changing the path from absolute to relative path. Now the call looks like this:

nodialog.exe -i.\MyApplication\%1.icx %2 %3 %4 %5 %6 %7 %8 %9

Thanks

--
You received this message because you are subscribed to the Google Groups "VA Smalltalk" group.
To unsubscribe from this group and stop receiving emails from it, send an email to [hidden email].
To post to this group, send email to [hidden email].
Visit this group at https://groups.google.com/group/va-smalltalk.
For more options, visit https://groups.google.com/d/optout.