Sat83
Messages postés166Date d'inscriptionmardi 11 novembre 2003StatutMembreDernière intervention13 octobre 2008
-
23 mars 2004 à 17:24
Pornman
Messages postés20Date d'inscriptionsamedi 25 septembre 2004StatutMembreDernière intervention20 janvier 2006
-
31 oct. 2005 à 15:02
hello,
J'ai creer un objet comme suis:
interface
type
TBestCost = class(TObject)
private
{ Private declarations }
T0:double;
T1:double;
public
{ Public declarations }
property Time0:double read T0 write T0;
property Time1:double read T1 write T1;
end;
Dans mon programme, a la creation de la forme je creer mon objet comme suis:
var BestCost:TBestCost;//var public de ma forme
procedure TForm1.FormCreate(Sender: TObject);
begin
BestCost: =TbestCost.Create;
end;
Et je le detruit dans la formeClose:
procedure TForm1.FormClose(Sender: TObject; var Action: TCloseAction);
begin
BestCost.Destroy;
end;
au cours de mon programme je passe mon objet en parametre de fonction (je sais pas si ca joue)
Le probleme c'est que a chaque fois que mon appli ce ferme j'ai un message ''EAccessViolation'' lors de l'execution de cette ligne en mode pas a pas....
j'ai beau chercher je ne vois pas d'ou vient le probleme...
cs_Delphiprog
Messages postés4297Date d'inscriptionsamedi 19 janvier 2002StatutMembreDernière intervention 9 janvier 201332 23 mars 2004 à 20:59
Et à aucun moment au cours de l'exécution tu ne détruis l'objet BestCost ?
Soit cela provient d'ailleurs, soit tu essaies de détruire un objet qui n'existe plus ou alors, l'objet est en cours d'utilisation par un processus parallèle...
Tu peux toujours essayer ceci :
if Assigned(BestCost) then
BestCost.Free;
Je suis d'accord pour dire que cela soigne les conséquences mais pas la cause, mais bon... :)
May Delphi be with you