Hola. Tal vez te sería sencillo sustituir
Código Delphi
[-]
v : array [1..max]of integer;
por
v : array [1..max]of TComplexClass;
y definir TComplexClass como:
TComplexClass=class
FInt: integer;
FStr: string;
FQueSoy: integer;
end
y en función de FQueSoy, sabes qué valor leer, si FInt o FStr. Recuerda que esta vez tendrías que crear los elementos del vector v, ya que son clases y no sencillamente números.
Si quieres ya algo más complejo, pero sin utilizar clases ni cosas así, mírate el tipo Variant, que permite almacenar cualquier cosa, ints, strings, etc...
Un saludo,
LoPiTaL