PDA

Ver la Versión Completa : Previous declaration of 'ModoVideo' was not marked with the 'overload' directive


agustin_uni
17-12-2015, 23:19:02
Hola que tal! hace unas semanas publique un tema con respecto a un proyecto final de materia.. Recien en estos dias estoy empezando a buscar y probar algunos codigos para ir refrescando la memoria y experimentar un poco.. Quiero intentar empezar con un juego 2d con la biblioteca SDL, resulta que en el codigo me surge el siguiente error:
[Error] UUjuego.pas(64): Previous declaration of 'ModoVideo' was not marked with the 'overload' directive
Por lo que estuve averiguando, se trata de que me falta declarar una especie de sobrecarga, como que el procedimiento lo
podria estar usando dos veces..

El codigo que estoy utilizando tiene otra fuente, como dije estoy probando para experimentar.. Les muestro donde me esta tirando el error..
Aca declaro el procedimiento
procedure ModoVideo; stdcall; external 'SDL.dll';
Aca escribo el procedimiento
//Cambiar el modo video en SDL
procedure ModoVideo( iAncho, iAlto, iProfundidadColor: Integer; bModoVentana: Boolean );
begin
// Pasamos a modo de video de la ventana especificada
if bModoVentana then
Pantalla := SDL_SetVideoMode( iAncho, iAlto, iProfundidadColor, SDL_HWSURFACE ) ;
else
Pantalla := SDL_SetVideoMode( iAncho, iAlto, iProfundidadColor, SDL_HWSURFACE or SDL_FULLSCREEN );

if Pantalla = nil then
begin
ShowMessage( 'Error al cambiar de modo de video.' );
SDL_Quit;
Exit;
end;
end;
Desde ya, muchas gracias!

Casimiro Notevi
17-12-2015, 23:52:41
Por favor, recuerda poner los tags al código fuente, ejemplo:

http://www.clubdelphi.com/images/UtilizarTAGs.png

Gracias :)

Neftali [Germán.Estévez]
18-12-2015, 09:58:26
Una pregunta, ¿La declaración no debería "cuadrar" en los parámetros con la implementación?
Algo así:


function Sumar(x,y:integer):Integer; stdcall; external 'sumas.dll';


Implementación:


function Sumar(x,y:integer):Integer; stdcall;
begin
ShowMessage (Format('1-Sumando %d+%d=%d',[x,y,(x+y)]));
Result := x+y;
end;