[fpc-pascal] How to set a type as a variable?
Anthony Walter
sysrpl at gmail.com
Tue Aug 24 01:15:57 CEST 2010
Like so:
procedure Test;
var
SomeType: TClass;
SomeObject: TObject;
begin
SomeType := TStringList;
SomeObject := SomeType.Create;
(SomeObject as TStrings).Add('Hello World');
ShowMessage((SomeObject as TStrings)[0]);
SomeObject.Free;
end;
On Mon, Aug 23, 2010 at 7:05 PM, Frank Church <vfclists at gmail.com> wrote:
>
> I did this kind of thing some time ago, but have forgotten the details.
>
> Let us say you have something like TBaseType(Variable).Method, you want to
> let TBaseType be a variable so you can have some code like this.
>
> procedure (value:someType)
> var
> variableType: TClass; //not quite sure here
> variableType := TypeOf(value);
>
> then further on you execute something like
>
> variableType(Variable).Method, rather than TBaseType(Variable).Method
> because you can't hard code TBaseType because can't tell what it will be at
> runtime. I remember doing something like that with Delphi of old, probably
> Delphi 3 or Delphi 7
>
> Can someone help me with this, with some use cases as well?
>
> Thanks
>
> --
> Frank Church
>
> =======================
> http://devblog.brahmancreations.com
>
> _______________________________________________
> fpc-pascal maillist - fpc-pascal at lists.freepascal.org
> http://lists.freepascal.org/mailman/listinfo/fpc-pascal
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.freepascal.org/pipermail/fpc-pascal/attachments/20100823/3e221b4e/attachment.html>
More information about the fpc-pascal
mailing list