NSAlert et 10.2

aLittleWoodElfe

Membre confirmé
28 Février 2004
81
1
Bonjour,

J'utilise dans mon application un NSAlert, qui n'existe que depuis 10.3.
Pour rendre compatible mon application avec 10.2 j'ai rajouté du code spécifique utilisant un NSBeginAlertSheet pour remplacer le NSAlert.

Mon problème est que j'utilise sur mon objet NSAlerte la méthode suivante :
<font class="small">Code:</font><hr /><pre>
[monAlerte performSelector: @selector(stop)
withObject: nil
afterDelay: 30];
</pre><hr />

stop étant une méthode que j'ai rajouté à la classe NSAlert via une Categorie.

Le point important c'est le afterDelay, que je ne vois pas comment reproduire avec NSBeginAlertSheet ?

Des idées ?
 
<blockquote><font class="small"> aLittleWoodElfe:</font><hr />Le point important c'est le afterDelay, que je ne vois pas comment reproduire avec NSBeginAlertSheet ?

[/QUOTE]
Bloc de code:
[NSApp performSelector:@selector(endSheet:) withObject:monAlerte afterDelay:30];
Comme ceci peut-être?
wink.gif
 
Ben non puisque justement l'objet NSAlerte n'existe pas en 10.2, et que NSBeginAlertSheet ne retourne rien.

Je viens de découvrir NSGetAlertPanel qui lui retourne un pointeur sur l'alerte crée. Je devrais donc m'en sortir... mais au prix de nombreuses lignes de codes supplémentaires par rapport à la version 10.3.
 
aLittleWoodElfe a dit:
Ben non puisque justement l'objet NSAlerte n'existe pas en 10.2, et que NSBeginAlertSheet ne retourne rien.
Comme cela alors:
wink.gif

Bloc de code:
[NSApp performSelector:@selector(endSheet:) withObject:[taWindow attachedSheet] afterDelay:30]
 
Ca marche !!!
ooo.gif
smile.gif


J'étais partie sur l'utilisation de NSGetPanel mais évidemment j'obtenais un panel et pas un sheet.

Merci beaucoup.

/me réfléchis quelques instants, mais alors ça aurait marché aussi simplement pour la version 10.3 avec les NSAlert ? Donc j'ai écrit une catégorie pour étendre les fonctionnalités de NSAlert inutilement
frown.gif
...
Enfin au moins ça m'aura fait découvrir les categories.