Thanks Geno that works, but could you tell me what should i do for an external variable, var environ: ppchar; cvar; external; Geno Roupsky wrote: function TEnvironment.GetEnvironment(const Name: PChar): PChar; cdecl; externalThis 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'; '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 |
_______________________________________________ fpc-devel maillist - fpc-devel@lists.freepascal.org http://lists.freepascal.org/mailman/listinfo/fpc-devel