PDA

Ver la Versión Completa : Delphi se me cuelga al compilar


RebeccaGL
20-07-2013, 03:20:43
Holas buenas.

Tengo un modulo que 50,000 lineas el programa ocupa 19 megas el problema es que cuando compilo a veces se me cuelga otras no, y cuando grabo el proyecto a veces demora 30 segundos otras mas, ¿como podria solucionar este problema para que no se me cuelgue el compilador?.

Compilador Delphi 7

nlsgarcia
20-07-2013, 06:48:13
connor,


...Tengo un modulo de 50000 líneas...cuando compilo (Delphi 7) a veces se me cuelga...¿como podría solucionar este problema...?...


Pregunto:

1- ¿Haz considerado dividir la unidad de 50000 líneas en varias unidades?, realmente te sugiero evaluar esta opción.

2- ¿Haz considerado compilar el programa con la opción de RunTime Packages?.

Revisa estos links:

BPL vs. DLL : http://delphi.about.com/od/objectpascalide/a/bpl_vs_dll.htm

INFO: DLL's, BPL's, carga dinámica, carga estática y Packages en Runtime : http://www.clubdelphi.com/foros/showthread.php?t=68947

Hundred Thousand Lines in a Unit : http://blog.marcocantu.com/blog/hundred_thousand_lines_unit.html
Espero sea útil :)

Nelson.

Casimiro Notevi
20-07-2013, 10:41:22
De todas formas, no debería bloquearse por ese motivo, pero es imposible ayudar si no das más información.

RebeccaGL
20-07-2013, 16:45:56
Muchas gracias por responder.

No he considerado esas opciones de compilacion, las probare y vere que sucede, lo que pasa es que el modulo que tengo, he metido todo en varias pestañas, para evitar crear mas formularios mejor dicho lo he hecho todo en un solo formulario y con 50 tablas y mucho codigo, y al momento de compilar o grabar el modulo se demora mucho y a veces se cuelga.

Compilador Delphi 7
Base de datos en MySQL 5.5

pc con memoria ram 4 megas core duo
windows XP sp2

Ahora que estoy escribiendo pienso, no sera, que tengo que modificar el stack min y el stack max del compilador?. Ademas tengo otros programas que ocupan 10 ó 13 megas y con ellos no me sucede este problema, sera porque no son tan grandes, nose.



saludos

mamcx
20-07-2013, 19:33:51
No muevas cosas raras sin saber porque.

Lo que debes hacer es lo que te dice nlsgarcia. Organizar el codigo en grupos/unidades (paquetes) donde puedes colocar codigo que ya no trabajas en uno(s) paquetes, codigo de terceros que no tocas en otros y dejas el resto en el proyecto.

Tambien me imagino, debes tener muchas referencias semi-circulares. Seguro hay un manojo de units que se referencian a diestra y siniestra.

Tambien, eliminar del USES las units que no se necesitan.

En conjunto, es reorganizar codigo:

http://stackoverflow.com/questions/920560/delphi-how-to-organize-source-code-to-increase-compiler-performance

Mas ideas:

http://stackoverflow.com/questions/6577993/why-does-delphis-compilation-speed-degrade-the-longer-its-open-and-what-can-i