选择显示字体大小

php 和 com


   php 可以操作 win32 平台下的 com 和 dcom 对象 1. 我创建了一个dll来计算一些东西. 有什么方法可以在 php 下运行这个dll吗 ? 2. 'unsupported variant type: xxxx (0xxxxx)' 是什么意思 ? 3. php 里操作可视化对象可能吗? 4. 我可以把com 对象存诸到 session 里吗 ? 5. 我怎样捕获 com 错误 ? 6. 我怎样在 php 里生成dll文件,就象我在 perl 里做的一样? 7. 'unable to obtain idispatch interface for clsid {xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx}' 是什么意思 ? 8. 我怎样从远程服务器运行 com 对象? 9. 我得到消息: 'dcom is disabled in c:\path...\scriptname.php on line 6', 我应该怎么办 ? 10. 在 php 页面里可以加载 activex 对象吗 ? 11. 可不可以得到一个com运行时的实例 ? 12. 有没有办法可以处理从 com 对象送出的事件 ? 13. 我在调用一个 com 对象(有多个接口)的方法时出错, . 我应该怎么办? 14. php 可以 com 工作, 那么 com+ 呢 ? 15. php 可以操作 com 对象, 我们是否可以设想通过 mts 管理组件资源, 从而管理 php ?
1. 我创建了一个dll来计算一些东西. 有什么方法可以在 php 下运行这个dll吗 ?

你不能在php里操作简单的dll.如果这个dll包含com 服务器并实现了 idispatch 接口,你可以操作它.
2. 'unsupported variant type: xxxx (0xxxxx)' 是什么意思 ?

有很多 variant 类型和它们的集合. 绝大多数已经被支持,可是还有少数不支持.数组也不完全支持,只有一维数组才被支持. 如果你还发现不支持的数据类型:请送 bug 报告(如果还没有报告) 并且提供尽可能多的信息.
3. php 里操作可视化对象可能吗?

通常是可以的.但是 php 多是用来作为脚本运行在web 服务器设备下, 而可视化对象从来不会出现在服务器桌面. 如果你使用php 作为应用程序脚本如 php-gtk ,那么通过 com 操作可视化对象是没有限制的.
4. 我可以把com 对象存诸到 session 里吗 ?

不可以. com 实例被认为是资源.因此它们只能在单一的脚本程序里起作用.
5. 我怎样捕获 com 错误 ?

当前没有其它工具可以追踪 com 错误,除了 php 自已 (@, track_errors, ..), 我们正在考虑实现它的一种方法.
6. 我可以在 php 里生成dll文件,就象我在 perl 里做的一样?

不可以.不幸的是没有任何这样的php工具.
7. 'unable to obtain idispatch interface for clsid {xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx}' 是什么意思 ?

这个错误有多方面的原因:



8. 我怎样从远程服务器运行 com 对象 ?

就象你运行本地对象一样. 你仅仅需要把远程的ip地址作为第二个参数传给 com 构造器.
还要确认你的 php.ini文件里com.allow_dcom=true .
9. 我得到消息: 'dcom is disabled in c:\path...\scriptname.php on line 6', 我应该怎么办 ?

编辑 php.ini文件,设置 com.allow_dcom=true.
10. php 页面里可以加载 activex 对象吗 ?

这应该与php无关. activex 是客户端对象 ,由html 页面调用. 和 php 脚本没有直接关系. 当然,也没有直接的服务端交互的可能.
11. 可不可以得到一个com运行时的实例 ? ?

用monikers可以实现这个功能. 你想得到同一个word实例的多个引用,可以用下面的代码: that instance like shown:
$word = new com("c:\docs\word.doc");

如果没有word的实例在运行,它会创建新的实例.否则,它会返回它的句柄.
12. 有没有办法可以处理从 com 对象送出的事件 ?

还不能.
13. 我在调用一个 com 对象(有多个接口)的方法时出错, . 我应该怎么办?

答案简单得让人不满意. 我不是太清楚,但我想你不用做什么. 如果还有人关于这有一些情况和看法,请让 我(harald.radi@nme.at) 知道 :)
14. php 可以 com 工作, 那么 com+ 呢 ?

com+ 扩展了 com 框架,用来通过mts 和 msmq管理 组件.没有什么特殊的东西php不支持.
15. php 可以操作 com 对象, 我们是否可以设想通过 mts 管理组件资源, 从而管理 php ?

php 本身还不能处理交易. 也就是说如果有错误发生它还是不会主动滚回. 即使用支持交易的组件对象,你还是要 自己实现交易的管理. (交易 - transactions) 


 


关键字 本文所属关键字

相关 与本文相关文章

分类 所有文章关键字导航

源码编程相关

Java   Asp   PHP   .Net   XML   C/C++   CGI   VB   Jsp   J2ee   J2se   J2me   EJB   Servlet   Tomcat   Resin   Struts   Weblogic   Eclipse   ANT   GUI   JMS   Web servise   IDEA   Webphere   Hibernate   Spring   Jboss   Applet   Swing   Socket   Javamail   Perl   Ajax   P2P   安全   模式   框架   测试   开源   游戏

SQL数据库相关

My-SQL   Ms-SQL   Access   DB2   Oracle   Sybase   SQLserver   索引   存储过程   加密   数据库   分页   视图  

手机无线相关

3G   Wap   CDMA   GRPS   GSM   IVR   彩信   短信   无线   增值业务

网页设计制作相关

HTML   CSS   网页配色   网页特效   Javascript   VBscript   Dreamweaver   Frontpage   JS   Web   网站设计

网站建设推广相关

建站经验   网站优化   网站排名   推广   Alexa

操作系统/服务器相关

Windows XP   Windows 2000   Windows 2003   Windows Me   Windows 9.x   Linux   UNIX   注册表   操作系统   服务器   应用服务器

图形图像多媒体相关

Photoshop   Fireworks   Flash   Coreldraw   Illustrator   Freehand   Photoimpact   多媒体   图形图像

标准 网站致力的规范

Valid CSS!

无不良内容,无不良广告,无恶意代码

Valid XHTML 1.0 Transitional

creativecommons