Romário, mais uma vez, valeu pela dica. Quanto os tipos dos atributos, estou
fazendo um programa bem específico (proj. final de faculdade) para um
determinado lugar, não me preocupando em distribuí-lo para outros. A minha
preocupação é, somente, passar e ter o canudo nas mãos, entende? O tempo
está curtíssimo e não estou apto (atualmente) para fazer "aquele projeto".
Tenho que fazer um capaz de passar.

Aproveitando, gostaria de pedir uma dica sua, caso vc possa dar e saiba:
estou com uma base de dados no interbase e, quando tento incluir um novo
registro, ele simplesmente é criticado, não deixando gravar por causa do
código que é PK. A minha rotina pra, antes de gravar, é a seguinte:
consulto no banco o último código da seguinte maneira: SELECT * FROM EVENTO
--- SqlEvento.last ---- codigo:=SqlEvento['codigo_Evento']; Depois o
incremento em 1. Só que, ao fazer esse passo a passo todo para pegar o
último registro, na verdade o registro retornado é o penúltimo e eu não
entendo por que. Será que existe outra forma de fazer isso, com o mesmo
pensamento?


Em 28/05/07, Romario (Listas) <[EMAIL PROTECTED]> escreveu:
>
>   Ricardo,
>
> Os atributos da sua classe TUCSacramento podem até estar corretos, mas o
> tipo deles é que acho que estão errados. Você tem "OBJETOS" na classe
> tratados como String e/ou TDatetime.
>
> Note que paróquia, curso e celebrante tem vida própria. Ou seja, eles
> existem mesmo que não haja o Sacramento.
>
> Quanto ao seu problema, só faltou o OVERRIDE na classe Batismo.
>
> Ficaria assim:
>
> Classe Sacramento:
> Function Consultar (Var Texto: String; ID: Byte): Byte; Virtual;
> ...
> Function TUCSacramento.Consultar (Var Texto: String; ID: Byte): Byte;
> Begin
> {código a ser executado}
> End;
> ----------------------------------------------------------
> Classe Batismo
> Type TUCBatismo = Class (TUCSacramento)
> ...
> Function Consultar (Var Texto: String; ID: Byte): Byte; Override;
> ....
> Function TUCBatismo.Consultar (Var Texto: String; ID: Byte): Byte;
> Begin
> Inherited;
> {código do consultar batismo a ser executado}
> End;
> ----------------------------------------------------------
>
> Sds,
>
> Romario
>
> Ricardo Souza escreveu:
> >
> > Romário, antes de mais nada, agradeço a atenção dispensada para o meu
> > problema. Quanto a ele, os atributos anteriormente informados estão
> > corretos, pois a classe sacramento engloba 4 classes especialistas, a
> saber:
> > batismo, crisma, eucaristia e matrimônio e os atributos que constam nela
> > estão corretos.
> >
> > E, sobre o problema de executar o que está na function consultar
> localizada
> > em sacramento, basta eu colocar o termo virtual e fazer o código
> normalmente
> > e, depois, em batismo faço nova declaração da mesma function consultar
> e, no
> > corpo dela, incluo inherited para que faça o que antecessor tem + o
> código
> > do herdeiro?
> > Ex.:
> > ----------------------------------------------------------
> > classe sacramento:
> > function consultar (var texto:string;id:byte):byte; virtual;
> > ...
> > function TUCSacramento.consultar (var texto:string;id:byte):byte;
> > begin
> > {código a ser executado}
> > end;
> > ----------------------------------------------------------
> > classe batismo
> > type TUCBatismo = class (TUCSacramento)
> > ...
> > function consultar (var texto:string;id:byte):byte;
> > ....
> > function TUCBatismo.consultar (var texto:string;id:byte):byte;
> > begin
> > inherited;
> > {código do consultar batismo a ser executado}
> > end;
> > ----------------------------------------------------------
> >
> > É isso mesmo que eu entendi?
>
>  
>


[As partes desta mensagem que não continham texto foram removidas]

Responder a