You are instantiating a TVariantManager instance without populating it, so it has unassigned function pointers at the time you are calling VarToInt64(). You would need to call GetVariantManager() first to initialize the record before you can use it, eg:
var
v : Variant;
N : Int64;
VMGR : TVariantManager;
begin
v := 1234567890;
if IsVariantManagerSet then
begin
GetVariantManager(VMGR);
N := VMGR.VarToInt64(v);
end;
end;
However, TVariantManager has been deprecated for a very long time (since sometime between D7..D2006, so approx 20 years!), so wherever did you get the idea that you need to use it in the first place? Since at least D2006 (maybe earlier), GetVariantManager() just fills the record with nil pointers, and IsVariantManagerSet() always returns False.
In modern coding, simply assign the Variant directly to the Int64 variable and let the compiler handle the conversion for you, eg:
var
v : Variant;
N : Int64;
begin
v := 1234567890;
N := v; // compiler generates: N := System.Variants._VarToInt64(v);
end;