Use TProcedure as type of the properties.
2013/7/27 Timothy Groves <[email protected]> > Okay, I've spent an hour googling this one, and got no information that > helps. I want to declare four methods as being procedural variables, so > that I can set them and call them. Code follows. When I try to compile > this, I get: > > glanguage.pas(37,20) Error: Incompatible types: got "<address of > function:AnsiString;Register>" expected "tLanguage.<procedure variable type > of procedure;Register>". > > What am I doing wrong? > > > > unit glanguage; > > {$mode objfpc}{$H+} > > interface > > uses > Classes, SysUtils; > > type > tLanguage = class (tObject) > private > t_ClanNames : array of string; > t_language : integer; > procedure SetLanguage (a : integer); > public > FirstName : procedure; > LastName : procedure; > ClanName : procedure; > PlaceName : procedure; > property Language : integer read t_language write SetLanguage; > end; > > implementation > > uses > wrdsaxon; > > const > LG_NONE = 0; > LG_SAXON = 1; > > procedure tLanguage.SetLanguage (a : integer); > begin > case a of > LG_SAXON : begin > FirstName := @SaxonMale; > LastName := @SaxonFemale; > ClanName := @SaxonFamily; > PlaceName := @SaxonPlace; > end; > end; > end; > > end. > > > -- > ______________________________**_________________ > Lazarus mailing list > [email protected].**freepascal.org<[email protected]> > http://lists.lazarus.**freepascal.org/mailman/**listinfo/lazarus<http://lists.lazarus.freepascal.org/mailman/listinfo/lazarus> > -- *Timeo hominem unius libri* []s Guionardo Furlan http://www.guionardofurlan.com.br
-- _______________________________________________ Lazarus mailing list [email protected] http://lists.lazarus.freepascal.org/mailman/listinfo/lazarus
