lets start with basics.
1) Name is a property of a class eg
type
TMyObject = class
private
FName :String;
public
Property Name:string read FName write FName;
end;
That is all a name is.
2) in order to make things intuitive the designer (IDE) links the name with the variable name it created when you dropped your control on the form (label, edit etc)
eg
I can create any control in any variable and give it any name I like
procedure Test;
var
lblTest : TLabel;
Test2 :TLabel;
begin
lblTest :=tlabel.Create(nil);
test2 := TLabel.Create(nil);
lblTest.Name := 'QuoteOfTheDay';
Test2.Name :='lblTest';
end;
There is no rule linking the name of a component to the name of the variable or the name of the type.
Now imagine that you have 10 labels on a form all the variables that hold them are name label1..10 and the names are different. how would you know which variable has which name? The IDE makes sure that the variable name and the value in the name property of the control are the same. that makes things easy to use. Name a label as lblAirforce1 and you get a variable named lblAirForce1 that holds an instance of that label to use in your code.
So far so good.
Now there are special cases of controls which are known collectively as containers* because you can place other controls in them and they are bound their boundaries and properties and there is a smaller subgroup of those containers that are used at design time to create compound controls, in short the compound controls, aka controls that incorporate other controls in them, are only 3 1) Datamodule (non visual) 2)Form and 3)Frame. Those control are special in that, they offer a single control, that encompasses all the functionality their enclosed controls have given, as single control, for those controls the IDE links the name of the control not only with the variable name but the class name as well. It makes things easier to create, lets assume that you changed the name of the form2 to AirplaneEditor. How would you create that form in code if you need to?
var
MyEditor : TForm2;
begin
MyEditor := TForm2.Create(nil);
or
var
MyEditor : TAirplaneEditor;
begin
MyEditor := TAirplaneEditor.Create(nil);
what is more intuitive to you?
For me the second one fills more natural and removes all doubt of which form I created.
So in the cases of compound control creators the IDE will rename not only the variable but the type as well to make it clear when used.
*Some Examples of container controls that are not used to create compound controls at design time are the TScrollbox, TPanel and TPagecontrol.
Hope this clears any misunderstandings if not fill free to ask more questions.
PS:
the Term compound controls is not official I'm using it to describe the mentioned group of controls as far as I know I'm alone in that use.