Alaska Software Inc. - incomplete Xbase++ activeX XbParts
Username: Password:
AuthorTopic: incomplete Xbase++ activeX XbParts
AUGE_OHRincomplete Xbase++ activeX XbParts
on Sat, 14 Mar 2009 09:36:42 +0100
hi,

i often feel limited by Xbase++ XbParts while same Control
"can do more" than Xbase++ offer me.

i do "compare" XbParts with MSCOMCTL.OCX and
Codejock Suite Control and one of the Reason might be
that Alaska do not use "every" Parameter or Property so
we can not get its Methode.

i can accept that Alaska do "there Way" with XbParts
so a XbpTabpage does not have much to do with "TAB" Control,
"TABS"item or Tab"PAGE", but when Alaska use "same"
Control and same Methode so why does Alaska do NOT
pass all Parameter to there XbParts ?

Sample XbpHtmlView() :
we do have Method :navigate(cURL,... ) 1st Parameter is cURL

now XbpHtmlView():navigate 2nd Parameter is cCGI ... and
where are my "Flags", "TargetFrameName" and "Headers" ?
( assume cCGI = PostData )

so if i have Application using MSCOMCTL.OCX or shdocvw.dll
and try to translate it into XbParts it will fail while incorrect Parameter

Xbase++
:navigate(cURL,<cCGI>)

Codejock and shdocvw.dll
:navigate(cURL,Flags,TargetFrameName,PostData("cCGI"),Headers)

i can accept that Alaska do not support "Flags", but why not use
it as Parameter so we can use same Syntax as "original" ?

same Problem with Callback Slot

:beforeNavigate := {| cURL, cCGI, self | ... }
BeforeNavigate(URL As String, Flags As Long, TargetFrameName As String,
PostData As Variant, Headers As String, Cancel As Boolean)

:documentComplete := {| cURL, uNIL, self | ... }
DocumentComplete(pDisp As Object, URL As Variant)

:navigateComplete := {| cURL, uNIL, self | ... }
NavigateComplete(URL As String), but better would be
NavigateComplete2(pDisp As Object, URL As Variant)

these are OK
:progressChange := {| nProgress, nProgressMax, self | ... }
:statusTextChange := {| cStatus, uNIL, self | ... }
:titleChange := {| cTitle, uNil, self | ... }

and what about "other" Event like

NavigateError(pDisp As Object, URL As Variant, Frame As Variant, StatusCode
As Variant, Cancel As Boolean)

CommandStateChange(Command As Long, Enable As Boolean)
SetSecureLockIcon(SecureLockIcon As Long)
WindowSetResizable(Resizable As Boolean)

DownloadBegin
DownloadComplete
NewWindow2(ppDisp As Object, Cancel As Boolean)
OnQuit

WindowClosing(IsChildWindow As Boolean, Cancel As Boolean)
WindowResize
WindowSetHeight(Height As Long)
WindowSetLeft(Left As Long)
WindowSetTop(Top As Long)
WindowSetWidth(Width As Long)

Methode fof Navigation

:back()     -->  Goback()
:forward() --> Goforward()
:home()    --> Gohome()

why not use "real" Name ?
you did it with :stop()

:isBusy()
you can use :getProperty("Busy")

c:\Alaska\XPPW32\source\samples\activex\webbrowser\webbrowser.exe
show what i meen and more ...

what are : Loading and PercentLoaded ?
these Property are used in Sample but not documented.

i do understand that it have to do with Event ProgressChange
and in this case :progressChange have same Parameter
ProgressChange(Progress As Long, ProgressMax As Long)

I think that Sample will lead "Newbie" into wrong Direction and
make a lot of work to migrate.

while activeX are avaiable in other Language too, and you can
see it is working, Xbase++ should do the same.

greetings by OHR
Jimmy
AUGE_OHRRe: incomplete Xbase++ activeX XbParts
on Sun, 15 Mar 2009 00:49:02 +0100
here a Picture of Help File.  see Difference

greetings by OHR
Jimmy 




CJ_WebBrowser.JPG