Yes, strange it is

If I understand correctly, jaPBe calls the SDK but the topic is not right ?
If you use win32.hlp, does it work correctly (ie topic found) ?
If you have some spare time, you could compile jaPBe sources in debug mode to see the SDK topic jaPBe calls when you use F1.
File "
Help.pbi" :
Code: Select all
Procedure DisplayHelp(HelpDirectory$, Topic$, HelpType)
;Debug HelpDirectory$+" "+Topic$+" "+Str(HelpType)
Select HelpType
Case 1 ; PureBasic regular command
HelpDirectory$=SearchHelpAlternate(HelpDirectory$)
Select UCase(GetExtensionPart(HelpDirectory$))
Case "HLP": FileName$ =SearchHelpFile(HelpDirectory$, PureBasicPath$+"Help\"+HelpDirectory$);
Case "CHM": FileName$ =SearchHelpFile(HelpDirectory$, PureBasicPath$+"Help\"+HelpDirectory$):Topic$+".html"
Case "TXT": ShellExecute_(MainWin,"open",PureBasicPath$+"Help\"+HelpDirectory$,"","",#SW_SHOWNORMAL)
Case "HTML": ShellExecute_(MainWin,"open",PureBasicPath$+"Help\"+HelpDirectory$,"","",#SW_SHOWNORMAL)
Case "HTM": ShellExecute_(MainWin,"open",PureBasicPath$+"Help\"+HelpDirectory$,"","",#SW_SHOWNORMAL)
Case "PDF": ShellExecute_(MainWin,"open",PureBasicPath$+"Help\"+HelpDirectory$,"","",#SW_SHOWNORMAL)
Default
Topic$ = CheckSpecialCommands(HelpDirectory$,Topic$)+".html"
FileName$ = SearchHelpFile("PureBasic.chm", PureBasicPath$+"PureBasic.chm")
EndSelect
DoAlternateHelpSearch=#False
Case 2 ; Win32 API commands
SDK_do=#False
If SDK_IsAvaiable() And UseSDK
If PlatformSDKObject <> 0
If SDK_DisplayHelp(Topic$)=0 ;<-------------- TOPIC
SDK_Close()
Else
SDK_do=#True
EndIf
Else
SDK_DisplayHelp(Topic$) ;<-------------- TOPIC
SDK_do=#True
EndIf
EndIf
If SDK_do=#False
FileName$ = SearchHelpFile("Win32.hlp",PureBasicPath$+"Win32.hlp")
Else
FileName$ = ""
EndIf
DoAlternateHelpSearch=#False
Default
FileName$ = SearchHelpFile("PureBasic.chm", PureBasicPath$+"PureBasic.chm")
Topic$ = CheckPureBasicKeyWords(PureFunctionHelp$); shared
If Topic$="" And DoAlternateHelpSearch=#False
ok=#True
If Find_DefProc(@PureFunctionHelp$)
If DefProc()\add
If Help_IncludeHelp(PeekS(DefProc()\add))
ok=#False
FileName$=""
EndIf
EndIf
EndIf
If ok And OldToolTipString
a$=PeekS(OldToolTipString)
If Help_IncludeHelp(a$)
FileName$=""
Else
*start=@a$
*buf.BYTE=*start
While AllowedChars(*buf\b &$FF)
*buf+1
Wend
If *start<*buf
DoHelp(PeekS(*start,*buf-*start))
FileName$=""
DoAlternateHelpSearch=#True
EndIf
EndIf
EndIf
Else
DoAlternateHelpSearch=#False
EndIf
EndSelect
If FileName$
OpenHelp(FileName$, Topic$)
EndIf
EndProcedure
The SDK help code is in SDK-Help.pbi