Alaska Software Inc. - Embedded documentation
Username: Password:
AuthorTopic: Embedded documentation
Jack DuijfEmbedded documentation
on Thu, 05 Oct 2006 20:35:14 +0200
Hello Alaska team,

I find the intellihelp on VX extreemly usefull. Unfortunaly this goes for 
Procedures and Functions only.
It would bennefit VX if this could be extended to classes.
Here is my suggestion, i hopem you like it.

How does VX knows what type of class a LOCAL var should contain.
Just define it as follows:

LOCAL oSrv As ServiceConfiguration := nil
LOCAL oSrv1    := nil

oSrv := ServiceConfiguration():New()
oSrv1 := oSrv

VX knows now that oSrv is of type ServiceConfiguration, and inherrits from 
AnotherClass. So it alo knows all the exported methods and vars.
As soon as the : is entered after oSrv in VX editor, a list of properties 
(alfabeticly) of that object can be displayed, and choosed from. Special 
attention to the inherreted methods with identical names, these should be 
preceded by the classname. The list should display somthing like:

MTH:AnotherClass:Destroy
MTH:AnotherClass:Init
MTH:Destroy
MTH:Init
VAR:MyVar1
VAR:MyVar2
MTH:Read
MTH:ReadFile(cFilename)
MTH:Write
MTH:WriteFile(cFileName)
VAR:cBuffer
VAR:cFileName

This would save me a lot of lookup in the helpfile for standard Xbase++ 
classes, and looking back in my own sourcecode.  Ofcoarse oSrv1: would have 
no intellisense

Enhancements in VX of this kind would be verry appreciated.

Regards,
Jack Duijf


/// <summary>
///  <para>
///    Contains configuration parameters for my service
///  </para>
/// </summary>
///
CLASS ServiceConfiguration FROM AnotherClass
EXPORTED:
METHOD Init
METHOD Destroy
METHOD Read
METHOD Write
VAR    MyVar1
VAR    MyVar2
ENDCLASS

/// <summary>
///  <para>
///    Contains another ROOT class
///  </para>
/// </summary>
///
CLASS AnotherClass
EXPORTED:
METHOD Init
METHOD Destroy
METHOD ReadFile
METHOD WriteFile
VAR    cFileName
VAR    cBuffer
ENDCLASS

/// <summary>
///  <para>
///    Read file info object buffer
///  </para>
///  <para>
///    Return: SELF
///  </para>
/// </summary>
///
METHOD AnotherClass:ReadFile(cFileName)
Return SELF