thisForm.someObject1.someObject2.someProperty = "foo" * This can be truncated for lots of use with WITH, or even: lo = thisForm.someObject1.someObject2 lo.someProperty = "foo"In Visual FreePro, a new property is added to every object, nameStatic. Like "name", it identifies the object. However, the nameStatic property doesn't change and can be duplicated if there exists more than one object of the same class. However, when there is only one object of the same class, or when the nameStatic values are all set to unique values, they can be referenced simply as:
thisForm!itsNameStatic.propertyOrMethod * Example: * Suppose the object above has the name "someObject2" and the nameStatic "myControl". thisForm!myControl.someProperty = "foo" * This can also be truncated to: !myControl.someProperty = "foo" && To access a property !myControl.click() && To access a method * And it can be referenced from any object on the form. So long as there is only one nameStatic * somewhere, it will always find that exact control. * Note: Also, when referencing a nameStatic in a class, you can use "thisClass!nameStatic" * to access that particular instance. Or if it's in a class that's referenced somewhere, * you can use "thisForm.myClass!nameStatic". thisClass!nameStatic.someProperty = "foo" thisForm.myClass!nameStatic.someProperty = "foo" * And for a class that is a member of a parent form, class, or container object, you can * use "thisContainer!nameStatic" to reference the item: thisContainer!nameStatic.someProperty = "foo" * Note: You can also use thisClass and thisContainer as you would normally with * dots between each property, as like thisForm.See this page for more information: