Konuyu Oyla:
  • Derecelendirme: 4/5 - 2 oy
  • 1
  • 2
  • 3
  • 4
  • 5
Free vs FreeAndNil
#30
Tugrul abi , FreeAndNil kullaniyorum , kullanmaya da devam edecegim. Kullanmaya devam etmemin en buyuk nedeni de senin dedigin gibi programi programcidan korumak icin. 
Daha iyi oldugundan ya da olmasi gereken o oldugu icin degil  kendi hatami tolere etmek icin kullanmaya devam edecegim. 


var
  C : TObject;
begin
  C := TObject.Create;
  ...
  ...
  FreeAndNil( C );
  ...
  ...
  if Assigned( C ) then
    C.Birşey;
end;



Bu kod blogu benim de kullandigim bir blok ama yillardir kullandigimiz icin sanirim bize dogru geliyor oysaki gunluk hayatin akisina ters bir durum mevcut. Kodu bir de soyle yazalim belki daha iyi anlasilir.

begin
  ArabayiCalistir; //C := TObject.Create;
  ArabaninGazinaBas;
  ArabayiAVMyeSur;
  ArabayiDurdur;  //FreeAndNil( C );
  AVMyeGir;
  AVMDeGezDolasDur;
  AVMdenCik;
  Eger ArabaCalisiyorsa  //if Assigned( C ) then
    ArabaninGazinaBas;
end;

Arabanin calismadigini AVM den ciktigimizda zaten biliyoruz , gunluk hayatta boyle bir kontrol yapmiyoruz. AVM ' den cikinca arabayi once calistirip sonra gaza basiyoruz. 
Gunluk hayatta yapmadigimiz bir davranisi kod yazarken yapmis oluyoruz. Bu isin detaylarini artik bir araya geldigimizde konusuruz Tugrul abi Smile



Edit: 

Bu da VCL kodundan alinmis bir bolum. FreeAndNil komutundan dolayi bu kodu yazan arkadas 25. ve 44. satirlarda biraz musrif davranmamis mi ?


function TAmazonQueueService.CreateQueue(const QueueName: string; out QueueURL: string;
                                        const DefaultVisibilityTimeout: Integer;
                                        ResponseInfo: TCloudResponseInfo): Boolean;
var
 Response: TCloudHTTP;
 QueryParams: TStringList;
 xml: string;
 xmlDoc: IXMLDocument;
 ResultNode, QueueNode: IXMLNode;
begin
 QueryParams := BuildQueryParameters('CreateQueue');

 QueryParams.Values['QueueName'] := QueueName;

 if DefaultVisibilityTimeout > -1 then
 begin
   QueryParams.Values['Attribute.1.Name'] := 'VisibilityTimeout';
   QueryParams.Values['Attribute.1.Value'] := IntToStr(DefaultVisibilityTimeout);
 end;

 Response := nil;
 try
   Response := IssueRequest(GetConnectionInfo.QueueURL, QueryParams, ResponseInfo, xml);
   Result := (Response <> nil) and (Response.ResponseCode = 200);
   FreeAndNil(Response);

   if Result and (xml <> EmptyStr) then
   begin
     //Parse XML and get QueueURL value
     xmlDoc := TXMLDocument.Create(nil);
     xmlDoc.LoadFromXML(XML);

     ResultNode := xmlDoc.DocumentElement.ChildNodes.FindNode(NODE_QUEUE_CREATE_RESULT);

     if (ResultNode <> nil) and (ResultNode.HasChildNodes) then
     begin
       QueueNode := ResultNode.ChildNodes.FindNode(NODE_QUEUE);
       if (QueueNode <> nil) and (QueueNode.IsTextElement) then
         QueueURL := QueueNode.Text;
     end;
   end;
 finally
   if Assigned(Response) then
     FreeAndNil(Response);
   FreeAndNil(QueryParams);
 end;
end;
WWW
Cevapla


Bu Konudaki Yorumlar
Free vs FreeAndNil - Yazar: edo - 11-10-2016, Saat: 09:18
Cvp: Free vs FreeAndNil - Yazar: Tuğrul HELVACI - 11-10-2016, Saat: 10:08
Cvp: Free vs FreeAndNil - Yazar: edo - 11-10-2016, Saat: 10:18
Cvp: Free vs FreeAndNil - Yazar: Tuğrul HELVACI - 11-10-2016, Saat: 10:20
Cvp: Free vs FreeAndNil - Yazar: edo - 11-10-2016, Saat: 10:25
Cvp: Free vs FreeAndNil - Yazar: Tuğrul HELVACI - 11-10-2016, Saat: 10:53
Cvp: Free vs FreeAndNil - Yazar: kimimben - 11-10-2016, Saat: 11:50
Cvp: Free vs FreeAndNil - Yazar: masteryoda - 11-10-2016, Saat: 14:34
Cvp: Free vs FreeAndNil - Yazar: Fesih ARSLAN - 11-10-2016, Saat: 10:25
Free vs FreeAndNil - Yazar: SimaWB - 20-10-2016, Saat: 11:56
Free vs FreeAndNil - Yazar: sadettinpolat - 31-01-2018, Saat: 20:56
Free vs FreeAndNil - Yazar: Bahadir.Alkac - 01-02-2018, Saat: 09:52
Cvp: Free vs FreeAndNil - Yazar: Tuğrul HELVACI - 01-02-2018, Saat: 12:43
Cvp: Free vs FreeAndNil - Yazar: Tuğrul HELVACI - 01-02-2018, Saat: 13:01
Cvp: Free vs FreeAndNil - Yazar: edo - 01-02-2018, Saat: 16:22
Free vs FreeAndNil - Yazar: klavye - 01-02-2018, Saat: 16:05
Cvp: Free vs FreeAndNil - Yazar: Tuğrul HELVACI - 01-02-2018, Saat: 16:33
Cvp: Free vs FreeAndNil - Yazar: sadettinpolat - 01-02-2018, Saat: 20:41
Cvp: Free vs FreeAndNil - Yazar: Tuğrul HELVACI - 02-02-2018, Saat: 11:42
Cvp: Free vs FreeAndNil - Yazar: Bahadir.Alkac - 02-02-2018, Saat: 12:18
Cvp: Free vs FreeAndNil - Yazar: Tuğrul HELVACI - 02-02-2018, Saat: 12:34
Cvp: Free vs FreeAndNil - Yazar: Bahadir.Alkac - 02-02-2018, Saat: 12:54
Free vs FreeAndNil - Yazar: esistem - 02-02-2018, Saat: 12:11
Cvp: Free vs FreeAndNil - Yazar: Fesih ARSLAN - 02-02-2018, Saat: 12:18
Cvp: Free vs FreeAndNil - Yazar: savasabd - 02-02-2018, Saat: 12:58
Cvp: Free vs FreeAndNil - Yazar: ismailkocacan - 02-02-2018, Saat: 16:04
Free vs FreeAndNil - Yazar: edo - 02-02-2018, Saat: 14:20
Cvp: Free vs FreeAndNil - Yazar: Tuğrul HELVACI - 02-02-2018, Saat: 17:24
Free vs FreeAndNil - Yazar: Bahadir.Alkac - 02-02-2018, Saat: 18:23
Cvp: Free vs FreeAndNil - Yazar: sadettinpolat - 03-02-2018, Saat: 16:52
Cvp: Free vs FreeAndNil - Yazar: Tuğrul HELVACI - 05-02-2018, Saat: 10:33
Free vs FreeAndNil - Yazar: canbir - 26-05-2018, Saat: 18:57
Cvp: Free vs FreeAndNil - Yazar: edo - 28-05-2018, Saat: 10:55
Free vs FreeAndNil - Yazar: Halil Han BADEM - 26-05-2018, Saat: 23:44
Free vs FreeAndNil - Yazar: sadettinpolat - 27-05-2018, Saat: 01:38
Cvp: Free vs FreeAndNil - Yazar: Halil Han BADEM - 27-05-2018, Saat: 01:46

Konu ile Alakalı Benzer Konular
Konular Yazar Yorumlar Okunma Son Yorum
  Free vs FreeAndNil vs DisposeOf yanniosman 6 3.581 08-01-2024, Saat: 11:50
Son Yorum: RAD Coder
  Delphi Community Edition free info@guzelceker.com 1 2.335 29-06-2020, Saat: 11:13
Son Yorum: Fesih ARSLAN
  Boş yere free etmeye uğraştığımı düşünüyorum. bibilen 11 7.868 02-05-2020, Saat: 11:18
Son Yorum: bibilen
  Datasnap free yapmama sorunu. seci20 1 2.120 24-10-2019, Saat: 08:16
Son Yorum: 3ddark
  Nesne Neden Free Olmuyor? Halil Han BADEM 3 3.407 31-07-2019, Saat: 14:28
Son Yorum: sddk



Konuyu Okuyanlar: 1 Ziyaretçi