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


Автор: AlexDon 23.8.2006, 16:43
У меня следующая проблема:

Есть OPC сервер NAPOPC. К нему есть пример на VB5. Мне нужно сделать этот пример на DELPHI7.
Все вроде получилось, кроме одной функции.

1) фрагмент на VB5:

Код

Private Sub btnRead_Click()
  ....
  Dim serverHandles(1) As Long
  Dim Errors() As Long
  ...
  serverHandles(1) = anItem.ServerHandle
  Group.OPCItems.Remove 1, serverHandles, Errors



2) После импорта библиотеки получил следующий прототип функции:

Код

    procedure Remove(NumItems: Integer; var ServerHandles: PSafeArray; out Errors: PSafeArray); safecall;


  Если передавать парамеиры типа PSafeArray, то транслятор выдает ошибку:

[Error] Unit1.pas(256): Type not allowed in Variant Dispatch call

  Если передавать то, что "нравится транслятору", то при выполнении команды выдается ошибка:

 EOleSysError with message 'Несовпадение типов'

 Подскажите, что же все таки нужно передавать в качестве параметров?

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