Einzelnen Beitrag anzeigen

Benutzerbild von Die Muhkuh
Die Muhkuh

Registriert seit: 21. Aug 2003
7.332 Beiträge
 
Delphi 2009 Professional
 
#6

Re: Varibale bei (Sender:Object) mit übergeben

  Alt 22. Mai 2007, 16:45
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.
  Mit Zitat antworten Zitat