> 백엔드 개발 > PHP 튜토리얼 > 写COM组件用于ASP/PHP等动态网页

写COM组件用于ASP/PHP等动态网页

WBOY
풀어 주다: 2016-06-23 13:59:07
원래의
1026명이 탐색했습니다.

   ASP、PHP等动态网页语言的功能已很强大,但COM能使它如虎添翼。其实我们平时用的ADO、FSO、Jmail等也就是COM。借助COM,WEB可以调用本地应用程序的几乎所有功能来反馈给页面。例如,查询服务器的各盘使用情况,CPU占用率等,最后我还会说几个非主流的点子。

   开发COM的工具也就是开发EXE应用程序的工具,VB、VC、Delphi都可以。但VB具有天生的优势,几行代码就可以写出COM来。VB中,COM又叫ActiveX DLL。下面借用一个很简单的示例 ,判断年份是否为闰年。

   新建一个ActiveX DLL工程,将工程名命为CheckYear,自动生成的类名命为LeapYear。写下如下代码:

Option ExplicitPublic Function IsLeapYear(yr As Variant) As Boolean    If yr Mod 4 = 0 And yr Mod 100  0 Then IsLeapYear = True Else IsLeapYear = FalseEnd Function
로그인 후 복사

  咳,简单得有点不适应。就这样COM做好了,生成DLL即可。然后注册它。在运行中输入“regsvr32 H:\checkyear.dll”即可。如果你本机架有IIS或NetBox,可以在ASP网页上调用它了。如果用于服务器,那么上面这件事则需要在服务器上做。ASP调用代码如下:

로그인 후 복사
  COM在EXE应用开发工具中也可以调用。在写复杂的COM时,可以用他们来检测功能。COM注册后,在VB中的“引用”列表中可以看到。例如下面是VB调用它的代码:

Private Sub Command1_Click()    Dim c    Set c = CreateObject("CheckYear.LeapYear")    Dim d As Boolean    d = c.IsLeapYear(2004)    MsgBox dEnd Sub
로그인 후 복사


  COM打开了一扇无限可能的门,下面就是看你发挥了。金蝶、用友等非常擅用此类方法。下面说说我的非主流的用法。WebService想必大家用过,很多门户或厂商以免费的WebService的方式提供天气、股市等信息。我们在程序中直接用URL就可以访问它。这里要说的是一个非公开的、非正式的“服务”,即IP138网站提供的IP信息查询页面,http://iframe.ip138.com/ic.asp,它返回简单的IP和所在地信息,如 “您的IP是:[17.89.9.11] 来自:广东省深圳市 电信”。我的程序中就向它请求信息查询用户所在地,这比自己查数据库省事多了,而且它号称它的地址永远是最新的。这个也可以用到COM中,页面上只要调用COM中提供的方法就可以了。有人要问:这样岂不总是得到服务器的地址信息?所以我们还要用到WinHttpRequest来构建自己的数据包。页面将用户IP传入COM,COM再将用户IP构建在数据包里发给IP138。发送的方法VB中有Inet控件和xmlhttp,更详细的内容自己百度啦。

  

원천:php.cn
본 웹사이트의 성명
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.
인기 튜토리얼
더>
최신 다운로드
더>
웹 효과
웹사이트 소스 코드
웹사이트 자료
프론트엔드 템플릿