Sign Up

Sign Up to our social questions and Answers Engine to ask questions, answer people’s questions, and connect with other people.

Have an account? Sign In

Have an account? Sign In Now

Sign In

Login to our social questions & Answers Engine to ask questions answer people’s questions & connect with other people.

Sign Up Here

Forgot Password?

Don't have account, Sign Up Here

Forgot Password

Lost your password? Please enter your email address. You will receive a link and will create a new password via email.

Have an account? Sign In Now

You must login to ask a question.

Forgot Password?

Need An Account, Sign Up Here

Please briefly explain why you feel this question should be reported.

Please briefly explain why you feel this answer should be reported.

Please briefly explain why you feel this user should be reported.

Sign InSign Up

The Archive Base

The Archive Base Logo The Archive Base Logo

The Archive Base Navigation

  • SEARCH
  • Home
  • About Us
  • Blog
  • Contact Us
Search
Ask A Question

Mobile menu

Close
Ask a Question
  • Home
  • Add group
  • Groups page
  • Feed
  • User Profile
  • Communities
  • Questions
    • New Questions
    • Trending Questions
    • Must read Questions
    • Hot Questions
  • Polls
  • Tags
  • Badges
  • Buy Points
  • Users
  • Help
  • Buy Theme
  • SEARCH
Home/ Questions/Q 7661613
In Process

The Archive Base Latest Questions

Editorial Team
  • 0
Editorial Team
Asked: May 31, 20262026-05-31T13:37:17+00:00 2026-05-31T13:37:17+00:00

I am wondering why after I invoke Free method the object is not nil

  • 0

I am wondering why after I invoke Free method the object is not nil.
What I mean for example next class:

type Ta = class(TObject)
public
  i: integer;
  destructor Destroy; override;
end;

destructor Ta.Destroy;
begin
  inherited;
end;

procedure Form1.Button1;
var a: Ta;
begin
  a := Ta.Create;       
  a.Free;

  if a = nil then
    button1.Caption := 'is assigned' 
  else 
    button1.caption := 'is not assigned';
end;

My question is why after freeing the object is not nil and how will I make a to be nil after destructor without using a := nil?

  • 1 1 Answer
  • 0 Views
  • 0 Followers
  • 0
Share
  • Facebook
  • Report

Leave an answer
Cancel reply

You must login to add an answer.

Forgot Password?

Need An Account, Sign Up Here

1 Answer

  • Voted
  • Oldest
  • Recent
  • Random
  1. Editorial Team
    Editorial Team
    2026-05-31T13:37:18+00:00Added an answer on May 31, 2026 at 1:37 pm

    Explanation:

    The variable a will only become nil when it is assigned nil. That means there needs to be a := nil in code, which is now missing.

    Free is just a method, working on an instance of the Ta class. Free destroys that instance to which a pointed. The value of a is still the same and now points to a memory address where once was an Ta instance.

    Solution:

    Use FreeAndNil(a) to simultaneously destroy the object to which the variable points to and nillify the variable.

    • 0
    • Reply
    • Share
      Share
      • Share on Facebook
      • Share on Twitter
      • Share on LinkedIn
      • Share on WhatsApp
      • Report

Sidebar

Related Questions

Just wondering how I can paste an object after I have selected it in
I'm wondering how I can remove a certain class after a specific div is
I am wondering if the after the controller method returns a partial view, the
After reading this blog entry : http://wekeroad.com/post/4069048840/when-should-a-method-be-a-property , I'm wondering why Microsoft choose in
I was wondering, after having read this question ... he has this code: public
After watching Channel 9's video on F# Type Providers, I'm wondering about data schema
I am implementing an asynchronous service. After evaluating Microsoft's example , I am wondering
I'm wondering what happens after the constructor is done executing my code, because the
After much googling I have been wondering what the benefits/differences are between mysql and
After a quick Google I couldn’t find anything too promising so I was wondering

Explore

  • Home
  • Add group
  • Groups page
  • Communities
  • Questions
    • New Questions
    • Trending Questions
    • Must read Questions
    • Hot Questions
  • Polls
  • Tags
  • Badges
  • Users
  • Help
  • SEARCH

Footer

© 2021 The Archive Base. All Rights Reserved
With Love by The Archive Base

Insert/edit link

Enter the destination URL

Or link to existing content

    No search term specified. Showing recent items. Search or use up and down arrow keys to select an item.