Lorsque je crée un composant dynamique à partir de l'unité, je n'ai aucun problème à créer l'événement OnClick. Lorsque je crée un composant dynamique à partir de unité 2 Impossible d'accéder à l'événement OnClick.Problème Delphi OnClick avec plusieurs unités
unit Unit1
type
TForm1 = class(TForm)
procedure FormCreate(Sender: TObject);
private
{ Private declarations }
public
Procedure ClickBtn1(Sender: TObject);
end;
var
Form1: TForm1;
MyBtn1: TButton;
implementation
{$R *.dfm}
{ TForm1 }
uses Unit2;
procedure TForm1.ClickBtn1;
begin
MyBtn1.Caption := 'OK';
MakeBtn2;
end;
procedure TForm1.FormCreate(Sender: TObject);
begin
MyBtn1 := TButton.Create(Self);
MyBtn1.Parent := Form1;
MyBtn1.Name := 'Btn1';
MyBtn1.Left := 50;
MyBtn1.Top := 100;
MyBtn1.Caption := 'Click Me';
MyBtn1.OnClick := ClickBtn1;
end;
end.
unit Unit2;
interface
uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, StdCtrls;
procedure MakeBtn2;
procedure ClickBtn2;
var
MyBtn2: TButton;
implementation
Uses Unit1;
procedure MakeBtn2;
begin
MyBtn2 := TButton.Create(Form1);
MyBtn2.Parent := Form1;
MyBtn2.Name := 'Btn2';
MyBtn2.Left := 250;
MyBtn2.Top := 100;
MyBtn2.Caption := 'Click Me';
MyBtn2.OnClick := ClickBtn2; //Compiler ERROR
end;
procedure ClickBtn2;
begin
MyBtn1.Caption := 'OK';
end;
end.
Quelle serait la meilleure façon de acheive ce que je veux? –
Déclarez une méthode sur votre formulaire avec la bonne signature et placez le code que vous essayez d'exécuter ici. –