First of all, Prolog doesn't have functions, those things are predicates. The difference matter a lot, since there can be multiple ways to satisfy (prove) a predicate is true, but there is typically only one way to interpret a function.
I've never used Visual Prolog, but what you are asking can be accomplished in most flavors of Prolog I've seen using =../2 and call/1 as follows:
Func2WithArgs =.. [Func2, Arg1, Arg2],
call(Func2WithArgs).
for instance:
X = writeln, Call =.. [X, 'Hellow World'], call(Call).