Properties in Delphi cannot be passed as var parameters because var parameters require the actual variable address, but properties may not have backing storage (they could be computed or virtual). You must use a temporary local variable if you need to pass a property's value by reference. This is a language design constraint, not a limitation you can bypass with pointers.