使用DOTNET类与COM端口通信



我搜索一个已经使用DOTNET类与COM端口通信的人。在一个e-Health PHP项目中,我从智能卡中搜索数据。在被保留给Linux的几种方法所困扰之后,我发现这个DOTNET类可以访问一个端口来与外部设备通信。

$serial = new DOTNET('system', 'System.IO.Ports.SerialPort');
$serial->PortName = 'COM8';
$serial->Open();

我在另一个论坛上修改了php.ini文件,取消了这三行的注释,但似乎还不够:

extension=php_com_dotnet.dll   
extension_dir = "ext"   
enable_dl = On

当试图打开连接时,Wamp向我发送以下错误消息:

Fatal error: in C:wamp64wwwnode-projectpatients.php on line 204
com_exception: in C:wamp64wwwnode-projectpatients.php on line 204

请参阅本页的注释
PHP:dotnet-手动

dotnet类允许您从中实例化一个类。Net汇编并调用其方法和访问其属性,如果类、方法和属性对COM可见。

既不支持实例化静态类,也不支持调用静态方法。

有些。Net类不实现IDispatch,因此虽然它们可以实例化,但不支持调用这些类的方法或访问这些类的属性。

注意:
。Net framework 4.0及更高版本不受dotnet类的支持。如果程序集已使用regasm.exe注册,则可以将类实例化为com对象。

juan156_elias at gmail dot com

直接使用COM和DOTNET是一场噩梦。DOTNET只允许你瞄准目标。Net 3.5及以下版本,并且所有二进制文件都需要是COM可见的。这基本上意味着你需要自己写。Net二进制文件,至少是包装器。

您不能使用。NET API,您必须使用创建和注册COM可见包装器。NET 3.5或更低的框架,并称之为.

最新更新