Библиотека типов создается из C # и используется в Delphi 5.
в библиотеке типов есть метод, который возвращает массив или строку. В Delphi тот же массив строк я должен получить, но когда я скомпилировал код, появляется следующая ошибка.
Incompatible types: 'tagSAFEARRAY' and 'Array'
Вот код C #
public int[] sqrRootUpto(int num)
{
int[] result={0};
int tempVal=0;
for (int i = 2; num < tempVal; i++)
{
tempVal = i * i;
result[i] = tempVal;
}
return result;
}
Вот код Delphi, где я вызываю эти функции.
procedure TForm1.BtnSqrtClick(Sender: TObject);
var
num :Integer;
result : array of Integer;
begin
num := StrToInt(EditSqrtInput.text);
result := newObj.sqrRootUpto(num); //Here I am calling the above method
end;
end.
EDIT
var
result : variant;
begin
result := VarArrayCreate([0, 20], varInteger);
Error!! Incompatible types: 'tagSAFEARRAY' and 'Array'
TBL.pas имеет эту подпись для функции
function TMathClass.sqrRootUpto(rNum: Integer): PSafeArray;
begin
Result := DefaultInterface.sqrRootUpto(rNum);
end;
что такое diff ч / б TSafeArray и TSafeArray