En cuanto a la pregunta de arrays, simplemente olvida esa "técnica", esta otra es más moderna y facil para el programador.
Código Delphi
[-]
type Tactor = class(Tobject)
public
Nombre:string;
idActor:integer;
end;
var:
Lista :TobjectList;
procedure CreaLista();
begin
Lista := TobjectList.Create(true);
end;
procedure CreaActor();
var
a : Tactor;
begin
a := Tactor.Create;
a.nombre := 'pepe';
a.idactor := 32;
lista.add(a);
end;
procedure LiberaLista;
begin
freeandnil(Lista);end;
function ActorEstaEnLista(id:integer):boolean
var a:Tactor;
i:integer;
begin
Result := false;
for i:=0 to lista.count-1 do
if Tactor(lista.items[i]).idactor = id then
begin
Result := true;
break;
end;
end;
Espero que no tenga muchos fallos
Saludos