Plateforme Level Extreme
Abonnement
Profil corporatif
Produits & Services
Support
Légal
English
Changing Methods field in MyForm.SCX
Message
De
10/04/1998 20:53:46
 
 
Information générale
Forum:
Visual FoxPro
Catégorie:
Gestionnaire d'écran & Écrans
Divers
Thread ID:
00090757
Message ID:
00091239
Vues:
24
David,

Excellent head start. Thank you! Looks like a weekend of fun coming up ... I enjoy working at this level.

Bob

..............................
>>Thanks for the warning David. I've re-read Steven Black's Hook Operations article from the Aug. 1997 FoxTalk and now realize that it's not as straight forward as I thought. There are some subclassing issues to consider.
>
>Yes there are. *g*
>
>>Could you suggest the best source of info on the Reserved memo fields and order dependent issues.
>
>I don't know of a real good reference. I think Drew Speedie's Devcon session had a scx/vcx hack editor, might be some stuff in his code. I've just figured it out by hacking it or seeing other messages arount. Check to see if you can find Tom Rettig's PRGToVCX utility. Here's one code fragment of mine that deals with Reserved3 memo
>
>
      * process custom properties and methods
>      if ( ! empty( InputFile.Reserved3 ) )
>         ?
>         ? "Custom Properties and Methods:"
>         ?
>         lnCustom = memlines( InputFile.Reserved3 ) - 1
>         dimension laCustom[m.lnCustom, 4]
>         lnLength = 0
>         for i = 1 to m.lnCustom
>            * parse out name and comment
>            lcCustom = mline( InputFile.Reserved3, i )
>            j = at( ' ', m.lcCustom )
>            if ( j > 0 )
>               laCustom[i,1] = left( m.lcCustom, j - 1 )
>               laCustom[i,2] = substr( m.lcCustom, j + 1 )
>            else
>               laCustom[i,1] = m.lcCustom
>               laCustom[i,2] = ""
>            endif
>
>            * determine whether it's a property, method or array
>            c = left( laCustom[i,1], 1 )
>            do case
>               case ( c == '*' )
>                  laCustom[i,3] = 'M'
>               case ( c == '^' )
>                  laCustom[i,3] = 'A'
>               otherwise
>                  laCustom[i,3] = 'P'
>            endcase
>            if ( laCustom[i,3] != 'P' )
>               * strip off marker character
>               laCustom[i,1] = substr( laCustom[i,1], 2 )
>            endif
>
>            laCustom[i,1] = CorrectCase( laCustom[i,1] )
>            laCustom[i,4] = ( laCustom[i,1] $ InputFile.Protected )
>            lnLength = max( m.lnLength, len( laCustom[i,1] ) )
>         endfor
>
>         * sort properties and methods and output
>         = asort( laCustom )
>         lnLength = lnLength + 1
>         for i = 1 to m.lnCustom
>            if ( laCustom[i,4] )
>               ? "   Protected "
>            else
>               ? "   Public    "
>            endif
>            do case
>               case ( laCustom[i,3] $ "PA" )
>                  ?? " Property "
>               case ( laCustom[i,3] $ "M" )
>                  ?? " Method   "
>            endcase
>            ?? padr( laCustom[i,1], lnLength )
>            ?? laCustom[i,2]
>         endfor
>      else
>         lnCustom = 0
>      endif
Précédent
Répondre
Fil
Voir

Click here to load this message in the networking platform