Plateforme Level Extreme
Abonnement
Profil corporatif
Produits & Services
Support
Légal
English
How to access the FORM properties
Message
 
À
06/10/2005 05:06:47
Yim Ming Sun Derek
Spacious Design Consultant
Hong Kong, Hong Kong
Information générale
Forum:
Visual FoxPro
Catégorie:
Codage, syntaxe et commandes
Versions des environnements
Visual FoxPro:
VFP 9
OS:
Windows XP SP2
Network:
Windows 2003 Server
Database:
Visual FoxPro
Divers
Thread ID:
01056641
Message ID:
01056696
Vues:
24
>Hi,
>I have command button on a form, the click event will call a user define function to run something. But in the function will access a properties on the form.
>
>For example
>
>
>function check_count()
>ncnt = thisform.count
>....
>Return .t.
>
>
>I got an error said that thisform only use in METHOD.
>
>How can I solve it ?
>Please advise
>Derek

Tamar gives you the best solution. But if you already have many forms and want to use this function in all of them, you have two other chioses:
1. Use _SCREEN.ActiveForm
function check_count()
LOCAL ncnt
ncnt = 0
IF VARTYPE(_SCREEN.ActiveForm) == "O"
   IF PEMSTATUS(_SCREEN.ActiveForm.count,5)
      ** UPDATE. Thanks again Fred
      ncnt = _SCREEN.ActiveForm.count && Stupid me I still referencing thiform here
   ENDIF
ENDIF
....
Return .t.
2. Other way is to poass a reference of the for to Function
Somwhere in the form:
check_count(...,thisform)
function check_count(...,oForm)
LOCAL ncnt
ncnt = 0
IF VARTYPE(oForm) == "O"
   IF PEMSTATUS(oForm.count,5)
      ncnt = oForm.count && And Here
   ENDIF
ENDIF
....
Return .t.
Against Stupidity the Gods themselves Contend in Vain - Johann Christoph Friedrich von Schiller
The only thing normal about database guys is their tables.
Précédent
Répondre
Fil
Voir

Click here to load this message in the networking platform