Sdi problème

Salut,

Dans mon application en mode SDI, je créé une palette flottante avec ce code :

<code 4D>
C_LONGINT($L_W)
$L_W:=Open form window(“Palette”;Controller form window;Horizontally centered;Vertically centered;*)
DIALOG(“Palette”)

</code 4D>

Cette fenêtre s’affiche avec une http://livedoc.4d.com/4D-Language-Reference-17-R3/Windows/Window-Types.300-3906819.en.htmlcase de fermeture>.

Le problème est que si on clique sur la case de fermeture alors que la palette flottante ferme et je perds mon application SDI.

Comment masquer cette case de fermeture ?

Bonjour

<<Comment masquer cette case de fermeture ?>>

J’ai déjà été confronté au problème et la réponse courte est “on ne peut pas”

Par contre on peut empêcher sa fermeture en principe sans problème

Q : Est-ce que l’événement est bien généré ?

J’ai déjà testé ce genre de code pour empêcher la fermeture de la palette et ça marchait très bien (au moins sur mac)

Donc : vérifier que l’événement est bien activé dans la liste des propriétés du formulaire.
Si c’es le cas, le simple fait de “traiter” l’événement suffit à ce que la fenêtre ne se ferme pas
(pas la peine de filtrer l’événement…)

Roland

: Roland LANNUZEL

Donc : vérifier que l’événement est bien activé dans la liste des
propriétés du formulaire.
Si c’es le cas, le simple fait de “traiter” l’événement suffit à ce
que la fenêtre ne se ferme pas
(pas la peine de filtrer l’événement…)

Salut,

J’ai activé l’événement et je le capte bien (avec ou sans code) dans la méthode formulaire, la fenêtre finit toujours par se fermer

(re)bonjour,

Pourriez vous nous fournir une petite base pour qu’on puisse tester le plus vite possible ?
(quelle version de 4D au fait ?)

Et quand vous dites “finit toujours par se fermer” ce n’est pas immédiat ?

Merci.

Je suis en 17R2.

Je lance un process local
Une palette flottante s’affiche avec sa case de fermeture
Quand la fenêtre se ferme, le process est tué

Quand je clique sur la boite de fermeture, 2 possibilités:

EVENEMENT SUR CASE DE FERMETURE NON ACTIVE

  • Rien dans la MF
  • La fenêtre se ferme

EVENEMENT SUR CASE DE FERMETURE EST ACTIVE

  • L’événement est intercepté dans la MF
  • La fenêtre se ferme

rebonjour

EVENEMENT SUR CASE DE FERMETURE NON ACTIVE

  • Rien dans la MF … oui, normal
  • La fenêtre se ferme … idem

EVENEMENT SUR CASE DE FERMETURE EST ACTIVE

  • L’événement est intercepté dans la MF … ok
  • La fenêtre se ferme : pas normal (sauf si il y a un “cancel” quelque part)

Une base exemple SVP (avec le 2ème cas)

: Roland LANNUZEL

EVENEMENT SUR CASE DE FERMETURE EST ACTIVE

  • L’événement est intercepté dans la MF …ok
  • La fenêtre se ferme : pas normal (sauf si il y a un “cancel”
    quelque part)

Pas d’annulation, juste un clic

Voila:

Vous venez de déclarer un incident à l’assistance Premium de 4D dont le numéro est 140370.

Il y a un CANCEL dans votre code…

(utilisez le debugger avec arrêt sur commande pour vous en rendre compte…)

Une fois la base réduite (pas de on timer, pas de on load) la palette reste bien ouverte.
(Réduire le code, ça permet de réduire le temps passé et aussi de réduire le nombre de bugs…)

Qu’est-ce qu’on dit ? Merci Roland!

: Roland LANNUZEL

(Réduire le code, ça permet de réduire le temps passé et aussi de
réduire le nombre de bugs…)
… la perfection étant quand il n’y a plus de code du tout.