0
你好我已經從c#創建了一個DLL,它帶有一個返回ArrayList的函數,現在我正試圖在PowerBuilder應用程序中調用它。我怎樣才能從我的PowerBuilder應用程序中的DLL處理返回的ArrayList?還是有其他方法比使用ArrayList?提前致謝。如何從C#處理'ArrayList'到PowerBuilder
這裏是我的C#代碼
using System;
using System.Collections;
using System.Linq;
using System.Text;
using System.IO.Ports;
using System.Management;
namespace GetPorts
{
public class Class1
{
public ArrayList getPortNames()
{
ArrayList com_port_name = new ArrayList();
using (var searcher = new ManagementObjectSearcher("SELECT * FROM WIN32_SerialPort"))
{
string[] portnames = SerialPort.GetPortNames();
var ports = searcher.Get().Cast<ManagementBaseObject>().ToList();
var tList = (from n in portnames join p in ports on n equals p["DeviceID"].ToString() select n + " - " + p["Caption"]).ToList();
foreach (string s in tList)
{
com_port_name.Add(s);
}
}
return com_port_name;
}
}
}
我已經通過COM暴露它,我註冊DLL。現在,我使用「connecttonewobject」來使用我的DLL作爲一個OLE控件,如下所示:'lany = myoleobject.getPortNames()'但是我在這裏得到一個錯誤'Array expected',但是我的函數返回一個ArrayList。 – Dac
非易失性存儲器,我將我的ArrayList轉換爲數組,然後再返回它。多謝老兄! – Dac