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

Langage Delphi Discussion :

ShowModal qui plante.


Sujet :

Langage Delphi

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre éclairé

    Profil pro
    Inscrit en
    Avril 2004
    Messages
    540
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2004
    Messages : 540
    Par défaut ShowModal qui plante.
    Bonjour à tous

    Voici une syntaxe qui plante ShowModal. Elle est pourtant identique à celle que j'ai l'habitude d'utiliser...

    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
     
     
    Procedure Appel_ITF_Saisie_Titre;  
    Var Retour : integer;
     
    begin
     
          Retour := Saisie_Titre_FLT.Form2.ShowModal;  // La renêtre s'appelle Saisie_Titre_FLT.DFM et le .PAS idem
     
          CASE Retour OF
              mrOK :
                  begin
                  end;
     
              mrAbort :
                  begin
                  end; 
          end; // Case
     
    end;
    Et j'ai cette erreur-là systématiquement à l'exécution (à travers l'IDE comme en dehors de l'IDE) :




    Très exactement à l'appel de ShowModal.

    Qu'est-ce qui m'arrive, là ? Merci...

  2. #2
    Rédacteur/Modérateur
    Avatar de ero-sennin
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Juillet 2005
    Messages
    2 965
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 39
    Localisation : France, Nord (Nord Pas de Calais)

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Juillet 2005
    Messages : 2 965
    Par défaut
    Salut,

    A mon avis, il doit manquer un create sur la fenêtre...
    Du moins, là comme ça, c'est ce que je dirai.

  3. #3
    Membre éclairé

    Profil pro
    Inscrit en
    Avril 2004
    Messages
    540
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2004
    Messages : 540
    Par défaut
    Citation Envoyé par ero-sennin Voir le message
    Salut,

    A mon avis, il doit manquer un create sur la fenêtre...
    Du moins, là comme ça, c'est ce que je dirai.
    Un create sur laquelle ? La Form appelée ?

  4. #4
    Rédacteur/Modérateur
    Avatar de ero-sennin
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Juillet 2005
    Messages
    2 965
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 39
    Localisation : France, Nord (Nord Pas de Calais)

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Juillet 2005
    Messages : 2 965
    Par défaut
    Sur la form Saisie_Titre_FLT.

    En fait, tu as une adresse null, donc il faut vérifier que Saisie_Titre_FLT soit bien instanciée, ainsi que form2.

  5. #5
    Expert éminent
    Avatar de ShaiLeTroll
    Homme Profil pro
    Développeur C++\Delphi
    Inscrit en
    Juillet 2006
    Messages
    14 089
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 44
    Localisation : France, Seine Saint Denis (Île de France)

    Informations professionnelles :
    Activité : Développeur C++\Delphi
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Juillet 2006
    Messages : 14 089
    Par défaut
    Saisie_Titre_FLT c'est pas plutôt le nom de l'unité ?
    Il y a une différence entre ITF_Saisie_Titre et Saisie_Titre_FLT ?

    tu devrais renommer Form2 en SaisieTitreFLTForm, cela serait plus élégant !
    Attention aussi à l'utilisation de la variable Globale !
    Ne pas confondre:
    - nom de l'unité (uses)
    - nom de la Classe TForm2 dans ton cas
    - nom de la variable globale Form2 (ajouter automatiquement, à supprimer le plus tôt que possible !)

    Ce qui est étrange c'est 00000000, c'est rare qu'une variable mal initialisée soit à nil, tu n'aurais pas un FreeAndNil de Form2 avant ?

    J'ai passé un test de compétence, il y avait ce genre de question, et moi qui pensant le test facile !

    C'est marrant de faire une procédure, les méthodes statiques et la POO c'est encore un truc obscure !
    Aide via F1 - FAQ - Guide du développeur Delphi devant un problème - Pensez-y !
    Attention Troll Méchant !
    "Quand un homme a faim, mieux vaut lui apprendre à pêcher que de lui donner un poisson" Confucius
    Mieux vaut se taire et paraître idiot, Que l'ouvrir et de le confirmer !
    L'ignorance n'excuse pas la médiocrité !

    L'expérience, c'est le nom que chacun donne à ses erreurs. (Oscar Wilde)
    Il faut avoir le courage de se tromper et d'apprendre de ses erreurs

  6. #6
    Rédacteur/Modérateur
    Avatar de ero-sennin
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Juillet 2005
    Messages
    2 965
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 39
    Localisation : France, Nord (Nord Pas de Calais)

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Juillet 2005
    Messages : 2 965
    Par défaut
    Citation Envoyé par ShaiLeTroll Voir le message
    Saisie_Titre_FLT c'est pas plutôt le nom de l'unité ?
    A oui, j'avais pas percuté là dessus!!

  7. #7
    Membre éclairé

    Profil pro
    Inscrit en
    Avril 2004
    Messages
    540
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2004
    Messages : 540
    Par défaut
    Citation Envoyé par ShaiLeTroll Voir le message
    Saisie_Titre_FLT c'est pas plutôt le nom de l'unité ?
    Il y a une différence entre ITF_Saisie_Titre et Saisie_Titre_FLT ?

    tu devrais renommer Form2 en SaisieTitreFLTForm, cela serait plus élégant !
    Attention aussi à l'utilisation de la variable Globale !
    Ne pas confondre:
    - nom de l'unité (uses)
    - nom de la Classe TForm2 dans ton cas
    - nom de la variable globale Form2 (ajouter automatiquement, à supprimer le plus tôt que possible !)

    Ce qui est étrange c'est 00000000, c'est rare qu'une variable mal initialisée soit à nil, tu n'aurais pas un FreeAndNil de Form2 avant ?

    J'ai passé un test de compétence, il y avait ce genre de question, et moi qui pensant le test facile !

    C'est marrant de faire une procédure, les méthodes statiques et la POO c'est encore un truc obscure !
    Alors : les fichiers du projet sont :

    Interface_Saisie_FLT.cfg
    Interface_Saisie_FLT.dof
    Interface_Saisie_FLT.dpr
    Interface_Saisie_FLT.res

    Saisie_Contient.dfm
    Saisie_Contient.pas

    Saisie_Ne_Contient_Pas.dfm
    Saisie_Ne_Contient_Pas.pas

    Saisie_Titre_FLT.dfm
    Saisie_Titre_FLT.pas

    Unit1.dfm // Form1, bien sûr
    Unit1.pas // Unité de la Form1

    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
      // du fichier .DPR
    program Interface_Saisie_FLT;
     
    uses
      Forms,
      Unit1 in 'Unit1.pas' {Form1},
      Var_Globales_Base_Articles in '..\Var_Globales_Base_Articles.pas',
      Procedures_Communes in '..\Procedures_Communes.pas',
      Saisie_Titre_FLT in 'Saisie_Titre_FLT.pas' {Form2},
      Saisie_Contient in 'Saisie_Contient.pas' {Form3},
      Saisie_Ne_Contient_Pas in 'Saisie_Ne_Contient_Pas.pas' {Form4};
     
    {$R *.res}
     
    begin
      Application.Initialize;
      Application.CreateForm(TForm1, Form1);
      Application.CreateForm(TForm2, Form2);
      Application.CreateForm(TForm3, Form3);
      Application.CreateForm(TForm4, Form4);
      Application.Run;
    end.

    Ca vous renseigne ? Là, je suis dans le bleu

Discussions similaires

  1. Enncore un ShowModal qui plante !
    Par bvsud dans le forum Langage
    Réponses: 16
    Dernier message: 13/08/2012, 12h21
  2. [Novice] Problème avec Eclipse 3.0.x qui plante
    Par esolarc dans le forum Eclipse Java
    Réponses: 1
    Dernier message: 27/05/2005, 13h22
  3. Programme qui plante
    Par harris_macken dans le forum C++
    Réponses: 1
    Dernier message: 22/05/2005, 23h50
  4. Pc qui plante
    Par tooms2028 dans le forum Ordinateurs
    Réponses: 9
    Dernier message: 19/03/2005, 17h32
  5. [JTextArea] redessin qui plante
    Par phil_ma dans le forum Composants
    Réponses: 3
    Dernier message: 04/01/2005, 05h19

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