Eine beliebige andere Prozedur/Funktion wird nicht gehen, denn Du musst ihr ja Parameter übergeben. Deine Idee funktioniert für parameterlose Routinen. Für andere musst du eben einen anderen Prozedurtypen deklarieren. Ich glaube, Du denkst Dir so etwas:
Delphi-Quellcode:
Procedure LaufzeitMessen (Proc : TProzedurMitBeliebigenParametern);
Begin
// Messen
End;
...
Laufzeitmessen(EineProzedur(a,b,c,d,e));
Das geht so zwar nicht, aber wenn Du die zu testende Routine in eine eigene parameterlose Prozedur packst, und dann deine Laufzeitmessung mit dieser Prozedur aufrufst, geht das schon. Na ja, irgendwie jedenfalls.
Delphi-Quellcode:
Procedure Laufzeitmessen (Proc : TProcedure);
Begin
/Messen
End;
Procedure TestProc;
Var
a,b : Integer;
c,d,e : String; // Zum Beispiel;
Begin
a := 1; b := 2; ... // Parameter setzen oder einmalig global
EineProzedur(a,b,c,d,e);
End;
...
Laufzeitmessen (TestProc);