bonjour tout le monde!
voila je voudrai encore mieu comprendre les class ainsi que les sous class , j'ai justement une question par rapport a cela ,
lorsque l'on demarre une nouvelle Unit , on obtient ceci
unit Unit1;
interface
uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs;
type
TForm1 = class(TForm)
private
{ Private declarations }
public
{ Public declarations }
end;
var
Form1: TForm1;
implementation
{$R *.dfm}
end.
on voit parfaitement que TForm1 a un ancetre qui est TFORM
voici ma premiere question je ne comprend pas pourquoi ils n'utilisent pas directement la class Tform , au lieu de creer une nouvelle class a partir de l'ancetre, de + il faudrait utiliser les Inherited keyword pour faire appel aux procedures de Tform afin de les modifier.
autre chose aussi , c'est lorsqu'on rajoute un nouveau component , par exemple un boutton , on obtient ceci si on met un onlick event :
type
TForm1 = class(TForm)
Button1: TButton;
procedure Button1Click(Sender: TObject);
private
{ Private declarations }
public
{ Public declarations }
end;
Donc on rajoute une class Button 1 : de type Tbutton ainsi que la procedure TForm1.Button1Click(Sender: TObject); , puis on ajoute dans implementation (afin d'ecrire ce qui ce produit lorsqu'on fait appel a cette procedure) :
procedure TForm1.Button1Click(Sender: TObject);
begin
//ici on ecrit notre code pour cette procedure
end;
seulement il y a une chose qui me frappe , pourquoi on appel la procedure Tform1.Button1Click(Sender: TObject); alors que si vous regardez bien en haut il est cree un objet appelé Form1 de type Tform1 :
var
Form1: TForm1;
pourquoi on ne peut donc pas ecrire pour le on click event :
procedure Form1.Button1Click(Sender: TObject); ???
je sais , peut etre parceque la procedure est declarée dans Tform1 , seulement Form1 : Tform1 servirait à quoi?
j'ai aussi une autre question , normalement on fait appel a un constructor , et comme Tform1 est un descendant de Tform , je comprendrai que l'on puisse faire appel a <<Inherited Create>> dans Tform1 , seulement ici Tform1 n'a pas de constructor ! :/// pourquoi?
voila j'espere que je ne derange pas trop avec mes questions de debutants!
si quelqu'un pouvait bien me repondre! merci!