Delphi編寫組件封裝asp代碼的基本步驟

來源:互聯網
上載者:User
如果你想脫離asp愛好者的水平,那麼你就應該學會為asp編寫組件。我在google上搜尋了一下,Delphi編寫asp組件的文章一共就幾篇,所以今天寫了這篇Delphi編寫asp組件的基礎文章,希望對新手有點協助。

    開始吧,讓我們一起編寫一個”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核心代碼的方法,起個拋磚引玉的作用。

寫這些,文字不多,就是截圖麻煩了點。水平有限,錯誤的地方,大家拍磚,拍的輕點啊!!!!

一風一雲

2004-10-18



聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.