Problème pour afficher une sheet

apocaalypsoapocaalypso Membre
22:42 modifié dans API AppKit #1
Bonjour,

Je poste car j'ai un petit problème pour afficher une sheet.
J'utilise le code suivant où mainWindow et sheetWindow sont déclarées dans le .h par un outlet NSWindow dans IB :
[NSApp beginSheet:sheetWindow modalForWindow:mainWindow modalDelegate:self didEndSelector:nil contextInfo:nil];<br />		[NSApp runModalForWindow:sheetWindow];<br />


Lorsque j'exécute le code, ma mainWindow n'apparaà®t pas alors que la sheetWindow apparaà®t en demi-transparence.

Voici les erreurs que je vois dans la console :
Mon Nov&nbsp; 2 18:28:44 macbook-de-pocalyps0.local MonApp[3885] &lt;Error&gt;: kCGErrorIllegalArgument: _CGSFindSharedWindow: WID -1<br />Mon Nov&nbsp; 2 18:28:44 macbook-de-pocalyps0.local MonApp[3885] &lt;Error&gt;: kCGErrorFailure: Set a breakpoint @ CGErrorBreakpoint() to catch errors as they are logged.<br />Mon Nov&nbsp; 2 18:28:44 macbook-de-pocalyps0.local MonApp[3885] &lt;Error&gt;: kCGErrorIllegalArgument: CGSCopyWindowProperty<br />Mon Nov&nbsp; 2 18:28:44 macbook-de-pocalyps0.local MonApp[3885] &lt;Error&gt;: kCGErrorIllegalArgument: CGSGetWindowProperty<br />Mon Nov&nbsp; 2 18:28:44 macbook-de-pocalyps0.local MonApp[3885] &lt;Error&gt;: kCGErrorIllegalArgument: windowGroup: error getting ordering group property<br />


D'où vient ce problème ? J'avoue que je n'en ai aucune idée, même après avoir vu les code d'autres posts grâce à  la recherche.

Merci d'avance !

Réponses

  • CéroceCéroce Membre, Modérateur
    22:42 modifié #2
    N'appelle pas runModalForWindow: juste après beginSheet:, malheureux !
    La Sheet est déjà  à  l'écran.

    Ton délégué va être appelé lorsque la sheet sera fermé.
  • apocaalypsoapocaalypso Membre
    22:42 modifié #3
    Merci de ta réponse Céroce, j'ai enlevé cette ligne, c'est la même chose sauf que ma mainWindow est affichée maintenant. Mais la sheet n'est pas connectée à  ma mainWindow.
  • apocaalypsoapocaalypso Membre
    22:42 modifié #4
    D'accord... Il suffisait simplement de décocher "Deferred" dans la fenêtre d'informations de ma mainWindow.

    Merci quand même !  :)
Connectez-vous ou Inscrivez-vous pour répondre.