小编EFD*_*EFD的帖子

Delphi OleVariant来自COM库的字符串数组

我有Delphi 2006客户端应用程序.此客户端从COM服务器接收Olevariant类型数据.功能是:

procedure OnLimitsChanged(var SymbolsChanged: {??PSafeArray}OleVariant);
Run Code Online (Sandbox Code Playgroud)

此函数返回一个字符串数组.我无法从delphi中读取OleVariant类型的数据.

从Excel VBA开始工作:

Private Sub g_Realtime_OnLimitsChanged(SymbolsChanged() As String)
    Dim i%
    Dim Salir As Boolean
    If UBound(SymbolsChanged) <> -1 Then
        i = 0: Salir = False
        While Not Salir
            If SymbolsChanged(i) = Simbolo Then
                LlamarALimites
                Salir = True
            Else
                i = i + 1
                If i > UBound(SymbolsChanged) Then Salir = True
            End If
        Wend
    End If
End Sub
Run Code Online (Sandbox Code Playgroud)

我试图将OleVariant转换为Psafearray ......

procedure TfmConfiguracion.RecibirNuevosTicks(ASender: TObject;
  var ArrayTicks : Olevariant);    
var 
  Data : pSafeArray;
  i,iLow, iHigh : …
Run Code Online (Sandbox Code Playgroud)

delphi string com variant safearray

5
推荐指数
1
解决办法
4025
查看次数

标签 统计

com ×1

delphi ×1

safearray ×1

string ×1

variant ×1