RE:Problema con el ejecutable.
Sí, es posible, pero tienes que hacer unos pasos antes. Primero busca el archivo BINOBJ.EXE en el directorio de Turbo Pascal, si lo tienes coloca el EGAVGA.BGI en el mismo lugar que ese .exe y ejecuta:
BINOBJ EGAVGA.BGI EGAVGA EGAVGA
Obtendrás un archivo que se llama EGAVGA.OBJ el cual es una conversión a archivo objeto que tienes que incluír luego en tu exe, para hacer esto y además registrar el procedimiento exportado del OBJ (egavga). Aquí está el código completo de lo que debes hacer:
uses crt, graph;
var
grDriver: Integer;
grMode: Integer;
procedure egavga; external; { este proc está en el .obj, es externo (no tiene código) }
{$L egavga.obj } { directiva de compilación para incluir el .obj en el .exe }
begin { este begin es el del PRINCIPAL, no del procedimiento }
if RegisterBGIDriver(@Egavga)<0 then { si no está registrado el proc egavga... }
begin { error! }
Writeln('Error registrando driver: ', GraphErrorMsg(GraphResult));
Halt(1); { paren las máquinas! }
end
else WriteLn('Todo bien!.'); { sino, todo está bién :) }
grDriver := Detect; { detectar el tipo de driver }
InitGraph(grDriver, grMode,''); { inicializar gráficos }
{ haz tus gráficos aquí }
end. { fin de la historia }