I would like to know if it's possible to implement something like this:
procedure waitandcall(time,@MyProcedureOrFunction)
which execute the function or procedure I've created ?
I'm not sure if they are called callbacks.
It's absolutely possible, and you don't even need @ before your function.
In fact, all the events are based on this.
Start by defining a type for your function/procedure
type
TMyProc = procedure(Param1: Integer);
Then you can use your procedure type anywhere, as long as your procedure's signature matches your type.
If you're using an object method instead of a plain procedure/function, you need to use of object
type
TMyMethod = procedure(Param1: Integer) of object;
To call your callback from within, you can use something like this:
procedure DoAndCallBack(MyProc: TMyProc)
begin
MyProc(1);
end;