Problème à la fermeture d'une form

Signaler
Messages postés
134
Date d'inscription
mercredi 1 décembre 2004
Statut
Membre
Dernière intervention
10 août 2008
-
Messages postés
134
Date d'inscription
mercredi 1 décembre 2004
Statut
Membre
Dernière intervention
10 août 2008
-
Salut à tous! Voilà, dans mon soft avant, j'avais mis la proprio de la
Form SwForm sur bsDialog. Maintenant, vu que j'ai ma propre croix dans
mon soft, j'ai mit la propriété sur bsNone. Seulement voilà, j'ai codé
SwForm.Hide; mais le soft, lorsque je clique sur ce bouton ( donc pas
de blem à la compil ), Delphi me dit ceci :


Le projet PixaMSN.exe a provoqué une classe d'exception EAccessViolation avec le message 'Violation d'accès à l'adresse

00453E3E dans le module PixaMSN.exe. Lecture de l'adresse 000002EC'.
Processus stoppé. Utilisez Pas-à-Pas Ou Exécuter pour continuer.



Y-a-til moyen de cacher une fenetre autrement avec une commande qui fonctionnerait ? Merci, Yil2201.

8 réponses

Messages postés
2226
Date d'inscription
dimanche 5 octobre 2003
Statut
Modérateur
Dernière intervention
18 novembre 2010
13
tu veux faire quitter le soft ? si oui : "close;" suffira, si non, fait f8 dans delphi pour faire le pas a pas et voir à quel endroit ça "chie" ^^
si possible, balance un bout de code sur un wall =)
Messages postés
134
Date d'inscription
mercredi 1 décembre 2004
Statut
Membre
Dernière intervention
10 août 2008

Salut, le problème c'est que ca chie pas à la compilation ...
Ca chie juste au moment ou je tente de fermer.
Merci pour ta soluce, elle marche, mais une seule fois, apres, ca marche plus :'(.
En faite, c'est ne source que j' ai prise sur le net donc je maitrise pas tout ... Mais je coris qu'on utilise pas la fonction Show; d'ou le problème, je vais aller essayer avec Hide; ... a tout dsuite ;)

[url]www.yiliman2201.be.tf/url
Mon site !
Messages postés
2226
Date d'inscription
dimanche 5 octobre 2003
Statut
Modérateur
Dernière intervention
18 novembre 2010
13
file une url pour voir le code, c'est possible ? vais jeter mon zoeil
Messages postés
134
Date d'inscription
mercredi 1 décembre 2004
Statut
Membre
Dernière intervention
10 août 2008

Marche pas dans avec Hide; ouais tu peux pour le code, mais je te mets deja le code qui fait que la fenetre s'ouvre.
En faite, ca ouvre une fenetre quand on clique sur une ListView, je vous mets la procédure d'ouvertue de cette form.

procedure TForm1.ListView1DblClick(Sender: TObject);

var

f : TSwForm;

i : integer;

nom: string;

li : TListItem;

begin

SwForm.Show;

Usw.contact:=ListView1.Selected.Caption;

li:=ListView1.Selected;

if (li=nil) then exit;

nom:=li.SubItems[0];

i:=FSwB.IndexOf(nom);

if (i>=0) then begin

f:=FSwB.Objects[i] as TSwForm;

SetForegroundWindow(f.Handle);

if ((f.WasConnected) and not(f.Ready)) then f.Started:=false;

end

else begin

if (StatusCombo.ItemIndex<7) then begin

f:=TSwForm.Create(self, FMyAd, nom, SbClose, SbNewSb);

f.FlashCB:=FlashWin;

USw.contact:=nom;

Usw.username:=FMyNm;

FSwB.AddObject(nom, f);

end

else begin //MESSAGE : invisble donc pas de chat

Memo1.Lines.Clear;

Memo1.Lines.Add('Next Messenger');

Memo1.Lines.Add('disabled');

Memo1.Lines.Add('You cannot start a');

Memo1.Lines.Add('while you''re Offline');

Memo1.Lines.SaveToFile(dir + 'message.txt');

//Application.MessageBox('You cannot start a chat while you''re Invisible.', 'Next Messenger Windows Alert', MB_OK + MB_ICONWARNING);

exit;

end;

end;

if not(f.Started) then Envia('XFR', 'SB')

end;

[url]www.yiliman2201.be.tf/url
Mon site !
Messages postés
1023
Date d'inscription
dimanche 1 août 2004
Statut
Membre
Dernière intervention
17 août 2008

Remplaces la ligne
f:= TSwForm.Create(self, FMyAd, nom, SbClose, SbNewSb);

par

f:=TSwForm.Create( nil , FMyAd, nom, SbClose, SbNewSb);

et rajoute une ligne dans le OnClose de ta SwForm : Action : = caFree;
Normalement, ça ne devrait plus "chier"

Si tu ne te plantes pas ......
tu ne pousseras jamais
Messages postés
134
Date d'inscription
mercredi 1 décembre 2004
Statut
Membre
Dernière intervention
10 août 2008

Salut! Merci mais j'ai oublié de vous dire que j'avais déja ceci dans le OnClose :

FCloseCb(FYou);

Ca change quelque chose ?
Messages postés
2226
Date d'inscription
dimanche 5 octobre 2003
Statut
Modérateur
Dernière intervention
18 novembre 2010
13
C'est quoi la procedure FCloseCb() ? C'est quoi la variable FYou ?
ps: une fois la reponse trouvée, clic sur 'reponse acceptée' sur la reponse qui te convient
Messages postés
134
Date d'inscription
mercredi 1 décembre 2004
Statut
Membre
Dernière intervention
10 août 2008

Ok, ben je vais vous mettre le code sous RAR, je te l'envoie par MP JulioDelphi, apres tu pourras expliquer aux autres le problème car mon code est assez fermé, je travaille en colabo avec d'autres personnent qui ne souhaitent pas voir le code ouvert.

[url]www.yiliman2201.be.tf/url
Mon site !