Buenas de nuevo, a ver intentare explicarlo de la forma más concisa que pueda:
Nosotros disponemos de un código que ahora mismo, actualmente, esta corriendo con Delphi 2007, y mi jefe me ha dicho que quiere el código en Delphi 2010 y posteriormente en XE3 (obviamente).
Cuando abrí el proyecto que tenemos compilado en Delphi 2010, pues obviamente empezaron a fallar algunos componentes que han cambiado y tal sobre todo de la FastReport, pero vamos sin mayor problema, he cambiado componentes y adaptado código.
Otro de los problemas mas repetidos son los ya famosos pChar, y todos lo que me ha saltado, han sido solucionados.
El problema reside al momento en el que el código esta aparentemente sin fallos ya, todos los errores bien corregidos, cuando dispongo a ejecutar, no llega a comenzar ni tan siquiera en la primera linea del código, se queda en Stack overflow en el primer begin. Os detallo una parte del código:
Código Delphi
[-]
program winperfil;
uses
Forms,
Windows,
Dialogs,
UFpago in 'UFpago.pas' ,
Unos 400 formularios añadidos en el uses
.
.
UTraspasoPedProv in 'UTraspasoPedProv.pas' ,
UcacheArtAcc in 'UcacheArtAcc.pas',
UTarifas2 in 'UTarifas2.pas' ;
var
faccli:Integer=0;
{$R *.RES}
{$R comunes.RES}
const NombreMutex='Winperfil.exe';
begin EN ESTE BEGIN DESBORDA
Application.Initialize;
Application.Title := 'winperfil';
Application.HelpFile := 'Winperfil.chm';
FSplash:=TFSplash.Create(Application);
FSplash.Show;
FSplash.Update;
Application.CreateForm(TM, M);
FSplash.Hide;
FreeAndNil(FSplash);
Application.CreateForm(TFMenu, FMenu);
Application.Run;
end.
Prosigo, una vez adentrándome en dicho begin y ejecutando paso a paso, el problema se encuentra en una de las librerías del sistema, en la cual creo entender que carga los formularios antes de la ejecución, uno a uno, donde aparentemente, en el primero de todos, es donde desborda la pila al llegar a un valor de un bucle concreto.
¿Qué ideas podéis aportar?