J'ai réalisé un petit programme assez simple qui ne fait que manipuler des données de fichier à l'aide Borland pascal.
J'ai choisi ce compilateur parcequ'il est assez proche du turbo pascal 5.5 que j'utilisais il y a une quinzaine d'année à titre professionnel. (depuis, le désert ...)
Donc pour mon bon plaisir je réalise ce petit programme.
Mais rapidement je rencontre un problème étrange : il plante avec une erreur 202 - dépassement de stack -.
Dans un premier temps je commence à chercher mon erreur, mais à l'évidence, il n'y en a pas. Le programme est simple, que des boucles for, while, until. Pas d'objet, pas de gestion dynamique de la mémoire, pas d'appel récurent de procédure ... Je m'arrache les cheveux.
Finalement, j'instal la version Lazarus.
je fait 4 modifications à mon fichier source pour être compatible avec Lazarus :
- je remplace "uses windos" par "uses dos".
- je retire la directive {$N+} dont n'a pas besoin Lazarus.
- je remplace TSearchTRec par SearchRec.
- la façon de lire un nom de fichier dans SearchRec.
C'est tout.
Je compile ... et
CA MARCHE !
Alors ... ou est le problème ??? Il me semble pourtant que le compilateur Borland est des plus sérieux ...
Partager