关于作者

用户名:livefish
笔名:livefish
地区:
行业:其他

日历  

快速登录

+ 用户名:
+ 密 码:

快速通道

在线留言



最新评论

访问统计:
文章个数:5
评论个数:0
留言条数:0




Powered by BlogDriver 2.1

livefish的博客

 

文章

Delphi编写组件封装asp代码的基本步骤

如果你想脱离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核心代码的方法,起个抛砖引玉的作用。

- 作者: livefish 2006年03月4日, 星期六 15:34  回复(0) |  引用(0) 加入博采

DBGrid不支持鼠标的上下移动的解决代码

自己捕捉WM_MOUSEWHEEL消息处理
private
  OldGridWnd : TWndMethod;
procedure NewGridWnd (var Message : TMessage);
public

procedure TForm1.NewGridWnd(var Message: TMessage);
var
  IsNeg : Boolean;
begin
  if Message.Msg = WM_MOUSEWHEEL then
  begin
    IsNeg := Short(Message.WParamHi) < 0;
    if IsNeg then
      DBGrid1.DataSource.DataSet.MoveBy(1)
    else
      DBGrid1.DataSource.DataSet.MoveBy(-1)
  end
  else
    OldGridWnd(Message);
end;

procedure TForm1.FormCreate(Sender: TObject);
begin
  OldGridWnd := DBGrid1.WindowProc ;
  DBGrid1.WindowProc := NewGridWnd;
end;      

- 作者: livefish 2005年12月29日, 星期四 09:15  回复(0) |  引用(0) 加入博采

看过一个招聘信息后。。。

要求是这样:
1、要求精通asp.net,javascript,html,xml,xsl
2、工作经验一年以上,要求能尽快上班!(最好目前人在北京)
3、为人诚实、自信(只招全职,不招兼职,如果是找兼职的朋友请不要打搅,在此谢过)
4、工作地点:北京海淀区知春路附近
5、月薪3500-5000(税后),详情具体面谈


公司简介: 本公司是一个刚成立的新型互联网公司,公司规模较小,目前共有6名员工。
欢迎有诚意的朋友投放简历至:citypen@163.com(有劳请注明“应聘”字样)
QQ:5229936(验证时请注明“应聘Asp.net”字样,多谢)
MSN:citypen@hotmial.com

高工资不是没有,所以得把这几点学好,精通asp.net,javascript,html,xml,xsl

- 作者: livefish 2005年12月8日, 星期四 14:50  回复(0) |  引用(0) 加入博采

计划用ASP.NET开发一个新闻发布后台.

计划用C#语言开发

- 作者: livefish 2005年12月6日, 星期二 16:24  回复(0) |  引用(0) 加入博采

一个小MM对我说的话,我感觉很对
一个小MM对我说的话,我感觉很对

为什么你过的不开心,
因为你不叛逆   叛逆才好玩   才会笑   才不用虾米淑女捏
你太乖拉,怕虾米捏?

- 作者: livefish 2005年04月15日, 星期五 18:21  回复(0) |  引用(0) 加入博采

几种颜色的星星特效

几种颜色的星星特效,一收一缩的。



- 作者: livefish 2005年04月14日, 星期四 13:58  回复(0) |  引用(0) 加入博采