COMO BORRAR VARIABLE O UN PROCEDIMIENTO EN PASCAL?
Al mencionar variable se supone que son punteros osea.
var
dato : ^String; o de otro integer, real, array, longite o otros,
cuando la asignaste pondrías new(dato) para limpiar la memoria tendrás que
poner dispose(dato).
Si no son puntero no puedes liberarlas puesto que pascal asigna espacio en el
arranque del programa para todas las variables que encontró y no permite quitarlas
durante el proceso de ejecución.
Y los procedimientos menos puesto que estos como las variables lo controla pascal.
Mira este ejemplo varia la cantidad de variables tanto del programa como del procedimiento
y comprobaras lo que te comento.
program memoria;
uses
crt;
var
memori : longint;
procedure suma;
var
n, d : integer;
dat : string;
begin
n := 10;
d := 20;
writeln(' La Suma Resulto : ',n + d);
memori := memavail;
writeln(' Memoria En El Procedimiento = ',
memori,' bytes libre en el heap');
end;
begin
clrscr;
memori := memavail;
writeln(' Memoria al inicio = ',memori,' bytes libre en el heap');
suma;
memori := memavail;
writeln(' Memoria Al Final = ',
memori,' bytes libre en el heap');
readln;
end.
Si necesitas mas memoria por alguna causa pon después de program
{$M 8192, 8192,655360} con ello asignas mas memoria al programa.