function
Boa tarde, eu de novo!
Já consegui desenvolver um dbnavigator para mim, que está funcionando redondo. Agora a minha dúvida é outra. Tenho o trecho de código a seguir:
***
function TDmoPrincipal.LocalizaUltimoRegistro(Conexao: TSQLConnection;Tabela: string;CampoCodigo: string): string;
var
qryRecupera: TSQLQuery;
UltimoRegistro: string;
begin
result := ´´;
qryRecupera := TSQLQuery.Create(Nil);
qryRecupera.SQLConnection := Conexao;
qryRecupera.SQL.Add(´SELECT MAX(´+CampoCodigo+´)´
+´ FROM ´ + Tabela;
qryRecupera.Open;
UltimoRegistro := qryRecupera.Fields[0].AsString;
result := UltimoRegistro;
qryRecupera.Close;
freeandnil(qryRecupera);
end;
***
O delphi está me indicando o seguinte erro: ´Function needs return type´.
Ele está bêbado? Eu indiquei o tipo de retorno da função que preciso (string), e estou utilizando a variável Result.
Estou esquecendo alguma outra coisa?
Ah, antes que me perguntem, o header da função está declarado na cláusula public.
Fico grato se alguém puder ajudar.
:D
Já consegui desenvolver um dbnavigator para mim, que está funcionando redondo. Agora a minha dúvida é outra. Tenho o trecho de código a seguir:
***
function TDmoPrincipal.LocalizaUltimoRegistro(Conexao: TSQLConnection;Tabela: string;CampoCodigo: string): string;
var
qryRecupera: TSQLQuery;
UltimoRegistro: string;
begin
result := ´´;
qryRecupera := TSQLQuery.Create(Nil);
qryRecupera.SQLConnection := Conexao;
qryRecupera.SQL.Add(´SELECT MAX(´+CampoCodigo+´)´
+´ FROM ´ + Tabela;
qryRecupera.Open;
UltimoRegistro := qryRecupera.Fields[0].AsString;
result := UltimoRegistro;
qryRecupera.Close;
freeandnil(qryRecupera);
end;
***
O delphi está me indicando o seguinte erro: ´Function needs return type´.
Ele está bêbado? Eu indiquei o tipo de retorno da função que preciso (string), e estou utilizando a variável Result.
Estou esquecendo alguma outra coisa?
Ah, antes que me perguntem, o header da função está declarado na cláusula public.
Fico grato se alguém puder ajudar.
:D
Tiagopar2004
Curtidas 0
Respostas
Beppe
02/01/2004
Verifique se declarou corretamente em [b:e44d4ffec3]interface[/b:e44d4ffec3].
Para não ter dúvidas, delete a declaração, vá para a implementação de TDmoPrincipal.LocalizaUltimoRegistro, tecle Ctrl+Shift+C. A função será declarada em [b:e44d4ffec3]private[/b:e44d4ffec3], então passe para [b:e44d4ffec3]public[/b:e44d4ffec3].
Para não ter dúvidas, delete a declaração, vá para a implementação de TDmoPrincipal.LocalizaUltimoRegistro, tecle Ctrl+Shift+C. A função será declarada em [b:e44d4ffec3]private[/b:e44d4ffec3], então passe para [b:e44d4ffec3]public[/b:e44d4ffec3].
GOSTEI 0
Tiagopar2004
02/01/2004
Obrigado pela atenção, Beppe. Fiz como vc falou, mas agora, quando eu dou o Ctrl+Shift+C ele me diz que esperava um ´:´ ao invés do ´.´, em:
function TDmoPrincipal.LocalizaUltimoRegistro(Conexao: TSQLConnection; Tabela: string ; CampoCodigo: string): string;
Como assim ´:´? Que eu saiba a sintaxe está correta. Vc vê algum outro erro de sintaxe?
Valeu mesmo, aguardo tua resposta.
function TDmoPrincipal.LocalizaUltimoRegistro(Conexao: TSQLConnection; Tabela: string ; CampoCodigo: string): string;
Como assim ´:´? Que eu saiba a sintaxe está correta. Vc vê algum outro erro de sintaxe?
Valeu mesmo, aguardo tua resposta.
GOSTEI 0
Beppe
02/01/2004
É muito estranho isso. Não notei nada de anormal. Coloca a unit inteira, só assim pra ver então.
GOSTEI 0