[fpc-devel] How to call (access) to an external procedure!
Geno Roupsky
groupsky at nola7.com
Tue Jan 31 08:27:51 CET 2006
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 at lists.freepascal.org
> http://lists.freepascal.org/mailman/listinfo/fpc-devel
>
More information about the fpc-devel
mailing list