Fórum Complete Class #584438

04/08/2017

0

Bom dia, pessoal. Alguém também está com problemas no Berlin com o Complete Class?
Criei uma unit de testes:

unit Unit2;

interface

type

TUsuario = class
FNome: string;
end;

implementation

end.

No entanto, ao usar o Complete Class (shift + ctrl + c) ou mesmo com o botão direito do mouse nada acontece. Não completa a classe...
Carlos Clara

Carlos Clara

Responder

Posts

04/08/2017

Natanael Ferreira

Creio que o Complete Class funciona para criação automática de Procedures.

Por exemplo, no seu código crie um procedimento e dê um Ctrl+Alt+C:

type
  TUsuario = class
    FNome: string;
    procedure DoSomething; // Acrescentei esta linha
  end;

O Complete Class vai funcionar criando o código abaixo de implementation:

{ TUsuario }

procedure TUsuario.DoSomething;
begin

end;

Veja a documentação oficial no link abaixo:
http://docwiki.embarcadero.com/RADStudio/Tokyo/en/Using_Class_Completion
Responder

Gostei + 0

04/08/2017

Rafael Bosco

O complete class só irá executar em métodos e funções e propertys adicionadas a classe, no seu exemplo você colocou apenas uma variavél aleatória e sem definir a segurança dela, faça assim e aperta SHIFT + CTRL + C para ver o que acontece:

   

   TUsuario = class
         private
               function ReturnSomething: Boolean;
         public
             property Nome: String;
   end;
   


O Delphi irá criar a função, e o Write, Get, e Set da property declarada.
Responder

Gostei + 0

05/08/2017

Carlos Clara

Descobri meu erro: estava faltando o property:

unit Unit2;

interface

type
TUsuario = class
property Nome: string;
property Login: string;
property Senha: string;
end;

implementation

end.

Ao digitar SHIFT + CTRL + C agora funciona: Completa a classe e fica:

unit Unit2;

interface

type
TUsuario = class
private
FSenha: string;
FLogin: string;
FNome: string;
procedure SetLogin(const Value: string);
procedure SetNome(const Value: string);
procedure SetSenha(const Value: string);
published
property Nome: string read FNome write SetNome;
property Login: string read FLogin write SetLogin;
property Senha: string read FSenha write SetSenha;
end;

implementation

{ TUsuario }

procedure TUsuario.SetLogin(const Value: string);
begin
FLogin := Value;
end;

procedure TUsuario.SetNome(const Value: string);
begin
FNome := Value;
end;

procedure TUsuario.SetSenha(const Value: string);
begin
FSenha := Value;
end;

end.

Valeu, galera....
Responder

Gostei + 0

Utilizamos cookies para fornecer uma melhor experiência para nossos usuários, consulte nossa política de privacidade.

Aceitar