Direkt geht es nicht, jedoch kann man ein bisschen tricksen...
Das folgende Beispiel ist quick & dirty, der Speicher wird nicht freigegeben. Es dient nur zur Demonstration!
Delphi-Quellcode:
unit Unit1;
interface
uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, StdCtrls;
type
TMoreVars =
class(TObject)
public
Test1:
String;
Test2: Integer;
end;
TForm1 =
class(TForm)
Button1: TButton;
Button4: TButton;
procedure Button4Click(Sender: TObject);
procedure DoSomething(Sender: TObject);
private
{ Private-Deklarationen }
public
{ Public-Deklarationen }
end;
var
Form1: TForm1;
implementation
{$R *.dfm}
{ TForm1 }
procedure TForm1.Button4Click(Sender: TObject);
var
mv: TMoreVars;
begin
mv := TMoreVars.Create;
mv.Test1 := '
Hello =)';
mv.Test2 := 5;
Button1.Tag := Integer(mv);
end;
procedure TForm1.DoSomething(Sender: TObject);
var
mv: TMoreVars;
begin
//
mv := TMoreVars((Sender
as TButton).Tag);
ShowMessage(mv.Test1);
showMessage(IntToStr(mv.Test2));
end;
end.