2010-04-20 3 views

Répondre

8

Ce n'est pas vrai, il doit y avoir un autre problème dans votre code. Le réglage ModalResult affectera uniquement le formulaire actuellement modal. Essayez cet exemple très simple:

  • Créer une nouvelle forme

  • déposer un bouton sur elle

  • Dans le gestionnaire d'événements bouton OnClick ajouter ce code:

    procedure TForm1.Button1Click(Sender: TObject); 
    begin 
        with TForm1.Create(Self) do begin 
        if ShowModal = mrCancel then 
         Self.Color := RGB(Random(256), Random(256), Random(256)); 
        end; 
    end; 
    

Vous remarquerez que chaque pression de bouton crée une nouvelle forme modale, et vous pouvez répéter ceci aussi souvent que vous le souhaitez. En fermant un formulaire, vous définissez ModalResult sur mrCancel et réactivez le formulaire parent. Pour quitter l'application, vous devrez fermer tous les formulaires, un par un, dans l'ordre inverse de la création.

+0

Correct, après quelques recherches et tests, j'ai trouvé que - attendez-le - "en quelque sorte ......" le bouton avait un résultat Modal de mrNo et après la deuxième boîte de dialogue fermée, la bonne chose a été faite par la classe et le dialogue était fermé. – MX4399

Questions connexes