Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате
Форум программистов > Delphi: ActiveX/СОМ/CORBA > Как работать с PSafeArray


Автор: Shtorm 10.3.2009, 15:10
Вроде вопрос не сложный, но что-то информации по нему не могу найти. Я хочу передавать данны исользуя PSafeArray, как правильно это деать? Например хочу передавать массив вещественных чисел, или пусть массив чего-нибудь, который буду записывать в переменную V: Variant. Ну вот к примеру как записать данные в PSafeArray тут ещё понятно
Код

Var
  psfArray: PSafeArray;
  V: Variant;
  ind: Integer;
begin
  ind := 0;
  v := VarArrayCreate([0, 21], varVariant);
  while ind<20 do
  begin
    V[ind] := ind;
    inc(ind);
  end;
  psfArray := PSafeArray(TVarData(v).VArray);
end;

А как эти данные потом раскрыть не знаю.  smile 

Автор: MetalFan 10.3.2009, 18:10
Shtorm, и какие цели преследуются сими извращениями?

Автор: Shtorm 10.3.2009, 23:03
Да вот такую мне задачу поставили. Обосновывая что в Си Шарпе какие-то проблемы с типом Variant. Так ли это? Да и для себя просто интересно понять как работать с этим PsafeArray. В Си Шарпе не шарю, а делаю приложение для которого плагины будут разрабатываться на разных языках в том числе и на шарпе. Если в шарпе нормально всё с этим типом данных, то прийдётся мне ещё и пример на нём писать с использованием этого типа данных.
Взял тип данных тут Variant видимо не очень удачно...
1) Но всё ж как записывать  данныей в переменную с этим типом и как потом эти данные из него извлекать?
2) Может знает кто, есть ли проблемы с типом данных Variant в Си шарпе?

Powered by Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)