Ah, OnRe is a procedure.... Hmm. I thought it was just a variable and that it was one of those times where the @ trick didn't work for the memory address and thus a pointer to it as a variable type might however that usually doesn't work with a procedure.

The problem, after looking at the code, is that you are trying to set the variable FCon.OnRecieve to a procedure - which cannot be done. The example is correct in saying that IF FCon.Onrecieve is of type procedure you could tell it the memory address of the procedure with the @.

Ignoring all of the above, whats the error message the compiler gives exactly? My suggestion coming from a pure FPC perspective would be to do

Code:
if FCon.OnRecieve then OnRe;
However this assumes that FCon.OnRecieve is of type Boolean and that, as the code indicates, OnRe is a procedure. However, this is from a FPC perspective as my lazarus knowledge is very limited.