я же говорю
TCommandStackElmt = array[0 .. MaxInt div 4-1] of TCommandStackElement;
PCommandStackElmt = ^TCommandStackElmt;
Размер указан толькол для обмана компилятора - что бы не ругался на границу массива. Вы же нигде не будете использовать переменные типа TCommandStackElmt.( я надеюсь

а работать так
Код:
PCommandStack : PCommandStackElmt;
GetMem(PCommandStack , FCount*sizeof(TCommandStackElement));
ReallocMem(PCommandStack , FCount*sizeof(TCommandStackElement));
FreeMem(PCommandStack);
Ещё раз для тех кто в танке
если написали
Код:
PCommandStackElmt = array of TCommandStackElmt
, то используйте только SetLength, иначе потом можно огрести по полной
