PHWinfo banniere

Titres
PORTAIL ANNUAIRE ARTICLES COMPARATEUR HÉBERGEURS DEVIS FORUMS RÉDUCTEUR D'URL
Précédent   PHWinfo > Autres forums > Forum Programmation & Conception > nzn.fr.delphi > Problème : 'Impossible de créer la fiche. Aucune fiche Non MDI active'
S'inscrire FAQ Membres Recherche Messages du jour Marquer les forums comme lus
Problème : 'Impossible de créer la fiche. Aucune fiche Non MDI active'

Réponse
 
LinkBack Outils de la discussion
Vieux 08/01/2008, 14h31   #1
Bruno Mannina
Aucun Avatar
 
Messages: n/a
Hébergeur:
Par défaut Problème : 'Impossible de créer la fiche. Aucune fiche Non MDI active'

Problème : 'Impossible de créer la fiche. Aucune fiche Non MDI active'
--------------------------------------------------------------------------------

Bonjour à tous,

voilà j'ai ce message qui arrive "de temps en temps" lorsque j'ouvre une
fenetre MDI dans mon programme.
J'ai lu le post : http://www.developpez.net/forums/showthread.php?t=14031
mais hélas ce n'est pas tout à fait cela que je veux faire, c'est à dire
ouvrir une fenêtre fille directement.

Moi j'ai tout simplement une fiche Mère qui ouvre une fiche Fille, avec
entre temps le chargement de données (fonction Load), et la sauvegarde d'un
fichier.

J'ai bien les propriétés fsMDIForm pour la Mère et fsMDIChild pour la fille
et pourtant j'ai quand même l'erreur.

Le vrai problème pour moi c'est que cette erreur est complétement aléatoire,
d'ailleurs je ne l'ai "presque" jamais sur mon ordi (une seule fois en un
an), ce sont des clients qui l'ont parfois (régulièrement).

Voici le bout de code pour ouvrir mon projet :


Code :
PROCEDURE TMain.aOpenExecute( Sender : TObject );
var
SR: TSelectRequest;
i: Integer;
Z: Boolean;
begin
SR:=TSelectRequest.Create(Self);
try
SR.Caption:='Open project...';
if (SR.ShowModal=mrOk) then
begin
Z:=(MDIChildCount=0);
for i:=0 to SR.Files.Count-1 do
with TChild.Create(Self) do
begin
Application.ProcessMessages;
Load(SR.Files[i]);
CopyFile(PChar(FWorkingPath+'requests\'+SR.Files[i]+'\'+'data.mp'),
PChar(FWorkingPath+'requests\'+SR.Files[i]+'\'+'data.BAK'), False);
end;
if Z then
ActiveMDIChild.WindowState:=wsMaximized;
end;
finally
SR.Release;
end;
end; {* PROC .aOpenExecute *}

Si quelqu'un a une idée, je suis preneur.

D'avance merci pour vos conseils,
Amicalement,
Bruno


  Réponse avec citation
Vieux 08/01/2008, 15h10   #2
OBones
Aucun Avatar
 
Messages: n/a
Hébergeur:
Par défaut Re: Problème : 'Impossible de créer la fiche. Aucune fiche Non MDI active'

Vire l'appel à ProcessMessages, j'suis quasiment persuadé qu'il fout la
merde (comme souvent d'ailleurs)
  Réponse avec citation
Vieux 08/01/2008, 15h17   #3
Bruno Mannina
Aucun Avatar
 
Messages: n/a
Hébergeur:
Par défaut Re: Problème : 'Impossible de créer la fiche. Aucune fiche Non MDI active'

Salut OBones,

Hélas, ce n'est pas lui qui provoque l'erreur car même sans lui j'ai
l'erreur.
N'y a t il pas un moyen de forcer la fenetre Mère a être active ?

Est-ce que cela peut venir du fait que la fenêtre fille est créée aprés la
selection de mon projet depuis une fenêtre intermédiaire ?
Et donc la fenêtre Mère n'est pas active à ce moment là.



"OBones" <obones_dfd_@_zeea_altern.org> a écrit dans le message de news:
fm03pj$io5$1@sd-6498.dedibox.fr...
> Vire l'appel à ProcessMessages, j'suis quasiment persuadé qu'il fout la
> merde (comme souvent d'ailleurs)



  Réponse avec citation
Vieux 08/01/2008, 15h20   #4
OBones
Aucun Avatar
 
Messages: n/a
Hébergeur:
Par défaut Re: Problème : 'Impossible de créer la fiche. Aucune fiche Non MDI active'

Tu as la pile d'appel au moment de l'exception ?
Et puis très sincèrement, tu te fais chier avec la variable Z pour rien.
Suffit de faire ça:

if Assigned(ActiveMDIChild) then
....

D'autant plus que tu notes le nombre d'enfant AVANT la boucle alors même
que ce nombre peut très bien changer dans la boucle...
  Réponse avec citation
Vieux 08/01/2008, 15h37   #5
FOST©
Aucun Avatar
 
Messages: n/a
Hébergeur:
Par défaut Re: Problème : 'Impossible de créer la fiche. Aucune fiche Non MDI active'

OBones a écrit :
> Tu as la pile d'appel au moment de l'exception ?
> Et puis très sincèrement, tu te fais chier avec la variable Z pour rien.
> Suffit de faire ça:
>
> if Assigned(ActiveMDIChild) then
> ...
>
> D'autant plus que tu notes le nombre d'enfant AVANT la boucle alors même
> que ce nombre peut très bien changer dans la boucle...


En même temps, MDI is flawed, depuis le temps qu'on le dit :-)
  Réponse avec citation
Vieux 08/01/2008, 17h46   #6
Bruno Mannina
Aucun Avatar
 
Messages: n/a
Hébergeur:
Par défaut Re: Problème : 'Impossible de créer la fiche. Aucune fiche Non MDI active'

Hélas non, car cela ne se produit jamais (une fois en un an) sur mon ordi.
Alors que c'est plus fréquent chez certains clients.

J'ai fait la modification pour la variable Z mais ça c'est juste de
l'optimisation de code.

De plus je suis conscient que le MDI est "has been" mais mon appli a été
développé comme ça donc tout refaire ne m'interesse pas.


"OBones" <obones_dfd_@_zeea_altern.org> a écrit dans le message de news:
fm04c2$j0s$1@sd-6498.dedibox.fr...
> Tu as la pile d'appel au moment de l'exception ?
> Et puis très sincèrement, tu te fais chier avec la variable Z pour rien.
> Suffit de faire ça:
>
> if Assigned(ActiveMDIChild) then
> ...
>
> D'autant plus que tu notes le nombre d'enfant AVANT la boucle alors même
> que ce nombre peut très bien changer dans la boucle...



  Réponse avec citation
Réponse


Outils de la discussion

Règles de messages
Vous ne pouvez pas créer de nouvelles discussions
Vous ne pouvez pas envoyer des réponses
Vous ne pouvez pas envoyer des pièces jointes
Vous ne pouvez pas modifier vos messages

Les balises BB sont activées : oui
Les smileys sont activés : oui
La balise [IMG] est activée : oui
Le code HTML peut être employé : non
Trackbacks are oui
Pingbacks are oui
Refbacks are oui


Fuseau horaire GMT +1. Il est actuellement 00h40.


Édité par : vBulletin® version 3.7.3
Copyright ©2000 - 2008, Jelsoft Enterprises Ltd.
Search Engine Friendly URLs by vBSEO 3.2.0 RC5 Tous droits réservés.
Version française #16 par l'association vBulletin francophone
PHWinfo est un site Éducation Sans Frontières ©2000-2008
Ad Management by RedTyger
©Tous droits réservés par les parties respectives
Page generated in 0,13184 seconds with 14 queries