Bonjour a tous,
il y a presque 4 jours je tente de résoudre mon problème , mais je n'arrive pas alors demande une aide.
J'ai une fenêtre (Form) qui contient des bouton , quand je clique sur un bouton j'affiche une frame le code est le suivant

l'unité de la Frame
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
 
unit NouvEleve;
interface
 
uses
  Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
  Dialogs, ExtCtrls,  StdCtrls, ComCtrls, DB, ADODB,DataModule,
  Mask, DBCtrls, ExtDlgs, Buttons;
 
type
  TFNouvEleve = class(TFrame)
    Panel122: TPanel;
    Label1: TLabel;
    Label2: TLabel;
    Label3: TLabel;
    Label6: TLabel;
    Label4: TLabel;
    Label5: TLabel;
    LaDate: TDateTimePicker;
    Label14: TLabel;
    Bevel2: TBevel;
    Label8: TLabel;
    Label9: TLabel;
    Label10: TLabel;
    Label11: TLabel;
    Label13: TLabel;
    Label20: TLabel;
 
// reste de la declaration 
var 
   FNouvEleve :TFNouvEleve ;
implementation
uses main;
{$R *.dfm}
il y a plusieurs composants sur ma frame , quand je clique sur un bouton pour refermer ma frame j'ai mis ce code :

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
 
procedure TFNouvEleve.BitBtn1Click(Sender: TObject);
begin
   Self.free; // Fermer la frame
   // C'est ici que je reçois le message d'erreur "  Erreur abstraite"
end;

l'appelle de ma Frame depuis mon programme principale ce fait comme suit
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
 
procedure TFmain.BitBtn3Click(Sender: TObject);
begin
 FNouvEleve := TFNouvEleve.Create(Self);
 FNouvEleve.Parent:= Panel1;
 FNouvEleve.Align := alClient;
end;
bien sur j'ai ajouter l'unité de la frame dans la close uses de ma fenêtre principale :
alors une aide SVP.
bon développement a tous.