Mattias Gaertner wrote:
> On Thu, 15 May 2008 14:43:20 -0400
> Lee Jenkins <[EMAIL PROTECTED]> wrote:
> 
>> I've never tried this type of thing before, but I have need to have
>> an object free self.
>>
>> After freeing any resource used by the object in it's Destructor, I
>> call inherited destroy and it looks like the inherited destroy
>> methods works, but right afterward, get a sig exception in
>> LCLProc.unit:
>>
>> function TMethodList.Count: integer;
>> begin
>>    if Self<>nil then
>>      Result:=FCount <== here
>>    else
>>      Result:=0;
>> end;
>>
>> Is it even possible to have an object free itself?
> 
> Yes.
> In fact, it does not matter who frees it. Just make sure, all refences
> to the object are set to nil.
> 
> 
>> BTW, I'm trying my hand at creaing an MVC and I need the controller
>> to be able to free itself because it is the object that 1) Creates
>> the View (form) and 2) the Model (object) and mediates between them.
>>
>> When the form is closed, the controller is notified and need to 1)
>> free the form 2) free the model/object and 3) free itself.
>>
>> Otherwise, I guess I must create some kind of manager object/list to
>> free the controller from the outside.  Note: If I free the controller
>> object from outside (like putting it in an objectlist and calling
>> ObjectList.clear) there is no exception.
>>
>> Just calling free from the object itself poses the problem.
> 
> Create a backtrace. Find out, where something accesses the control
> after it has been freed.
> 

OK, then there must be a something that is still referencing the object 
somewhere.  I'll check.

Thank you.

-- 

Warm Regards,

Lee

"When my company started out, we were really, really, really, really small. 
Now...we're just really small."
_______________________________________________
Lazarus mailing list
Lazarus@lazarus.freepascal.org
http://www.lazarus.freepascal.org/mailman/listinfo/lazarus

Reply via email to