Quitter à  la fermeture de la dernière fenêtre.

JilamJilam Membre
octobre 2006 modifié dans Vos applications #1
Bonjour à  tous,


[Pour les quatre personnes ayant eu le temps de lire avant modification : désolé, j'ai trouvé la bête erreur qui induisait ce défaut... Du coup il ne me reste plus que la petite question subsidiaire alors j'ai renommé le sujet du message pour ne pas créer de confusion]


Autre question, où faut-il placer le bout de code suivant? J'ai essayé partout sans succès...
- (BOOL)applicationShouldTerminateAfterLastWindowClosed:(NSApplication *)sender<br />{<br />    return YES;<br />}<br />



Vous remerciant par avance,
/Jlm.

Réponses

  • elfelf Membre
    03:36 modifié #2
    Tu le rajoute dans le delegate de l'application

    (Tu sais ce que c'est j'imagine, si non, c'est simple, dans MainMenu.nib, tu ctrl-drag de File Owner à  ton controlleur et connecte l'outlet "delegate". Après, il te suffit de rajouter ce code dans ton controlleur)
  • JilamJilam Membre
    03:36 modifié #3
    Pas moyen de connecter delegate de FileOwner vers un contrôleur, il n'y a que Window de proposé; le seul delegate est dans la fenêtre principale : lorsque je le connecte vers FileOwner, c'est myDocument, sinon, je peux aussi le connecter vers un de mes contrôleurs : donc je place le code dans myDocument.m ou dans monController.m mais sans résultat : je ne peux même pas faire un Cmd-W sur ma fenêtre (cela bippe)...

    ... peut-être le fait que cela soit une document-based application change la donne?
  • Eddy58Eddy58 Membre
    octobre 2006 modifié #4
    dans 1160631501:

    Pas moyen de connecter delegate de FileOwner vers un contrôleur,


    Pour quelle raison ? ??? Ton contrôleur est-il bien instancié dans IB, et présent dans MainMenu.nib ?

    Sinon, tu peux rajouter le code suivant dans ton controleur pour qu'il soit delegate de NSApplication :
    [tt]
    -(void)awakeFromNib
    {
         // .....

         [NSApp setDelegate:self];

         // .....
    }
    [/tt]
Connectez-vous ou Inscrivez-vous pour répondre.