[Lazarus] Obtaining Control Address
SteveG
steveg at nevets.com.au
Fri Jul 30 03:07:17 CEST 2010
SteveG wrote:
> SteveG wrote:
>> Paul Ishenin wrote:
>>> 30.07.2010 8:06, SteveG wrote:
>>>> Would anybody know how to obtain the address of the following control?
>>>>
>>>> Arg1 := @Application.Components[0];
>>>>
>>>> This results in "Variable identifier expected" error
>>>
>>> A class instance is already a pointer.
>>>
>>> Arg1 := Application.Components[0] is enough.
>>
>> Thanks Paul, something new every day :)
>>
>
> I am trying to do the following, but the second assignment type is where
> I am having problems
>
> NOTE - this is just an example, assuming that app.comp[0] is the one I
> want (which its not) - otherwise the first assign works ok
>
> Suggestions much appreciated
>
> procedure TForm1.Button1Click(Sender: TObject);
> var str1 :string;
> begin
> str1 := IntToStr( PtrInt( Button1 ) ); // WORKS
> str1 := IntToStr( PtrInt( Application.Components[0] ) ); // FAILS
>
> TButton( pointer(StrToIntDef(Trim( str1 ), 0)) ).Caption := 'OK';
> end;
>
HOLD THE BUSES :)
I think my example works, but my actual code doesnt
I will do some more testing before bothering everyone again
Thanks
More information about the Lazarus
mailing list