Re: RAD Studio Roadmap Updated
Quote
what is VES?
Virtual Execution System (VES): This system implements and enforces the CTS
model. The VES is
responsible for loading and running programs written for the CLI. It
provides the services needed to execute
managed code and data using the metadata to connect separately generated
modules together at runtime. The
VES is also known as the Execution Engine.
Look for ECMA-335
Quote
Anyway, instead of a class they could use something reference counted
in Delphi for Win32, but otherwise use the same mechanism: local
variables are not local, they become part of the class instance (or
whatever it is) and are accessed from there. Right?
--
Suppose there is some reference counted heap allocated essence.
Let's process the next code
Button1.onlick:=begin
showmessage(ExternalVar)
end;
that is translated to something like this:
1. Alloc instance (Closure object)
_Reference_Counted_Essence.Allocate; ->Getmem(InstanceSize+HiddenSystemFields);
_Reference_Counted_Essence.Initialize(ExternalVar); ->
self.ExternalVar:=ExternalVar;
2. And ImplicitConversion
_Reference_Counted_Essence._Addref ->
Something Like InterlockedIncrement(P.refcnt);
TMethod(A).Data:=_Reference_Counted_Essence;
TMethod(A).Code:=_Reference_Counted_Essence.Compiler_generated_method_for_
showmessage
3. Assign A to Button1.onlick property.
Right?
And now question for one million dollars.
How have Closure object been notived after next operation
Button1.onlick:=nil.
Quote
Rudy Velthuis [TeamB] www.teamb.com
"I want to die in my sleep like my grandfather...
not screaming and yelling like the passengers in his car..."
-- bumper sticker