Конструктор используется для создания записи. Вызывается при первом создании записи.
Функция может и должна вызываться по мере необходимости.
Вы можете создать "конструирующую" процедуру, но вы должны вызывать ее самостоятельно.
TVector = record
private
FImpl: IVector;
public
procedure Create;
end;
var
vec : TVector;
begin
vec.Create;
Альтернативой является создание фабричной функции, которая возвращает инициализированную запись.
function CreateVector(): TVector;
begin
Result.Create;
end;