Ok using JSoftware's example... expanding on it a little... could I do this?

[pascal]
type
TProcedure = procedure; //Already declared in system

var
Bob: TProcedure;

procedure RunProc(callBack: TProcedure);
begin
...
Callback; //Calls callback
...
end;

procedure StoreProc(proc: TProcedure; var StoredProc: TProcedure);
begin
...
StoredProc := proc;
...
end;

procedure MyOwn;
begin
...
end;

begin
StoreProc(MyOwn, Bob);
RunProc(Bob);
end.[/pascal]

I'll try an experiment to see if this goes... seems like it might...