程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 編程語言 >> 更多編程語言 >> Delphi >> Delphi編寫組件封裝asp代碼的基本步驟(Asp組件系列)

Delphi編寫組件封裝asp代碼的基本步驟(Asp組件系列)

編輯:Delphi
  如果你想脫離asp愛好者的水平,那麼你就應該學會為asp編寫組件。我在google上搜索了一下,Delphi編寫ASP組件的文章一共就幾篇,所以今天寫了這篇Delphi編寫asp組件的基礎文章,希望對新手有點幫助。如果你要學習VB編寫ASP組件的話,建議看看龍卷風大哥的文章(http://blog.csdn.Net/online/category/9939.ASPx),不是我可以比的。呵呵:)

  開始吧,讓我們一起編寫一個”hello world!”的示例。我這裡用的是Delphi 7。

  1.文件->新建->其他->ActiveX->ActiveX Library,然後保存成showdll.dpr

  
  
  

  2.再次,文件->新建->其他->ActiveX->ActiveX Server Object,填寫CoClassName:showhello,其他不變,點擊ok。
  

  
  3.現在開始寫程序,先添加一個方法。選擇Ishowhello->右鍵->New->Method,填寫方法名稱:sayworld。
  

  
  4.現在開始寫程序,將Unit1保存成show.pas,然後添加方法sayworld的代碼
  

  
  show.pas的全部代碼如下:

  unit show;

   

  {$WARN SYMBOL_PLATFORM OFF}

   

  interface

   

  uses

    ComObj, ActiveX, ASPTlb, showdll_TLB, StdVcl;

   

  type

    Tshowhello = class(TASPObject, Ishowhello)

    protected

      procedure OnEndPage; safecall;

      procedure OnStartPage(const AScriptingContext: IUnknown); safecall;

      procedure sayworld; safecall;  //sayworld方法

    end;

   

  implementation

   

  uses ComServ;

   

  procedure Tshowhello.OnEndPage;

  begin

    inherited OnEndPage;

  end;

   

  procedure Tshowhello.OnStartPage(const AScriptingContext: IUnknown);

  begin

    inherited OnStartPage(AScriptingContext);

  end;

  procedure Tshowhello.sayworld(); //定義sayworld方法

  begin

   response.Write('Hello world');   //裡邊的語法和ASP一樣的寫法了,就在這裡封裝了。

  end;

   

  initialization

    TAutoObjectFactory.Create(ComServer, Tshowhello, Class_showhello,

      ciMultiInstance, tmApartment);

  end.

  4.點擊運行,編譯成dll, 並自動注冊了。這時候會提示:

  
  讓你放到web服務器上運行,好了現在寫個ASP文件調用一下吧,注意Delphi已經生成了一個ASP文件,我們改一下調用的方法就可以了。

  
  修改後的showhello.ASP代碼如下:

  <Html>

  <BODY>

  <TITLE> Testing Delphi ASP </TITLE>

  <CENTER>

  <H3> You should see the results of your Delphi Active Server method below </H3>

  </CENTER>

  <HR>

  <% Set DelphiASPObj = Server.CreateObject("showdll.showhello")

     DelphiASPObj.sayworld

  %>

  <HR>

  </BODY>

  </Html>

  在IIS的站點下運行看看效果吧:
  

  
  5.其他:

  Delphi編寫的組件,用win2000的組件服務注冊後可以看該組件的接口的方法

  
  6.還有ASP頁面和組件間傳遞參數,其實就是給調用的方法(函數)傳遞參數,注意Delphi裡定義的時候要和vbs 的數據類型一致。這些還是大家多實踐吧。這裡主要是想大家學會封裝ASP核心代碼的方法,起個拋磚引玉的作用。

  1. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved