horse-basic-auth icon indicating copy to clipboard operation
horse-basic-auth copied to clipboard

O Lazarus não está conseguindo determinar qual método de sobrecarga (overload) utilizar

Open JohnnyWalkerJrFx opened this issue 1 year ago • 2 comments

Eis a saída do Lazarus:

Hint: (11030) Start of reading config file E:\Programacao\lazarus\fpc\3.2.2\bin\i386-win32\fpc.cfg Hint: (11031) End of reading config file E:\Programacao\lazarus\fpc\3.2.2\bin\i386-win32\fpc.cfg Free Pascal Compiler version 3.2.2 [2024/02/26] for i386 Copyright (c) 1993-2021 by Florian Klaempfl and others (1002) Target OS: Win32 for i386 (3104) Compiling Horse_Server.lpr (3104) Compiling E:\Programacao\lazarus\lib\horse-basic-auth\src\Horse.BasicAuthentication.pas E:\Cursos e Programacao\Programacao\Trabalho\Lazarus\Demo3.2024\Horse_Server.lpr(21,15) Error: (4057) Can't determine which overloaded function to call E:\Programacao\lazarus\lib\horse-basic-auth\src\Horse.BasicAuthentication.pas(77,10) Hint: (5039) Found declaration: HorseBasicAuthentication(const THorseBasicAuthenticationWithResponse):<procedure variable type of procedure(THorseRequest;THorseResponse;TNextProc);Register>; E:\Programacao\lazarus\lib\horse-basic-auth\src\Horse.BasicAuthentication.pas(72,10) Hint: (5039) Found declaration: HorseBasicAuthentication(const THorseBasicAuthentication):<procedure variable type of procedure(THorseRequest;THorseResponse;TNextProc);Register>; Horse_Server.lpr(26) Fatal: (10026) There were 1 errors compiling module, stopping Fatal: (1018) Compilation aborted Error: E:\Programacao\lazarus\fpc\3.2.2\bin\i386-win32\ppc386.exe returned an error exitcode

Utilizando a diretiva: {$if defined(fpc)} {$mode delphi}{$H+} {$endif}

// São as duas funções que o compilador do Lazarus não está conseguindo lidar. function HorseBasicAuthentication(const AAuthenticate: THorseBasicAuthentication): THorseCallback; begin Result := HorseBasicAuthentication(AAuthenticate, THorseBasicAuthenticationConfig.New); end;

function HorseBasicAuthentication(const AAuthenticate: THorseBasicAuthenticationWithResponse): THorseCallback; overload; begin Result := HorseBasicAuthentication(AAuthenticate, THorseBasicAuthenticationConfig.New); end;

OBS.: Não tive oportunidade de testar no Delphi 10.3 que devido a um problema em minha máquina estou sem ele, mas acredito que no Delphi esteja Ok, pois estava acompanhando um vídeo do Alexandre Mágno para tirar algumas dúvidas e lá ele estava utilizando delphi e tudo funcionava.

JohnnyWalkerJrFx avatar Mar 24 '24 20:03 JohnnyWalkerJrFx

Amigos, desculpem-me, mas achei um comportamento estranho no Lazarus 3.2, se eu não der um Clean and Build ele não está funcionando de modo correto e está reportando esses erros. Se fizer isso, o erro acima não ocorre e isso com as mesmas diretivas de compilação. Desculpem-me o incômodo.

JohnnyWalkerJrFx avatar Mar 24 '24 22:03 JohnnyWalkerJrFx

Bom dia... no Delphi também, normalmente quando trocamos uma diretiva é necessário dar um clear e um build no projeto para pegar as alterações...

viniciussanchez avatar Mar 25 '24 11:03 viniciussanchez