[Gambas-user] Property question....
Benoit Minisini
gambas at ...1...
Fri Mar 14 21:19:41 CET 2008
On vendredi 14 mars 2008, Stephen Bungay wrote:
> Stephen Bungay wrote:
> > Benoit Minisini wrote:
> >> On vendredi 14 mars 2008, Stephen Bungay wrote:
> >>> Given the following....
> >>>
> >>> PUBLIC mRecordSet AS Result
> >>>
> >>> PROPERTY RecordSet AS Result
> >>> PRIVATE FUNCTION RecordSet_Read() AS Result
> >>> RETURN (mRecordSet) ' This will probably never get used
> >>> ' access mRecordSet directly.
> >>> END
> >>>
> >>> PRIVATE SUB RecordSet_Write(Value AS Result)
> >>> IF NOT IsNull(Value) THEN
> >>> IF Value.Count > 0 THEN
> >>> mRecordSet = Value
> >>> PopulateForm
> >>> END IF
> >>> END IF
> >>> END
> >>> .
> >>> .
> >>> .
> >>> ' Only gets called when Property RecordSet is written to...
> >>> Private Sub PopulateForm()
> >>> ' Code to populate the form from data in mRecordSet goes here
> >>> END
> >>>
> >>>
> >>> An assignment of a result set to property 'RecordSet' will yield
> >>> "Unknown identifier: RecordSet at line [line number] in
> >>> [formname].class.
> >>
> >> This is a compiler error. Please explain how you can get it at runtime
> >> while assigning the property!
> >
> > Yes the error is happening at compile time and is something I did not
> > expect (i.e. since RecordSet is declared as a property it should be a
> > 'known' identifier).
>
> So if we have a button on the form called Button1 and the intent of
> this action is to execute an SQL and assign the result to the property
> 'RecordSet', that is where the compiler presents the error. It appears
> that the compiler isn't aware of the Property.
>
> Private Sub Button1_Click()
> 'Compiler gives an 'unknown identifier' error on the next line.
> RecordSet = DatabaseConnection.Exec("Select * FROM MyTable")
> END
>
You must write ME.Recordset at the moment. I think this is a lack in the
compiler that cannot compile properties without ME, whereas it could with
methods and variables.
Regards,
--
Benoit Minisini
More information about the User
mailing list