Alaska Software Inc. - Creating ActiveX Problem
Username: Password:
AuthorTopic: Creating ActiveX Problem
Carlos A Beling Creating ActiveX Problem
on Fri, 29 May 2020 19:03:18 -0300
Hi:
good night.
I am testing an old one program XbpDatePicker.prg and I am having the 
error shownnin the XppError.Log attached:
1) I can run normally 
..\Source\Samples\ActiveX\DatePicker\DatePicker\DatePick.exe
2) I have installed MSComCt2.ocx and MSComCtl2.ocx
3) I use the ::CLSID = "MSComCtl2.MonthView" in:
     METHOD CabMonthView_:Init( oParent, oOwner, aPos, aSize, aPP, 
lVisible )
    ::XbpActiveXControl:Init( oParent, oOwner, aPos, aSize, aPP, lVisible )
    ::CLSID := XBPMVIEW_CLSID
RETURN self
4) the unique parameter used is <oParent> that is oDlg:drawingArea 
sucessfully created
5) I tried all kind of combination for creating the ActiveX and all failed
Please can anyone seed some light?

Fraternally
Beling


XPPERROR.LOG
Andreas Gehrs-Pahl
Re: Creating ActiveX Problem
on Fri, 29 May 2020 22:12:22 -0400
Carlos,

I have no idea what the "XbpDatePicker.prg" contains or what the Class 
"CabMonthView_" is doing, so I can't comment on what it does or doesn't do, 
but you should have the code for the XbpDatePicker class (in the file: 
"..\Source\Runtime\DUI\xbp-activex-date-controls.prg"), so you should be 
able to use that for testing.

As you don't mention it, I assume that you might not set the :License iVar.

As always, posting the actual, compilable program code that causes the 
error, rather than random snippets, will get you probably much better 
responses.

Hope this helps anyway,

Andreas

Andreas Gehrs-Pahl
Absolute Software, LLC

phone: (989) 723-9927
email: Andreas@AbsoluteSoftwareLLC.com
web:   http://www.AbsoluteSoftwareLLC.com
[F]:   https://www.facebook.com/AbsoluteSoftwareLLC
Carlos A Beling Re: Creating ActiveX Problem
on Mon, 01 Jun 2020 12:50:10 -0300
Hello Andreas.
Good day.
Again many thanks.
Later I will to put here the exemple.
The worst thing is that Xbase++ gives a vague message that helps nothing.
I think that this kind of message must to be more detailed otherwise 
none can correct the error. I am spending many hours trying to correct 
this error and everything that I could to find in the docs I did, 
without success.

Fraternally
Beling


On 29/05/2020 23:12, Andreas Gehrs-Pahl wrote:
> Carlos,
> 
> I have no idea what the "XbpDatePicker.prg" contains or what the Class
> "CabMonthView_" is doing, so I can't comment on what it does or doesn't do,
> but you should have the code for the XbpDatePicker class (in the file:
> "..\Source\Runtime\DUI\xbp-activex-date-controls.prg"), so you should be
> able to use that for testing.
> 
> As you don't mention it, I assume that you might not set the :License iVar.
> 
> As always, posting the actual, compilable program code that causes the
> error, rather than random snippets, will get you probably much better
> responses.
> 
> Hope this helps anyway,
> 
> Andreas
>
Carlos A Beling Re: Creating ActiveX Problem
on Tue, 02 Jun 2020 11:51:02 -0300
Hello Andreas.
Good day.
I attached the example the most compete that I can.
I renamed the class name for to avoid overlaping the functions 
XbpMonthView() and XbpDatePicker()
Again many thanks.

Fraternally
Beling

On 29/05/2020 23:12, Andreas Gehrs-Pahl wrote:
> Carlos,
> 
> I have no idea what the "XbpDatePicker.prg" contains or what the Class
> "CabMonthView_" is doing, so I can't comment on what it does or doesn't do,
> but you should have the code for the XbpDatePicker class (in the file:
> "..\Source\Runtime\DUI\xbp-activex-date-controls.prg"), so you should be
> able to use that for testing.
> 
> As you don't mention it, I assume that you might not set the :License iVar.
> 
> As always, posting the actual, compilable program code that causes the
> error, rather than random snippets, will get you probably much better
> responses.
> 
> Hope this helps anyway,
> 
> Andreas
>


Test.zip
Andreas Gehrs-Pahl
Re: Creating ActiveX Problem
on Wed, 03 Jun 2020 16:32:58 -0400
Carlos,

>I attached the example the most compete that I can.
>I renamed the class name for to avoid overlaping the functions 
>XbpMonthView() and XbpDatePicker()

I didn't have any errors creating the Active-X object. I did get several 
errors in the SelCalendar.prg file, though. After fixing those, the program 
ran, even though it doesn't really do anything.

To get it to run, I changed the following lines in SelCalendar.prg:

14:  #define cabCALENDAR_Appearance     was: cabCALENDAR_Appearence

58:  if empty(nMaxSelect)               was: if nMaxSelect == NIL

67:  if empty(nMonthRows)               was: if nMonthRows == NIL

71:  if empty(nMonthCols)               was: if nMonthCols == NIL
72:     nMonthCols := 1                 was: nMonthCols := 0

74:  if empty(dMinDate)                 was: if dMinDate == NIL

77:  if empty(dMaxDate)                 was: if dMaxDate == NIL

102: oCalenda:MultiSelect := lMultiSelect    Added this line
103: if lMultiSelect                         if nMaxSelect > 0
104:    oCalenda:MaxSelect := nMaxSelect     :MultiSelect := nMaxSelect
105: *   oCalenda:CanSelect := .t.           :CanSelect doesn't exist!

108: *else
109: *   oCalenda:MaxSelect := 0             Error if :MultiSelect == .f.
110: *   oCalenda:CanSelect := .f.           :CanSelect doesn't exist!

114: oCalenda:Appearance := cabCALENDAR_Appearance  (both: "Appearence")

The fact that it works for me seems to indicate that you didn't install 
MSComCtl2 (correctly) or something else is different on your computer.

Also, changing line 96 from this:

oCalenda := CabMonthView_():New(oDlg:DrawingArea)

to this:

oCalenda := XbpMonthView():New(oDlg:DrawingArea)

gives the exact same results, so I'm not sure why you need that (old) 
"CabCalendar.prg" ("XbpDPick.prg") file at all.

Hope that helps anyway,

Andreas

Andreas Gehrs-Pahl
Absolute Software, LLC

phone: (989) 723-9927
email: Andreas@AbsoluteSoftwareLLC.com
web:   http://www.AbsoluteSoftwareLLC.com
[F]:   https://www.facebook.com/AbsoluteSoftwareLLC
Carlos A Beling Re: Creating ActiveX Problem
on Wed, 03 Jun 2020 19:02:08 -0300
Hello Andreas:
Good night. Every time that I thank you I feel that it is less than I 
really do.
The trouble that I was having is that the Xbase++ docs hides many 
parameters and methods of the MonthView calendar.
Really it seems that Xbase++ uses all properties of MonthView.

Fraternally
Beling


On 03/06/2020 17:32, Andreas Gehrs-Pahl wrote:
> To get it to run, I changed the following lines in SelCalendar.prg:
> 
> 14:  #define cabCALENDAR_Appearance     was: cabCALENDAR_Appearence
> 
> 58:  if empty(nMaxSelect)               was: if nMaxSelect == NIL
> 
> 67:  if empty(nMonthRows)               was: if nMonthRows == NIL
> 
> 71:  if empty(nMonthCols)               was: if nMonthCols == NIL
> 72:     nMonthCols := 1                 was: nMonthCols := 0
> 
> 74:  if empty(dMinDate)                 was: if dMinDate == NIL
> 
> 77:  if empty(dMaxDate)                 was: if dMaxDate == NIL
> 
> 102: oCalenda:MultiSelect := lMultiSelect    Added this line
> 103: if lMultiSelect                         if nMaxSelect > 0
> 104:    oCalenda:MaxSelect := nMaxSelect     :MultiSelect := nMaxSelect
> 105: *   oCalenda:CanSelect := .t.           :CanSelect doesn't exist!
> 
> 108: *else
> 109: *   oCalenda:MaxSelect := 0             Error if :MultiSelect == .f.
> 110: *   oCalenda:CanSelect := .f.           :CanSelect doesn't exist!
> 
> 114: oCalenda:Appearance := cabCALENDAR_Appearance  (both: "Appearence")
> 
> The fact that it works for me seems to indicate that you didn't install
> MSComCtl2 (correctly) or something else is different on your computer.
> 
> Also, changing line 96 from this:
> 
> oCalenda := CabMonthView_():New(oDlg:DrawingArea)
> 
> to this:
> 
> oCalenda := XbpMonthView():New(oDlg:DrawingArea)
> 
> gives the exact same results, so I'm not sure why you need that (old)
> "CabCalendar.prg" ("XbpDPick.prg") file at all.
Andreas Gehrs-Pahl
Re: Creating ActiveX Problem
on Wed, 03 Jun 2020 19:28:20 -0400
Carlos,

>The trouble that I was having is that the Xbase++ docs hides many 
>parameters and methods of the MonthView calendar.
>Really it seems that Xbase++ uses all properties of MonthView.

Xbase++ automatically supports all Properties and Methods of any Automation 
Object-derived class or (more precisely) instantiated COM/ActiveX object. 

Sometimes those properties and methods can't be accessed directly -- for 
example if they have the names of standard XbParts properties and methods or 
reserved words -- in which case you can always access them via the generic 
:SetProperty(), :GetProperty() and :CallMethod() methods.

In general, you should always use the ActiveX/OLE documentation to determine 
all available properties and methods, their syntax, requirements and 
limitations. The best source for this is the OLEViewer that is part of the 
(free) Windows SDK or the original documentation of your COM/OLE/OCX/ActiveX 
component.

Alaska provides some (limited) implementations for some MS Common Controls 
and some other COM objects, but those are just simplified wrappers of the 
underlying ActiveX objects. If you want to use additional, undocumented, 
features, you can of course do this, but don't expect Alaska to duplicate 
that entire documentation. They have enough issues with documenting their 
own code.

>Every time that I thank you I feel that it is less than I really do.

As always, I'm happy to be of help,

Andreas

Andreas Gehrs-Pahl
Absolute Software, LLC

phone: (989) 723-9927
email: Andreas@AbsoluteSoftwareLLC.com
web:   http://www.AbsoluteSoftwareLLC.com
[F]:   https://www.facebook.com/AbsoluteSoftwareLLC
Carlos A Beling Re: Creating ActiveX Problem
on Thu, 04 Jun 2020 11:22:34 -0300
Hello Andreas.
Good day.
Many thanks again.

Fraternally
Beling

On 03/06/2020 20:28, Andreas Gehrs-Pahl wrote:
> Carlos,
> 
>> The trouble that I was having is that the Xbase++ docs hides many
>> parameters and methods of the MonthView calendar.
>> Really it seems that Xbase++ uses all properties of MonthView.
> 
> Xbase++ automatically supports all Properties and Methods of any Automation
> Object-derived class or (more precisely) instantiated COM/ActiveX object.
> 
> Sometimes those properties and methods can't be accessed directly -- for
> example if they have the names of standard XbParts properties and methods or
> reserved words -- in which case you can always access them via the generic
> :SetProperty(), :GetProperty() and :CallMethod() methods.
> 
> In general, you should always use the ActiveX/OLE documentation to determine
> all available properties and methods, their syntax, requirements and
> limitations. The best source for this is the OLEViewer that is part of the
> (free) Windows SDK or the original documentation of your COM/OLE/OCX/ActiveX
> component.
> 
> Alaska provides some (limited) implementations for some MS Common Controls
> and some other COM objects, but those are just simplified wrappers of the
> underlying ActiveX objects. If you want to use additional, undocumented,
> features, you can of course do this, but don't expect Alaska to duplicate
> that entire documentation. They have enough issues with documenting their
> own code.
> 
>> Every time that I thank you I feel that it is less than I really do.
> 
> As always, I'm happy to be of help,
> 
> Andreas
>
Jim LeeRe: Creating ActiveX Problem
on Thu, 04 Jun 2020 05:17:38 +0200
hi,

> The trouble that I was having is that the Xbase++ docs hides many
> parameters and methods of the MonthView calendar.
> Really it seems that Xbase++ uses all properties of MonthView.

every Windows Control have a Wrapper and use a CLASS for XbPart

you got the Source of Wrapper for MSCOMCT2.OCX

CLASS XbpMonthView FROM XbpActiveXControl, DataRef
CLASS XbpDatePicker FROM XbpActiveXControl, DataRef

not all Property are filled e.g. BOLD Day.
Alaska simple does not know how and did not spend more time to find it out

attach selfmade MSCOMCT2.chm

---

i have made both native, without any OCX.
you will find Source at Pablos Website www.xbwin.com

it does have BOLD Days e.g. to show Holidays ( thx to Pablo )

    Bold Days
   
   oDPick:BoldDays      := .T.
   oDPick:aBoldDays     := Holiday( YEAR( DATE() ) )





MSCOMCT2.chm
Carlos A Beling Re: Creating ActiveX Problem
on Thu, 04 Jun 2020 11:34:14 -0300
Hello Jim.
Good day.
Many thanks.
I will take a look at it.
Another thing: it is hard to find the MSN docs for MonthPicker() and 
DatePicker().
For documentation classes completely it is needed many time and also may 
be that the user to spend many time too for reading, understanding and 
testing all their functinalities.

Fraternally
Beling
On 04/06/2020 00:17, Jim Lee wrote:
> hi,
> 
>> The trouble that I was having is that the Xbase++ docs hides many
>> parameters and methods of the MonthView calendar.
>> Really it seems that Xbase++ uses all properties of MonthView.
> 
> every Windows Control have a Wrapper and use a CLASS for XbPart
> 
> you got the Source of Wrapper for MSCOMCT2.OCX
> 
> CLASS XbpMonthView FROM XbpActiveXControl, DataRef
> CLASS XbpDatePicker FROM XbpActiveXControl, DataRef
> 
> not all Property are filled e.g. BOLD Day.
> Alaska simple does not know how and did not spend more time to find it out
> 
> attach selfmade MSCOMCT2.chm
> 
> ---
> 
> i have made both native, without any OCX.
> you will find Source at Pablos Website www.xbwin.com
> 
> it does have BOLD Days e.g. to show Holidays ( thx to Pablo )
> 
>      Bold Days
>     
>     oDPick:BoldDays      := .T.
>     oDPick:aBoldDays     := Holiday( YEAR( DATE() ) )
> 
> 
>
Carlos A Beling Re: Creating ActiveX Problem
on Thu, 04 Jun 2020 15:53:32 -0300
Hi:
good day.
Unfortunately I coud not access the information in the MSCOMCT2.CHM that 
Jim posted.
I am using the attached MSCOMCT2 help. There exists documented in 
DTPicker2 the property format that does not exists in XbpMonthView(). 
Is it because my MSCOMCT2.CHM is out of date or because am I trying to 
access it in the wrong way?

Fraternally
Beling

On 03/06/2020 17:32, Andreas Gehrs-Pahl wrote:
> Carlos,
> 
>> I attached the example the most compete that I can.
>> I renamed the class name for to avoid overlaping the functions
>> XbpMonthView() and XbpDatePicker()
> 
> I didn't have any errors creating the Active-X object. I did get several
> errors in the SelCalendar.prg file, though. After fixing those, the program
> ran, even though it doesn't really do anything.
> 
> To get it to run, I changed the following lines in SelCalendar.prg:
> 
> 14:  #define cabCALENDAR_Appearance     was: cabCALENDAR_Appearence
> 
> 58:  if empty(nMaxSelect)               was: if nMaxSelect == NIL
> 
> 67:  if empty(nMonthRows)               was: if nMonthRows == NIL
> 
> 71:  if empty(nMonthCols)               was: if nMonthCols == NIL
> 72:     nMonthCols := 1                 was: nMonthCols := 0
> 
> 74:  if empty(dMinDate)                 was: if dMinDate == NIL
> 
> 77:  if empty(dMaxDate)                 was: if dMaxDate == NIL
> 
> 102: oCalenda:MultiSelect := lMultiSelect    Added this line
> 103: if lMultiSelect                         if nMaxSelect > 0
> 104:    oCalenda:MaxSelect := nMaxSelect     :MultiSelect := nMaxSelect
> 105: *   oCalenda:CanSelect := .t.           :CanSelect doesn't exist!
> 
> 108: *else
> 109: *   oCalenda:MaxSelect := 0             Error if :MultiSelect == .f.
> 110: *   oCalenda:CanSelect := .f.           :CanSelect doesn't exist!
> 
> 114: oCalenda:Appearance := cabCALENDAR_Appearance  (both: "Appearence")
> 
> The fact that it works for me seems to indicate that you didn't install
> MSComCtl2 (correctly) or something else is different on your computer.
> 
> Also, changing line 96 from this:
> 
> oCalenda := CabMonthView_():New(oDlg:DrawingArea)
> 
> to this:
> 
> oCalenda := XbpMonthView():New(oDlg:DrawingArea)
> 
> gives the exact same results, so I'm not sure why you need that (old)
> "CabCalendar.prg" ("XbpDPick.prg") file at all.
> 
> Hope that helps anyway,
> 
> Andreas
>


MSCOMCT2.zip
Property.png
Andreas Gehrs-Pahl
Re: Creating ActiveX Problem
on Thu, 04 Jun 2020 23:31:35 -0400
Carlos,

Please don't post large, unnecessary, zip files. If it is of any relevance, 
a link to the file (hosted somewhere online) might be much better.

>I am using the attached MSCOMCT2 help. There exists documented in 
>DTPicker2 the property format that does not exists in XbpMonthView(). 

I'm not sure what DTPicker2 or any of the other *2 classes are, as they 
aren't shown in the OLEViewer, either as Interfaces or CoClasses, but their 
documentations are identical to the ones without the trailing "2".

The fact that the "Format" property belongs to the DTPicker class, rather 
than the MonthView class should answer your question, though. Those are  
two different, separate, classes with different properties and methods. 
Alaska has created wrappers for both, the XbpDatePicker() as well as the 
XbpMonthView() class. The XbpDatePicker() class has the :Format iVar / 
property, which is even documented.

>Is it because my MSCOMCT2.CHM is out of date or because am I trying to 
>access it in the wrong way?

Those *.chm files were all created from the same source that OLEViewer uses. 
But I strongly recommend to only use OLEViewer to view the actual, currently 
installed COM/OLE/OCX/ActiveX components on your computer, rather than some 
random *.chm file that someone else has created from some (possibly older or 
newer) version of the component.

Hope that helps,

Andreas

Andreas Gehrs-Pahl
Absolute Software, LLC

phone: (989) 723-9927
email: Andreas@AbsoluteSoftwareLLC.com
web:   http://www.AbsoluteSoftwareLLC.com
[F]:   https://www.facebook.com/AbsoluteSoftwareLLC
Carlos A Beling Re: Creating ActiveX Problem
on Fri, 05 Jun 2020 19:51:16 -0300
Hello Andreas.
Again many thanks.
I got the documentation of the ocx files using HelpKit Com Assistant.

Fraternally
Beling

On 05/06/2020 00:31, Andreas Gehrs-Pahl wrote:
> Carlos,
> 
> Please don't post large, unnecessary, zip files. If it is of any relevance,
> a link to the file (hosted somewhere online) might be much better.
> 
>> I am using the attached MSCOMCT2 help. There exists documented in
>> DTPicker2 the property format that does not exists in XbpMonthView().
> 
> I'm not sure what DTPicker2 or any of the other *2 classes are, as they
> aren't shown in the OLEViewer, either as Interfaces or CoClasses, but their
> documentations are identical to the ones without the trailing "2".
> 
> The fact that the "Format" property belongs to the DTPicker class, rather
> than the MonthView class should answer your question, though. Those are
> two different, separate, classes with different properties and methods.
> Alaska has created wrappers for both, the XbpDatePicker() as well as the
> XbpMonthView() class. The XbpDatePicker() class has the :Format iVar /
> property, which is even documented.
> 
>> Is it because my MSCOMCT2.CHM is out of date or because am I trying to
>> access it in the wrong way?
> 
> Those *.chm files were all created from the same source that OLEViewer uses.
> But I strongly recommend to only use OLEViewer to view the actual, currently
> installed COM/OLE/OCX/ActiveX components on your computer, rather than some
> random *.chm file that someone else has created from some (possibly older or
> newer) version of the component.
> 
> Hope that helps,
> 
> Andreas
>
Carlos A Beling Re: Creating ActiveX Problem
on Mon, 08 Jun 2020 13:37:36 -0300
Hello Andreas.
Good day.
I opened the prompt as administrator e tried to install MSComCtl.ocx 
from the folder Windows\System32 typing:
regsvr32 /i MSComCtl.ocx
and it failed in DllRegisterClient giving the error 0x80004005.
It is strange because XbpMonthView() and other work fine.

Fraternally
Beling

On 05/06/2020 00:31, Andreas Gehrs-Pahl wrote:
> Carlos,
> 
> Please don't post large, unnecessary, zip files. If it is of any relevance,
> a link to the file (hosted somewhere online) might be much better.
> 
>> I am using the attached MSCOMCT2 help. There exists documented in
>> DTPicker2 the property format that does not exists in XbpMonthView().
> 
> I'm not sure what DTPicker2 or any of the other *2 classes are, as they
> aren't shown in the OLEViewer, either as Interfaces or CoClasses, but their
> documentations are identical to the ones without the trailing "2".
> 
> The fact that the "Format" property belongs to the DTPicker class, rather
> than the MonthView class should answer your question, though. Those are
> two different, separate, classes with different properties and methods.
> Alaska has created wrappers for both, the XbpDatePicker() as well as the
> XbpMonthView() class. The XbpDatePicker() class has the :Format iVar /
> property, which is even documented.
> 
>> Is it because my MSCOMCT2.CHM is out of date or because am I trying to
>> access it in the wrong way?
> 
> Those *.chm files were all created from the same source that OLEViewer uses.
> But I strongly recommend to only use OLEViewer to view the actual, currently
> installed COM/OLE/OCX/ActiveX components on your computer, rather than some
> random *.chm file that someone else has created from some (possibly older or
> newer) version of the component.
> 
> Hope that helps,
> 
> Andreas
>
Andreas Gehrs-Pahl
Re: Creating ActiveX Problem
on Mon, 08 Jun 2020 16:24:59 -0400
Carlos,

>I opened the prompt as administrator e tried to install MSComCtl.ocx 
>from the folder Windows\System32 typing:
>regsvr32 /i MSComCtl.ocx
>and it failed in DllRegisterClient giving the error 0x80004005.
>It is strange because XbpMonthView() and other work fine.

It could be a version mismatch or the control might be in use, or already 
registered from a different location.

First, check if any other copies of the control exist on the computer.
Then try to first deregister all those control(s) -- until XbpMonthView() 
fails. After that, register it (once). That might fix the issue. 

Andreas

Andreas Gehrs-Pahl
Absolute Software, LLC

phone: (989) 723-9927
email: Andreas@AbsoluteSoftwareLLC.com
web:   http://www.AbsoluteSoftwareLLC.com
[F]:   https://www.facebook.com/AbsoluteSoftwareLLC
Carlos A Beling Re: Creating ActiveX Problem
on Tue, 09 Jun 2020 09:42:16 -0300
Hi Andreas.
Good day.
Many thanks.
Yes, the MSCOMCTL.OCX was registered using the folder ..\Mcrosoft Office\...

Fraternally
Beling

On 08/06/2020 17:24, Andreas Gehrs-Pahl wrote:
> Carlos,
> 
>> I opened the prompt as administrator e tried to install MSComCtl.ocx
>>from the folder Windows\System32 typing:
>> regsvr32 /i MSComCtl.ocx
>> and it failed in DllRegisterClient giving the error 0x80004005.
>> It is strange because XbpMonthView() and other work fine.
> 
> It could be a version mismatch or the control might be in use, or already
> registered from a different location.
> 
> First, check if any other copies of the control exist on the computer.
> Then try to first deregister all those control(s) -- until XbpMonthView()
> fails. After that, register it (once). That might fix the issue.
> 
> Andreas
>
Jim LeeRe: Creating ActiveX Problem
on Sat, 30 May 2020 21:25:36 +0200
hi,

for Datepicker CLSID is "MSComCtl2.DTPicker"
for MonthView CLSID is "MSComCtl2.MonthView"

p.s. Source for native Version (without OCX) can be found at www.xbwin.com 
(using ot4xb)
Carlos A Beling Re: Creating ActiveX Problem
on Mon, 01 Jun 2020 12:44:21 -0300
Hi Jim:
good day.
Many thanks.
I had installed the controls and I have the source that I saved from 
Xbase 1.9 some time ago.
Unfortunately I unistalled the 1.9 version.

Fraternally
Beling




On 30/05/2020 16:25, Jim Lee wrote:
> hi,
> 
> for Datepicker CLSID is "MSComCtl2.DTPicker"
> for MonthView CLSID is "MSComCtl2.MonthView"
> 
> p.s. Source for native Version (without OCX) can be found at www.xbwin.com
> (using ot4xb)
> 
>
Carlos A Beling Re: Creating ActiveX Problem
on Sat, 06 Jun 2020 13:58:09 -0300
Hi.
Good day.
Ihave a computer where MSCOMCT...ocx do not exists, then:
1) I wrote a function for to copy - using 'CopyFileA' from Kernel32.dll 
- the MSCOMCT...OCX files to the folder %SystemRoot%\System32 and 
installing them running _regsvr32 /i MSCOM...OCX_ .
The files are not copied and 'CopyFileA' does not return any error.

2) When I copy them manually - as administrator - and I try to install 
MSCOMCTL.OCX typing in the prompt _regsvr32 /i MSCOMCTL.OCX_ I get the 
message: _The module MSCOMCTL.OCX was loaded  but it had a failure 
calling DllRegisterServer... error code 0x8004005_. Is there a way to 
correct this error?

Fraternally
Carlos A Beling


On 29/05/2020 19:03, Carlos A Beling wrote:
> Hi:
> good night.
> I am testing an old one program XbpDatePicker.prg and I am having the 
> error shownnin the XppError.Log attached:
> 1) I can run normally 
> ..\Source\Samples\ActiveX\DatePicker\DatePicker\DatePick.exe
> 2) I have installed MSComCt2.ocx and MSComCtl2.ocx
> 3) I use the ::CLSID = "MSComCtl2.MonthView" in:
>      METHOD CabMonthView_:Init( oParent, oOwner, aPos, aSize, aPP, 
> lVisible )
>     ::XbpActiveXControl:Init( oParent, oOwner, aPos, aSize, aPP, lVisible )
>     ::CLSID := XBPMVIEW_CLSID
> RETURN self
> 4) the unique parameter used is <oParent> that is oDlg:drawingArea 
> sucessfully created
> 5) I tried all kind of combination for creating the ActiveX and all failed
> Please can anyone seed some light?
> 
> Fraternally
> Beling
Jim LeeRe: Creating ActiveX Problem
on Sat, 06 Jun 2020 19:54:12 +0200
that is one Reason why i wrote native Controls which does not need to 
install OCX
get the Source at www.xbwin.com and use Ot4xb to get rid of OCX

> Ihave a computer where MSCOMCT...ocx do not exists, then:
> 1) I wrote a function for to copy - using 'CopyFileA' from Kernel32.dll - 
> the MSCOMCT...OCX files to the folder %SystemRoot%\System32 and installing 
> them running _regsvr32 /i MSCOM...OCX_ .
> The files are not copied and 'CopyFileA' does not return any error.
>
> 2) When I copy them manually - as administrator - and I try to install 
> MSCOMCTL.OCX typing in the prompt _regsvr32 /i MSCOMCTL.OCX_ I get the 
> message: _The module MSCOMCTL.OCX was loaded  but it had a failure calling 
> DllRegisterServer... error code 0x8004005_. Is there a way to correct this 
> error?
Andreas Gehrs-Pahl
Re: Creating ActiveX Problem
on Sat, 06 Jun 2020 15:05:15 -0400
Carlos,

To copy files into any protected Windows directory or to register an OCX 
you need admin rights on Windows 10. Just start your command prompt using 
"Run as Administrator" and any program started from that shell has also 
admin rights. That way you shouldn't get any errors or issues.

If that doesn't help, make sure that Windows Update has completed. If there 
are updates pending, some things, like registering an OCX might fail.

Hope that helps,

Andreas

Andreas Gehrs-Pahl
Absolute Software, LLC

phone: (989) 723-9927
email: Andreas@AbsoluteSoftwareLLC.com
web:   http://www.AbsoluteSoftwareLLC.com
[F]:   https://www.facebook.com/AbsoluteSoftwareLLC