Thread Rating:
  • 0 Vote(s) - 0 Average
  • 1
  • 2
  • 3
  • 4
  • 5
Search Help and Tools
#1
Sorry I am getting error on QM when I try to use Search Help and Tools I type name in the box press enter and get this in qm out Error (RT) in __CHelpIndexer.SaveLoad: 0x80070057, The parameter is incorrect.
the cursor shows problem at m.AddList I tried to uninstall reboot and install again no luck version 2.3.0.13

Member function __CHelpIndexer.SaveLoad
Code:
Copy      Help
,;list of words
,s.getfile(sfw)
,m.AddList(s "")
#2
Probably the file exists but is empty. Don't know why.

After add:
Member function __CHelpIndexer.SaveLoad
Code:
Copy      Help
,err
,,out "failed to load list of words from %s" sfw
,,out s

What it shows in QM output?

Then it should show a menu with partial results. Click Options (last item in the results list) and OK. It will rebuild the files. Maybe then the file will not be empty.
#3
Well I restarted it and it seems to be fine now thanks allot could not live without it.
#4
Well I guess I must not have restarted qm cause I just did after I installed the word spell checker and now the help does not work it is doing same thing I will repeat what you said to do and it works but when I shut off macros it does the same thing as before like it is not saving.
#5
QM uses Windows hh.exe to decompile qm help file into html files. Probably it does not decompile for some reason (what is your Windows version?). Try to run this macro. It tries to decompile QM help file like help indexer does, but to another folder. it then opens the folder. If successfully decompiled, the folder should contain many subfolders containing html files. Also the macro shows folder path and hh.exe command line in qm output.

Macro
Code:
Copy      Help
str m_dir.expandpath("$Common AppData$\GinDi\Quick Macros\HelpIndex debug")
str dirhh.from(m_dir "\hh")
del- dirhh; err
mkdir dirhh
str shf.dospath(dirhh) schm.dospath("$qm$\qm2help.chm") cl.format("-decompile %s %s" shf schm)
run "hh.exe" cl "" "" 0x400
run dirhh

out dirhh
out cl
#6
crip Wrote:Well I guess I must not have restarted qm cause I just did after I installed the word spell checker and now the help does not work it is doing same thing I will repeat what you said to do

It probably worked because of the added err. It was not saved. Anyway, the results were incomplete.
#7
this was results from above code C:\ProgramData\GinDi\Quick Macros\HelpIndex debug\hh
-decompile C:\PROGRA~2\GinDi\Quick Macros\HelpIndex debug\hh c:\PROGRA~1\quick macros 2\qm2help.chm

And the operating system could be the problem on this computer I run windows 7 and there seems to be conflicts with some programs
#8
We found the reason. For some reason does not make normal DOS path. Must be like

-decompile C:\PROGRA~2\GinDi\QUICKM~1\HELPIN~2\hh c:\PROGRA~1\quickm~1\qm2help.chm

Some spaces are not replaced to ~1 etc, and then hh does not work.

I'll try to make it differently. Will notify you.

On my Windows 7 works well.

Thank you for the help.
#9
Probably on your computer is disabled short path generation.

http://groups.google.com/group/comp.os. ... 819f6e6df0
http://support.microsoft.com/kb/210638

Could instead of dospath enclose paths containing spaces into "", but with hh it does not work. Will need to use some other way.
#10
It will be fixed in next QM version.

To fix it now:

1. In QM, right click System folder, click Folder Properties, uncheck 'read-only', OK.

2. Find function __CHelpIndexer.IndexHelp. It is in \System\Tools\Quick help search\private\create help index.

3. Replace all its text with this:

Member function __CHelpIndexer.IndexHelp
Code:
Copy      Help
;/CHI_index_help
OnScreenDisplay "Creating QM help index..." -1 0 0 0 0 0 8 "osd_indexer"

;int t1=perf

;decompile chm

str dirhh.from(m_dir "\hh")
del- dirhh; err
mkdir dirhh
;str shf.dospath(dirhh) schm.dospath("$qm$\qm2help.chm") cl.format("-decompile %s %s" shf schm) ;;does not work on computers where disabled short path creation
;run "hh.exe" cl "" "" 0x400
cop "$qm$\qm2help.chm" dirhh
SetCurDir dirhh
run "hh.exe" "-decompile . qm2help.chm" "" "" 0x400

;int t2=perf

;index html files

str sp.from(dirhh "\*.html") s ss sss
Dir d; int i
m_curfile=0
foreach(d sp FE_Dir 0xC)
,str sPath=d.FileName(1)
,CHI_FILE& f=m_af_help[]
,f.filename=sPath+dirhh.len+1
,;sel(f.filename 3) case ["*IDP_ACC.*","*CLASS*"] case else continue ;;debug
,;out "---------- %s -----------" f.filename
,s.getfile(sPath)
,;get title
,if(findrx(s "(?s)<title>(.+?)</title>" 0 1 ss 1)>=0) ss.replacerx("\s{2,}" " "); ss.trim
,if(findrx(s "(?s)<h1>(.+?)</h1>" 0 1 f.title 1)>=0) f.title.replacerx("(?s)<.+?>"); f.title.replacerx("\s{2,}" " "); f.title.trim
,if(ss.len and !(ss~f.title)) f.title.from(ss ": " f.title)
,;get words
,;at first index most imortant places to give higher scores
,;title
,ss=f.title
,IndexText(m_mw_help ss 30)
,;h2
,ss.fix(0)
,for(i 0 s.len) i=findrx(s "<h2.*?>(.+?)</h2>" i 1 sss 1); if(i<0) break; else ss.addline(sss)
,IndexText(m_mw_help ss 10 1)
,;contents
,IndexText(m_mw_help s 1 1)
,
,m_curfile+1

;int t3=perf

;save

SaveLoad(1 1)
del- dirhh; err

;int t4=perf
;out "%i %i %i" t2-t1/1000 t3-t2/1000 t4-t3/1000

OsdHide "osd_indexer"

4. Again right click System folder. Click Export. Export it to QM folder, replacing the existing System.qml file. Possibly you will have to uncheck readonly in file properties dialog.

5. Create new macro. Paste this code:
CHI_CreateIndexOfMyFunctions

6. Run the new macro. It shows a dialog. When you click OK, it recreates help index. Then you can delete the macro.
#11
Well it works of course thanks you very much sorry for all the trouble. Thats great.


Forum Jump:


Users browsing this thread: 1 Guest(s)