Приветствую. Я занимаюсь созданием сервера COM. Переношу код из среды Delphi7. Проблема: В этом проекте есть несколько функций, имеющих одно и тоже имя. Вот их прототипы:
constructor Create; overload;
constructor Create(LayersNum: Byte; NeuronsNum: Word); overload;
constructor Create(LayersNum: Byte; NeuronsNum: TDynArrayOfInteger); overload;
constructor Create(LayersNum: Byte; NeuronsNum: TDynArrayOfInteger;
SynapsesNum: TDynArrayOfInteger); overload;
constructor Create(LayersNum: Byte; NeuronsNum: TDynArrayOfInteger;
SynapsesNum: TDynArrayOfInteger; DontInit: Bool); overload;
Насколько я понял, концепция COM не позволяет использование подобных перегруженых функций. Но, там есть тип необязательных параметров, под названием Optional (в книге написано, что параметры этого типа должны иметь тип

Variant). Ну я так и сделал:
Потом я делаю так (Код, просто, ради примера):
procedure TTNet.Create(LayersNum, NeuronsNum_v: OleVariant;
var NeuronsNum_a: OleVariant; SynapsesNum, DontInit: OleVariant);
begin
Create(LayersCount, NeuronsCount);
end;
И получаю ошибку на строчке
Create(LayersCount, NeuronsCount);
> [Error] uMain.pas(42): Not enough actual parameters
Что я сделал не так? Где я ошибаюсь? Как мне решить проблему переноса вышеуказанных функций в сервер COM?