XgaletteX
Messages postés102Date d'inscriptionsamedi 14 mai 2005StatutMembreDernière intervention12 août 2005
-
2 août 2005 à 13:12
ni69
Messages postés1418Date d'inscriptionsamedi 12 juin 2004StatutMembreDernière intervention 5 juillet 2010
-
3 août 2005 à 00:56
Bonjour,
Alors j'ai deux fiches, l'une que j'ouvre dans l'autre en modal, celle qui est modale possède un bouton fermer, g mit des procédures dans l'événements onclick, mais lorsque je click sur fermer mon prog ne passe pas par cet événement, il passe direct à la procédure formdestroy, je n'arrive pas à comprendre pourquoi il ne passe pas par onclick lorsque je click?
XgaletteX
Messages postés102Date d'inscriptionsamedi 14 mai 2005StatutMembreDernière intervention12 août 2005 2 août 2005 à 13:59
Voici mon code:
rocedure Tfiche_saisie.ButtonFermerClick(Sender: TObject);
var
I,L: integer;
Line,Id: string;
begin
inherited;
GenereRecordV;
MAJ_RecordH;
Show_Histo;
MAJ_Ind;
L:=MemoFichier.Lines.Count-1;
if AFichier^.Etat=2 then
if Messagedlg('Les analyses sont complétées, le fichier vas etre transféré vers l''export.',mtInformation,[mbYes],0)=mrYes then
begin
with MemoFichier do with Lines do
for I:=L-1 downto 1 do
begin
Line:=Strings[I];
Id:=Copy(Line,0,1);
if Id='V' then Continue
else Delete(I);
end;
GenereFichier(AFichier^.Etat);
end
else if AFichier^.Etat=1 then
if Messagedlg('Désirez vous transférer les réponses saisies vers l''export?',mtInformation,[mbYes,mbNo],0)=mrYes then
begin
GenereFichier(AFichier^.Etat);
with MemoFichier do with Lines do
for I:=L-1 downto 1 do
begin
Line:=Strings[I];
Id:=Copy(Line,0,1);
if Id='V' then Continue
else Delete(I);
end;
GenereFichier(2);
end
else GenereFichier(AFichier^.Etat);
XgaletteX
Messages postés102Date d'inscriptionsamedi 14 mai 2005StatutMembreDernière intervention12 août 2005 2 août 2005 à 13:59
Voici mon code:
rocedure Tfiche_saisie.ButtonFermerClick(Sender: TObject);
var
I,L: integer;
Line,Id: string;
begin
inherited;
GenereRecordV;
MAJ_RecordH;
Show_Histo;
MAJ_Ind;
L:=MemoFichier.Lines.Count-1;
if AFichier^.Etat=2 then
if Messagedlg('Les analyses sont complétées, le fichier vas etre transféré vers l''export.',mtInformation,[mbYes],0)=mrYes then
begin
with MemoFichier do with Lines do
for I:=L-1 downto 1 do
begin
Line:=Strings[I];
Id:=Copy(Line,0,1);
if Id='V' then Continue
else Delete(I);
end;
GenereFichier(AFichier^.Etat);
end
else if AFichier^.Etat=1 then
if Messagedlg('Désirez vous transférer les réponses saisies vers l''export?',mtInformation,[mbYes,mbNo],0)=mrYes then
begin
GenereFichier(AFichier^.Etat);
with MemoFichier do with Lines do
for I:=L-1 downto 1 do
begin
Line:=Strings[I];
Id:=Copy(Line,0,1);
if Id='V' then Continue
else Delete(I);
end;
GenereFichier(2);
end
else GenereFichier(AFichier^.Etat);
ni69
Messages postés1418Date d'inscriptionsamedi 12 juin 2004StatutMembreDernière intervention 5 juillet 201012 2 août 2005 à 18:03
Le fait d'avoir d'avoir changé ModalResult à mrOK n'est pas la vraie solution à ton problème. La fenêtre devrait pouvoir se fermer toute seule si tu as mis une instruction Close;
Explication du fonctionnement de ModalResult :
L'attribution d'une valeur autre que mrNone à la propriété ModalResult
d'un bouton entraîne la fermeture de la fenêtre qui le contient si
celle-ci est modale tout en fournissant un résultat à la fenêtre
appelante (le résultat sera idOKsi la propriété ModalResult du bouton est réglée sur mrOk).
Ce principe est par exemple utilisé pour la gestion des boîtes de
dialogue (comme celles demandant la confirmation de suppression d'un
fichier) permettant un choix de boutons ("OK", "Annuler", "Oui", "Non",
etc...). Dans ces cas-là, la fenêtre appelante reçoit la valeur
retournée par le bouton sur lequel on a appuyé.
Pour plus d'infos, consultez l'aide de Delphi...
@+
Bonne Prog'
Nico [www.ni69.new.fr]
<hr size="2" width="100%">
N'oubliez pas de cliquer sur Réponse acceptéelorsque la réponse vous convient !
neodelphi
Messages postés442Date d'inscriptionjeudi 4 avril 2002StatutMembreDernière intervention11 août 2008 3 août 2005 à 00:06
sous delphi il est possible de blocker la femeture d'une fenêtre dans
l'évènement OnCloseQuery en modifiant la variable canClose à false.
Peut-être que le bouton jou avec ça ?