He descubierto porque me fallaba, no era lo de inc(num) que te he dicho antes. Te escribo el código para que lo veas. La parte que he comentado es la que me fallaba( que se refiere a que si el fichero está abierto no me lo vuelve a abrir). Asi que por lo menos ahora me lo abre aunque sea siempre. Ahora tengo que arrglar esa parte para que me funcione.
Código Delphi
[-]
procedure TTFormMain.OpcionAbrir(Sender: TObject);
var
nombreArchivo: string;
i: integer;
ficheroAbierto: integer;
begin
ficheroAbierto:=0;
if DialogoAbrir.Execute then
begin
inc(numeroPestana);
for i:=0 to numeroPestana-1 do
if ficheroAbierto=0 then
begin
AbrirEditor(DialogoAbrir.FileName);
listaVentanas[numeroPestana].editor.Lines.LoadFromFile(DialogoAbrir.FileName);
listaVentanas[numeroPestana].guardado := true;
listaVentanas[numeroPestana].carpetaTrabajo := DialogoAbrir.FileName;
nombreArchivo := ObtenerNombrePestana(listaVentanas[numeroPestana].carpetaTrabajo);
delete(listaVentanas[numeroPestana].carpetaTrabajo,
pos(nombreArchivo,listaVentanas[numeroPestana].carpetaTrabajo),
length(listaVentanas[numeroPestana].carpetaTrabajo));
end;
end;
end;