This particular function could be declared as this: TEnvironment = class public class function GetEnvironment(const Name: PChar): PChar; cdecl; end;
class function GetEnvironment(const Name: PChar): PChar; cdecl; external 'c' name 'getenv'; Of course this is not very useful but the idea for methods is this. Just keep in mind that methods have a hidden parameter Self pointing to the object. When method is declared as cdecl it is the first parameter. Tia, Geno Roupsky В вт, 2006-01-31 в 10:05 +0330, Amir Aavani написа: > dear friends, > I know that if want to use an external variable/procedure in fpc, i > should use the following code: > > function GetEnvironment (const Name: PChar): PChar; cdecl; external 'c' > name 'getenv'; > > but how could i add for example GetEnvironment function to a class > (TEnvironment)! > Is there any good (OO) way? > > Is it a good idea to use a following method: > > TGetEnvironmentFunction= function : PChar; > TEnvironment= class (TObject) > private > ... > public > GetEnvironment: TGetEnvironment; > procedure SetGetEnvironmentFunction (AFunction: TGetEnvironmentFunction); > ... > end; > > procedure TEnvironment.SetGetEnvironmentFunction (AFunction: > TGetEnvironmentFunction); > begin > GetEnvironment:= AFunction; > end; > > > > _______________________________________________ > fpc-devel maillist - fpc-devel@lists.freepascal.org > http://lists.freepascal.org/mailman/listinfo/fpc-devel > _______________________________________________ fpc-devel maillist - fpc-devel@lists.freepascal.org http://lists.freepascal.org/mailman/listinfo/fpc-devel