Finally! Garlar27, I know where the classes are defined, but the problem was that I couldn't understand where to put that code, I was getting SIGSEGV on menu items everywhere.

I finally got it to work like this:
constructor TTokenForm.Create(AOwner: TComponent; DatosToken: TToken);
begin
Token := DatosToken;
inherited Create(AOwner);
WriteCaption(Self);
end;
procedure TTokenForm.WriteCaption(AComponent: TComponent);
var
i: Integer;
begin
if (AComponent is TLabel) or (AComponent is TStaticText) or (AComponent is TCustomButton) or (AComponent is TForm) then
begin
if (AComponent.Tag <> 0) then TLabel(AComponent).Caption := LeerTextoGUI(AComponent.Tag);
end
else if (AComponent is TMenuItem) then
begin
if (AComponent.Tag <> 0) then TMenuItem(AComponent).Caption := LeerTextoGUI(AComponent.Tag);
end;
for i := 0 to AComponent.ComponentCount-1 do WriteCaption(AComponent.Components[ i ]);
end;
So the form is created as easily as
NewForm := TfrmMain.Create(nil,Token);
As always, thanks for the big help! Cheers!
