Delphi XE2 - Sobrecarga de operadores

111 views
Skip to first unread message

Alcir Marcon

unread,
Oct 1, 2012, 10:04:18 PM10/1/12
to dug...@googlegroups.com
Galera, quando tento implementar o operador de igualdade em uma classe, conforme código abaixo, recebo o seguinte erro no Delphi XE2:
[DCC Error] MesaVO.pas(20): E2123 PROCEDURE, FUNCTION, PROPERTY, or VAR expected

Eis o código:

unit Teste;

interface

type
  TTeste = class
  private
    FID: Integer;
    FNOME: String;
  public
    Property ID: Integer read FID write FID;
    Property NOME: String read FNOME write FNOME;
    class operator Equal(A, B: TTeste): Boolean;
end;

implementation

{ TTeste }

class operator TTeste.Equal(A, B: TTeste): Boolean;
begin
  Result := (A.ID = B.ID) And
            (A.NOME = B.NOME);
end;

end.

Neste link, http://www.devmedia.com.br/sobrecarga-de-operadores/1605, tem um artigo que trata do assunto. Revirei o google a respeito do assunto, e não achei uma solução.
Alguém sabe me dizer qual o problema no código, ou qual a solução para implementar sobrecarga de operadores no Delphi XE2.

Abs,

--
ALCIR MARCON
Dourados-MS

dugrs Sucesu

unread,
Oct 2, 2012, 5:31:53 AM10/2/12
to dug...@googlegroups.com, dug...@googlegroups.com
Coloque assim

Result :=( (A.ID = B.ID) And
            (A.NOME = B.NOME));

Que funciona


Enviado via iPhone

Jair Roberto Silva

unread,
Oct 2, 2012, 7:35:00 AM10/2/12
to dug...@googlegroups.com
Olá, Alcir!

A sobrecarga de operadores funciona no Delphi em estruturas do tipo record e não em classes, e só em versões mais recentes. Dê uma olhada em http://docwiki.embarcadero.com/RADStudio/en/Operator_Overloading_(Delphi).


Um abraço,
Jair

--
--
Você recebeu esta mensagem porque está inscrito no "DUG-RS -
Delphi Users Group Rio Grande do Sul" em Grupos do Google.
Acesse o nosso BLOG em http://www.dug-rs.org e contribua com a comunidade Delphi do Rio Grande do Sul
Para postar neste grupo, envie um e-mail para dug...@googlegroups.com
Para cancelar a sua inscrição neste grupo, envie um e-mail para
dug-rs-un...@googlegroups.com
Para ver mais opções, visite este grupo em
http://groups.google.com.br/group/dug-rs?hl=pt-BR
 
Twitter: @dugrs
http://www.facebook.com/groups/dugrs/
http://www.Vimeo.com/dugrs
 
 
 

Alcir Marcon

unread,
Oct 2, 2012, 9:15:24 AM10/2/12
to dug...@googlegroups.com
Que pena...
--
ALCIR MARCON
SOFT S/A Sistemas de Informação LTDA
(67) 3423-4350
(67) 8111-3979

Reply all
Reply to author
Forward
0 new messages