Cela fais une semaine que je suis plongé dans tous ce qui a un relation avec delphi 7 sur le net a cause de mon problème, qui est le suivent:
-1) j'ai un MainForm avec un menu et un StatutBar
-2) j'ai un form2 avec des traitement a faire
Alors, par le menu je Crée dynamiquement le Form2, avec un caption et une information sur le StatutBar, dans le panel qui est le parent de celui-ci, et en même temps je le recrée, avec un autre caption et une autre information, sans détruire le premier, et en utilisons l'événement OnClick pour que l'information change dans le statutBar, rien ne ce passe.
pour ceux qui peuvent m'aider, Merci d'avance pour votre aide
voici mon code
//--------------- Unit1 -------------------------
unit Unit1;
interface
uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, ComCtrls, Menus, ExtCtrls;
type
TForm1 = class(TForm)
Panel1: TPanel;
MainMenu1: TMainMenu;
Menu1Chois11: TMenuItem;
Menu1Choi21: TMenuItem;
Appel11: TMenuItem;
Appel21: TMenuItem;
StatusBar1: TStatusBar;
procedure Appel11Click(Sender: TObject);
procedure Appel21Click(Sender: TObject);
private
{ Private declarations }
public
{ Public declarations }
end;
var
Form1: TForm1;
implementation
Uses Unit2;
{$R *.dfm}
procedure TForm1.Appel11Click(Sender: TObject);
begin
Application.CreateForm(TForm2, Form2);
Form2.Caption := 'Appel 1er fois';
Form2.Parent := Panel1;
Form2.Top := panel1.Top +50;
Form2.Left := panel1.Left + 50;
StatusBar1.Panels.Items[1].Text := 'Info 1';
Form2.Memo1.Lines.Clear;
Form2.Memo1.Lines.Add('Je suis le 1er affichage');
Form2.Show;
end;
procedure TForm1.Appel21Click(Sender: TObject);
begin
Application.CreateForm(TForm2, Form2);
Form2.Caption := 'Appel 2eme fois';
Form2.Parent := Panel1;
Form2.Top := panel1.Top +50;
Form2.Left := panel1.Left + 50
StatusBar1.Panels.Items[1].Text := 'Info 2';
Form2.Memo1.Lines.Clear;
Form2.Memo1.Lines.Add('Je suis le 2eme affichage');
Form2.Show;
end;
end.
//----------------- Unit 2 ------------------------------
unit Unit2;
interface
uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, StdCtrls;
type
TForm2 = class(TForm)
Memo1: TMemo;
procedure FormClick(Sender: TObject);
procedure FormClose(Sender: TObject; var Action: TCloseAction);
procedure Button1Click(Sender: TObject);
private
{ Private declarations }
public
{ Public declarations }
end;
var
Form2: TForm2;
implementation
uses Unit1;
{$R *.dfm}
procedure TForm2.FormClick(Sender: TObject);
begin
If Caption = 'Appel 1er fois' then Form1.StatusBar1.Panels.Items[1].Text := 'Info 1';
If Caption = 'Appel 2eme fois' then Form1.StatusBar1.Panels.Items[1].Text := 'Info 2';
end;
procedure TForm2.FormClose(Sender: TObject; var Action: TCloseAction);
begin
Free;
end;
end.
NB: je suis autodidacte, et j'ai pas fait de formation sur le delphi
bonjour MiniApp,
Merci pour ta repense, j'y ai penser mais il y a un petit désagrément avec un autre Tform, vu que c'est les même traitements, pour les 2 appels, seul l'info dans le STATUSBAR qui change et gère la suite du code, je ponce que c'est un double emplois et pas beaux dans la syntaxe de l'application.
Si t'es d'accord avec moi?
Perso je ne vois pas en quoi ceci est dérangeant, peut être les if then très présent peuvent alourdir le code mais si tu fait les "doubles espaces hiéarchique" (
if Genre then
begin
Ca.TuVois('?');
end;
) tu peux réglez le problème.
Comme toi j'apprends par moi même (j'ai eu un amis qui m'a appris les bases et je continue a en apprendre). Après un plus expérimenter te confirmera peut être. De toute façon il y a plein de façon de faire la même chose et tant que ça marche ça peut allez.
DJR
>
MiniApp
Messages postés653Date d'inscriptionlundi 21 juillet 2014StatutMembreDernière intervention22 février 2019 12 avril 2015 à 17:09
bonjour MiniApp,
merci pour ton aide, mais voila j'ai abandonner cette idée et j'ai contourner le problème, en désactivons le menu pour que le 2 appel ne soit pas possible c'est tout pour le moment
Modifié par DJR le 5/04/2015 à 16:18
Merci pour ta repense, j'y ai penser mais il y a un petit désagrément avec un autre Tform, vu que c'est les même traitements, pour les 2 appels, seul l'info dans le STATUSBAR qui change et gère la suite du code, je ponce que c'est un double emplois et pas beaux dans la syntaxe de l'application.
Si t'es d'accord avec moi?
Modifié par MiniApp le 11/04/2015 à 19:06
) tu peux réglez le problème.
Comme toi j'apprends par moi même (j'ai eu un amis qui m'a appris les bases et je continue a en apprendre). Après un plus expérimenter te confirmera peut être. De toute façon il y a plein de façon de faire la même chose et tant que ça marche ça peut allez.
12 avril 2015 à 17:09
merci pour ton aide, mais voila j'ai abandonner cette idée et j'ai contourner le problème, en désactivons le menu pour que le 2 appel ne soit pas possible c'est tout pour le moment