Передача объектов в процедуре
Доброго дня!
Имеется метод
The method Clone resizes the vector to the dimensions of vector VecSource and copies the entire contents of VecSource into its own data area (self).
Регистрирую так
Вызываем
И ругается на Params[0] так
Incopatible types: 'TVector' and 'Variant'
Вопрос извечен: что делать (как решить проблему)?
Спасибо!
Имеется метод
type
TVector = class (TComponent)
public
procedure Clone (VecSource: TVector);
end;
The method Clone resizes the vector to the dimensions of vector VecSource and copies the entire contents of VecSource into its own data area (self).
Регистрирую так
With MainForm.fsScript1.AddClass(TVector,'TComponent') do
AddMethod('procedure Clone(VecSource: TVector)',CallMethod);
Вызываем
function TMainForm.CallMethod(Instance: TObject; ClassType: TClass;
const MethodName: String; var Params: Variant): Variant;
begin
If MethodName='CLONE' then
MainForm.TVector.Clone(Params[0]);
end;
И ругается на Params[0] так
Incopatible types: 'TVector' and 'Variant'
Вопрос извечен: что делать (как решить проблему)?
Спасибо!
Комментарии
Помогло.
Следущий вопрос.
У этого же типа есть метод
В переменных Mean, Variance: double возвращается результат метода.
Будут ли правильными следующие действия?
Если сразу поставить MeanVar (Params[0], Params[1],Params[2],Params[3]), то ругается:
Types of actual and formal var parameters must be identical