|
Post by davecheckley on Apr 1, 2021 8:44:34 GMT -5
SPFLite V2.2.20255 2020-09-11. Windows 10 Pro version 20H2 build 19042.868, 32GB ram.
When I enter the command HELP MACROS I get this error:
Windows cannot find 'C:\PROGRA~2\SPFLite2\SPFLite'. Make syre you typed the name correctly, and then try again.
HELP works fine, as does HELP BASIC, and I can access the macro help from the SPFLite Macro Help shortcut, so it's not a desperate situation. I'm curious to know if anyone else has the problem.
Regards, Dave Checkley
|
|
|
Post by George on Apr 1, 2021 12:15:50 GMT -5
Hi Dave, Welcome to the forums.
First, why not at least get to the latest version(2.3.21053) and then we can go from there. Meanwhile, there a link to the Macros Help in the Start Menu.
George
|
|
|
Post by davecheckley on Apr 6, 2021 7:12:55 GMT -5
Hi George, I was mortified to realize I had an old version. I think I downloaded it from CNET. Anyway I have downloaded the current version from your site, and I still have the error. I tried uninstalling it but the error persisted after the reinstall (I used defaults everywhere, including in the first execution of the program). I think the problem is that SPFLite installed in my Program Files (x86) folder, not Program Files. I will try another uninstall/reinstall... And that also failed, although the error message now refers to PROGRA~1. There seems to be something specific to the HELP MACROS command which is failing. It's not terribly important as, as you say, there is a link to the macros help in the Start menu.
Regards, Dave
|
|
|
Post by George on Apr 6, 2021 9:42:04 GMT -5
There's no registry entry that would affect this problem. The only registry entries of importance are the ones pointing to HomeFolder and HomeData. Which are used to get to the CFG file. If they're wrong/missing/etc, program start-up would complain loudly and offer to do an initial run to recreate them.
Also, the correct install folder IS 'Program Files (x86)' as SPFLite is a 32 bit program. The other 'Program Files' is for 64 bit programs.
Dave: What happens with the other variations like HELP BASIC or HELP THINBASIC?
The PROGRA~1 you see is normal. To avoid the nightmare of building a command string with layers of quote marks to avoid problems with spaces in filenames, SPFLite uses the GetShortName API to convert the full name into a short, 'space-less' name.
Could you post a DIR listing of your \Program Files (x86)\SPFLite2\ folder?
George
|
|
|
Post by George on Apr 6, 2021 13:19:39 GMT -5
Robert: A) HELP gets a new Shortname every time. It keeps nothing. And I really don't believe such a significant API is failing. IF IsEQ(gCmdOps(1), "MACROS") OR IsEQ(gCmdOps(1), "MACRO") THEN lclcmd = ENVIRON$("COMSPEC") + " /C START " + GetShortName(ENV.EXEPath + "SPFLite Edit Macros.chm") retc = SHELL(lclcmd, 0)
B) As I said SPFLite keeps basically nothing in the Registry. There's even a couple obsolete entries in there from Version 8.
So it's still a mystery.
George
===> OK, I believe you, I was just trying to jog some memory cells in case it was of some help - R
|
|
|
Post by mueh on Apr 6, 2021 14:38:49 GMT -5
George: To bring some light in this problem i looked at my working system with Procexp . It appears that GetShortPathName only makes path short and the blank in Edit Macros.chm file name remains . Procexp displays pgm HH.exe which is the windows CHM Viewer and it accepts the blank in file name without quotes . ( executed it in cmd window ) Dave: Do you have installed another CHM Viewer ? check with Procexp what pgm is executed for SPFLite.chm ? cmd ASSOC .chm shows .chm=chm.file . ( don't know how hh.exe is invoked ) Maybe this will show some differences to our working systems .
|
|
|
Post by George on Apr 6, 2021 14:59:09 GMT -5
mueh: If I look at lclcmd just before the SHELL command, on my system it shows
C:\WINDOWS\system32\cmd.exe /C START D:\DOCUME~1\SPFLite2\SPFLIT~1.CHM so it looks like GetShortName is doing it's job properly, all the names, path and filename, have been properly replaced by their short name equivalents.
You looked at GetShortPathName, but I'm using GetShortName.
And why is nobody else reporting this problem?
George
|
|
|
Post by mueh on Apr 6, 2021 15:17:51 GMT -5
George: Isn't GetShortName a function in SPFLite.bas executing GetShortPathName . if you looked at lclcmd something must be go on later since you can see that in Procexp file name is back in long format . On Dave's system there must be something special setup since he seems the only one with this problem .
|
|
|
Post by davecheckley on Apr 7, 2021 5:57:22 GMT -5
My apologies for taking so long to reply. I'll try to answer all the requests...
All the other HELP commands work: it's just HELP MACROS which fails.
I think the PROGRA~2 vs PROGRA~1 is due to the two different directories I installed in. I will reinstall SPFLite in the correct folder soon.
My ComSpec variable is %SystemRoot%\System32\cmd.exe
I'm afraid I don't know what a CHM viewer is - unless it is a Help viewer. In which case, I don't think so. As I said, I'm able to view these help files, and HELP BASIC and HELP THINBASIC work
I tried executing Robert's commands in a Command Prompt window:
C:\Users\check>"C:\PROGRA~1\SPFLite2\SPFLite Edit Macros.chm"
C:\Users\check>C:\PROGRA~1\SPFLite2\SPFLite Edit Macros.chm 'C:\PROGRA~1\SPFLite2\SPFLite' is not recognized as an internal or external command, operable program or batch file.
The first version (inside quotes) worked.
I think my problem is that embedded blanks in the path name are not being supported correctly. I'm not sure how I can control this though.
I'm glad to know I'm the only person with this problem...
Regards, Dave
|
|
|
Post by davecheckley on Apr 7, 2021 8:10:25 GMT -5
Dir of SPFLite programs: C:\Program Files (x86)\SPFLite2>dir Volume in drive C has no label. Volume Serial Number is 5263-A54C
Directory of C:\Program Files (x86)\SPFLite2
07/04/2021 14:02 <DIR> . 07/04/2021 14:02 <DIR> .. 03/07/2011 17:19 9,662 Adobe.ico 23/02/2021 22:52 92,160 CFGMaint.exe 24/11/2019 20:39 26,613 Changes Pre SPFLite2 Release.txt 03/04/2019 16:08 46,496 Changes Pre V10.txt 22/11/2013 22:47 143,699 Changes Pre V7.txt 17/12/2015 22:08 166,884 Changes Pre V8.txt 22/02/2021 17:58 26,186 Changes.txt 26/06/2013 17:22 492 Contacts.txt 06/11/2018 22:40 35,823 GPL-3.txt 01/01/1995 07:00 766 Help.ico 17/07/2011 01:14 65,536 KeyboardTest.exe 07/04/2021 14:02 <DIR> Lib 03/12/2018 22:55 272 License.txt 15/01/2020 20:51 312 OpenWithSPFLite - 32 Bit Systems.reg 15/01/2020 20:51 161 OpenWithSPFLite - 64 Bit Systems.reg 16/06/2013 06:30 321,536 pcre3.dll 23/02/2021 21:55 454,662 SPFLite Edit Macros.chm 23/02/2021 22:22 1,070,407 SPFLite Edit Macros.pdf 25/06/2013 20:59 55 SPFLite Forums.url 25/06/2013 19:45 49 SPFLite Website.url 23/02/2021 21:06 24,278,195 SPFLite.chm 23/02/2021 22:19 8,223,773 SPFLite.pdf 22/02/2021 17:08 495,104 SPFLite2.exe 22/08/2019 20:11 17,542 SPFLite2.ico 22/08/2019 20:07 4,930 SPFLite2.jpg 03/08/2019 19:31 17,542 SPFLiteBlackTransparent.ico 03/08/2019 19:28 17,542 SPFLiteBlackYellow1.ico 03/08/2019 19:27 17,542 SPFLiteBlackYellow2.ico 03/08/2019 19:09 17,542 SPFLiteBlue1.ico 03/08/2019 19:23 17,542 SPFLiteBlue2.ico 03/08/2019 19:45 9,662 SPFLiteWhiteTransparent.ico 16/01/2012 18:29 237,568 SPFSUBMIT.exe 20/10/2015 18:25 75,264 SPFTest.exe 17/04/2019 09:08 923,731 sqlite3.dll 26/05/2019 17:18 4,040,513 thinBasic.chm 26/05/2019 17:17 204,288 thinCore.dll 07/04/2021 14:02 131,072 uninstall.exe 07/04/2021 14:02 11,937 uninstall.ini 37 File(s) 41,203,060 bytes 3 Dir(s) 123,304,615,936 bytes free
C:\Program Files (x86)\SPFLite2>
Regards, Dave
|
|
|
Post by George on Apr 7, 2021 8:30:25 GMT -5
Robert: Dave: I figured out the difference I saw with the GetShortName and GetShortPathName calls. The first is a wrapper function around the call to the 2nd, which is the Windows API. No problem there.
But I noticed my wrapper asks for the parameter as an ASCIIZ string, and the calls were normal STRINGS. So just in case the normal PB automatic conversion was suspect, I made sure to do the ASCIIZ conversion before calling for the ShorName function. It shouldn't make a difference, but it can't hurt.
I've no other ideas, Dave's DIR list looks perfectly normal, and the fact that it only fails for the Macros CHM file is puzzling. If the file-type association was wrong NONE of the CHM files would be working.
George
|
|
|
Post by davecheckley on Apr 7, 2021 8:39:28 GMT -5
C:\Program Files (x86)\SPFLite2>assoc .chm .chm=chm.file
Robert: I can double-click on the .chm file and display the help file, so File Explorer either handles spaces or encloses everything in quotes. The CHM reader is named Microsoft HTML Help Executable in Properties. procexp shows hh.exe accessing the file: File C:\Program Files (x86)\SPFLite2\SPFLite Edit Macros.chm
So *something* on my system doesn't like executables accessing files with spaces in their names. Do you think it might be an antivirus program? I have Windows Defender, AVG and Malwarebytes.
Or could it be a policy enforced by one of my companies' email systems?
Regards, Dave
|
|
|
Post by davecheckley on Apr 7, 2021 8:48:26 GMT -5
George: It's the spaces in the name which are my problem. The string is being truncated at the first space.
|
|
|
Post by George on Apr 7, 2021 9:14:57 GMT -5
OK, we're not all crazy. I've been playing with HELP and now can get the similar problem, except on my system it's THINBASIC that refuses to open.
I've tried it with full names (including spaces) and short names.
I can watch the SHELL command create the Process and get the PID value. Procexp shows the PID, but no window appears and then the PID disappears, no messages, nothing.
Most peculiar.
George
|
|
|
Post by davecheckley on Apr 7, 2021 10:00:53 GMT -5
Or could it be that the GetShortName function is not working correctly? I see this in the documentation: Returns
String
The localized string for the ShortName property if the ResourceType property has been specified and if the ShortName property represents a resource key; otherwise, the non-localized value of the ShortName value property.
Could I be getting a 'non-localized value'?
Regards, Dave
|
|