ISAPI的发布分两步:
1、转换、生成dll;2、发布
第一步有些变化,第二步跟原来一样!
关于第一步,从exe转换成dll的步骤(如果本来是ISAPIdll就不需要这一步了):
以Guess这个演示程序为例。exe时,工程文件是这样的:
program Guess;//这行的program要换成library
uses
Forms,//这个要删除,代之以ISAPIApp
IWMain,//这个也要删除,代之以IWInitISAPI
Main in 'Main.pas' {formMain: TIWFormModuleBase},
ServerController in 'ServerController.pas' {IWServerController: TDataModule};
{$R *.res}
//这里要插入exports列表
begin
Application.Initialize;//删除
Application.CreateForm(TFormIWMain, formIWMain);;//删除
Application.Run;;//删除
//这里插入 IWRun;
end.
作如下操作:
1. 把最开头的单词program换成library;
2. 把IWMain和Forms这两个单元从uses里删除;
3. 在uses里添加ISAPIApp和IWInitISAPI;
4.把begin 和 end之间的东西全删除.
5.在begin 和 end之间添加一行代码:IWRun;
6. 在begin之前添加如下信息:
exports
GetExtensionVersion,
HttpExtensionProc,
TerminateExtension;
现在,工程文件的内容应该这样了:
library Guess;
uses
ISAPIApp,
IWInitISAPI,
Main in 'Main.pas' {formMain: TIWFormModuleBase},
ServerController in 'ServerController.pas' {IWServerController: TDataModule};
{$R *.RES}
exports
GetExtensionVersion,
HttpExtensionProc,
TerminateExtension;
begin
IWRun;
end.
保存,关闭,重新打开,编译!得到的dll文件可以发布了。
至于怎样发布一个ISAPIdll,书上写的清除,不再重复了!