Delphi XE2 Create Destroy ne fonctionne plus comme avant
Code:
1 2 3 4 5 6
|
Version :=TstringList.create;
VersionStream:=TMemoryStream.Create;
// traitement
version.Destroy;
VersionStream.Destroy; |
est-ce que le destroy ne sert plus à rien ou bien il faut faire autrement ?
je faisais comme cela avec D7 et D2009
cordialement
André
Opération de pointeur incorrecte
uniquement sur le TMemoryStream
pareil avec le free...
la question implicite est : comment dois-je procéder pour libérer l'objet
cordialement
vérification annulée :Opération de pointeur incorrecte
Code:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38
|
procedure TMAJ.aVerifVersionExecute(Sender: TObject);
Var VersionStream :TMemoryStream; version :TStringlist;
begin
try
Version :=TstringList.create;
VersionStream:=TMemoryStream.Create;
Memo1.lines.Add('vérification version serveur');
HttpCli1.URL := addVersion ;
HttpCli1.RcvdStream:= VersionStream;
try
begin
HttpCli1.Head;
ProgressBar1.Max:=HttpCli1.ContentLength;
HttpCli1.Get;
VersionStream.Seek(0,0);
version.LoadFromStream(VersionStream);
Memo1.Lines.Add('version serveur acquise : '+version[0]);
if StrToInt(version[0]) > StrToInt(vIntVersion) then
begin
bInstalMAJ.Visible:=true;
bMAJ.Visible:=false;
Memo1.Lines.Add('Fermer toutes les fiches et cliquer sur "installer la mise à jour" ');
end
else Memo1.lines.Add('Il n''y a pas de mise à jour disponible');
end;
finally
HttpCli1.RcvdStream.Free;
//VersionStream.free;==> peut être un double emploie ici
version.free;
end;
except
on E:Exception do
begin
Memo1.Lines.Add('vérification annulée :'+E.Message);
end;
end;
end; |