IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Delphi Discussion :

executer un formulaire a partir d'un menu


Sujet :

Delphi

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre confirmé
    Inscrit en
    Septembre 2002
    Messages
    71
    Détails du profil
    Informations forums :
    Inscription : Septembre 2002
    Messages : 71
    Par défaut executer un formulaire a partir d'un menu
    Salut,

    j'ai une application avec deux formulaires dont l'un est le menu.
    Quand je click sur une option qui doit ouvrir l'autre formulaire, j'obtient le message suivant : Access violation at address 004034EE in module "nom module" . Read of address 00000000.
    Comment lui faire reconnaitre le deuxieme formulaire ?

  2. #2
    Rédacteur

    Profil pro
    Inscrit en
    Décembre 2004
    Messages
    79
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Décembre 2004
    Messages : 79
    Par défaut
    Salut,
    Si j'ai bien compris ta question, la solution est simple :
    tu déclare dans uses le nom de l'unit dans laquelle est stockée la seconde form.
    Ca donne quelque chose genre :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    uses Sysutils,... NomDeLUnitQuiContientTaForm;
    Et pour l'appel :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
     
    procedure Montrerfiche;
    begin
    TaForm.show;; // Cette fois ci on fournit le NOM de la form et pas le nom de l'unit qui la contient
    end;

  3. #3
    Membre confirmé
    Inscrit en
    Septembre 2002
    Messages
    71
    Détails du profil
    Informations forums :
    Inscription : Septembre 2002
    Messages : 71
    Par défaut
    j'ai essaye mais le meme message revient. Voila mon code :

    unit Unit3;

    interface

    uses
    Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
    Dialogs, jpeg, ExtCtrls, Menus, Unit4;

    type
    TForm4 = class(TForm);
    TForm3 = class(TForm)
    Image1: TImage;
    MainMenu1: TMainMenu;
    Fichier: TMenuItem;
    Edition1: TMenuItem;
    Quitter1: TMenuItem;
    ConsultationOprations1: TMenuItem;
    procedure FichierClick(Sender: TObject);
    procedure Edition1Click(Sender: TObject);
    procedure Quitter1Click(Sender: TObject);
    procedure ConsultationOprations1Click(Sender: TObject);
    private
    { Private declarations }

    public
    { Public declarations }
    end;

    var
    Form3: TForm3;
    Form4: TForm4;
    implementation

    {$R *.dfm}

    procedure TForm3.Quitter1Click(Sender: TObject);
    begin
    form3.Close
    end;

    procedure TForm3.Edition1Click(Sender: TObject);
    begin
    ShowMessage('En cours de réalisation SVP...');
    end;

    procedure TForm3.FichierClick(Sender: TObject);
    begin
    // ShowMessage('Tâches de cette option en cours de réalisation ...');
    end;

    procedure TForm3.ConsultationOprations1Click(Sender: TObject);
    begin
    form4.Show
    end;
    end.


    C'est Form4 qui doit etre execute et elle est dant Unit4.

  4. #4
    Rédacteur

    Profil pro
    Inscrit en
    Décembre 2004
    Messages
    79
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Décembre 2004
    Messages : 79
    Par défaut
    Ne déclare pas TForm4 = class(TForm); et Form4: TForm4;
    Si tu enleves ces 2 déclarations ca devrait marcher
    Le code devrait donc donner :
    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
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
    51
    52
    53
    54
    55
     
     
    unit Unit3;
     
    interface
     
    uses
    Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
    Dialogs, jpeg, ExtCtrls, Menus, Unit4;
     
    type
    TForm3 = class(TForm)
    Image1: TImage;
    MainMenu1: TMainMenu;
    Fichier: TMenuItem;
    Edition1: TMenuItem;
    Quitter1: TMenuItem;
    ConsultationOprations1: TMenuItem;
    procedure FichierClick(Sender: TObject);
    procedure Edition1Click(Sender: TObject);
    procedure Quitter1Click(Sender: TObject);
    procedure ConsultationOprations1Click(Sender: TObject);
    private
    { Private declarations }
     
    public
    { Public declarations }
    end;
     
    var
    Form3: TForm3;
    implementation
     
    {$R *.dfm}
     
    procedure TForm3.Quitter1Click(Sender: TObject);
    begin
    form3.Close
    end;
     
    procedure TForm3.Edition1Click(Sender: TObject);
    begin
    ShowMessage('En cours de réalisation SVP...');
    end;
     
    procedure TForm3.FichierClick(Sender: TObject);
    begin
    // ShowMessage('Tâches de cette option en cours de réalisation ...');
    end;
     
    procedure TForm3.ConsultationOprations1Click(Sender: TObject);
    begin
    form4.Show
    end;
    end.

  5. #5
    Membre confirmé
    Inscrit en
    Septembre 2002
    Messages
    71
    Détails du profil
    Informations forums :
    Inscription : Septembre 2002
    Messages : 71
    Par défaut
    Effectivement ça marche.
    Merci beaucoup...

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Réponses: 6
    Dernier message: 19/04/2008, 17h08
  2. Executer une application a partir d'un formulaire
    Par ibticeme dans le forum IHM
    Réponses: 36
    Dernier message: 26/10/2006, 23h16
  3. Executer un DTS a partir du code VB
    Par Total dans le forum VB 6 et antérieur
    Réponses: 8
    Dernier message: 17/11/2005, 16h23
  4. Ouverture d'un formulaire a partir ...
    Par nache dans le forum IHM
    Réponses: 3
    Dernier message: 21/06/2005, 12h30
  5. Réponses: 3
    Dernier message: 19/05/2005, 18h52

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo