Level Extreme platform
Subscription
Corporate profile
Products & Services
Support
Legal
Français
Subclassing an ActiveX Control
Message
From
18/11/2001 16:06:15
 
 
To
All
General information
Forum:
Visual FoxPro
Category:
Coding, syntax & commands
Title:
Subclassing an ActiveX Control
Miscellaneous
Thread ID:
00583264
Message ID:
00583264
Views:
49
When subclassing an activex control, for example Microsoft ListView control in a prg file, the only syntax that worked to dynamically instantiate the appropriate control depending on the Windows version wether NT4 or W2K was the following:

DEFINE CLASS myclass AS OLEControl
OLEClass = EVALUATE("IIF('5'$ OS(),'MSComctlLib.ListViewCtrl.2','COMCTL.ListViewCtrl.1')")
NAME='MyClass'
.......
ENDDEFINE

If I move the evaluation to a procedure which returns the character string of the control name, for example:

DEFINE CLASS myclass AS OLEControl
OLEClass = GetName() && or EVALUATE("GetName()")
NAME='MyClass'
.......
ENDDEFINE

PROCEDURE GetName
DO CASE
CASE '5' $ OS()
RETURN 'MSComctlLib.ListViewCtrl.2'
CASE '4' $ OS()
RETURN 'COMCTL.ListViewCtrl.1'
ENDCASE
ENDPROC

the error "Invalid subscript reference" occurs when trying to instantiate an object of 'MyClass'.

I'd appreciate any explanation of this behavior.

Regards,
Next
Reply
Map
View

Click here to load this message in the networking platform