请教关于isapi(dll)应用程序调试(50分)

  • 主题发起人 主题发起人 nobeing
  • 开始时间 开始时间
N

nobeing

Unregistered / Unconfirmed
GUEST, unregistred user!
胐elphi建立一个isapi的web应用程序(dll)
用www浏览的时候提示我下载该文件
为什么啊??
win2000+iis 5+delphi 6
已经讲delphi/source/webmidas下的东东考到程序目录下了
 
把存放DLL的目录的访问属性设置为“执行”!!!!!
 
我已经设置脚本+执行
不行啊
 
有一执行权限下拉选项,从纯脚本访问改为脚本和可执行文件。
其他的除了“写入”外,全部选中。
 
WebSnap Application Deployment
===========================================================
If you created your application as a Web App Debugger
executable, you will fist have to convert it to an
ISAPI DLL, CGI executable, or Apache Shared Module. To
deploy your DLL or EXE to a web server, you will have to
place your application in a directory that has executable
rights. With Internet Information Services (IIS) this is
typically C:/Inetpub/Scripts. For each WebModule in your
application, you must copy the associated HTML file to the
same directory as your EXE/DLL. By default, the associated
HTML file is simply the WebModule unit's name with .html
as the extension.

Additionaly, you must register both WebBrokerScript.tlb
and stdvcl40.dll on the web server. TLB files cannot be
registerd with the Microsoft regsvr32 program, but must
be registerd with tregsvr, located in the Delphi bin
directory. You can copy tregsvr to the web server, and
register the files with:
tregsvr WebBrokerScript.tlb
and
tregsvr stdvcl40.dll

Finally, WebSnap applications require the Microsoft Active
Scripting Engine in order to work. It is included with
Internet Explorer 5, and is installed by default on Windows
2000 machines. To download the Scripting Engine, visit:
http://msdn.microsoft.com/scripting/
 
在IIS中有个Scripts的虚拟目录,将你的dll考到下面试一下
 
把你的程序代码放上来看看,handled:=true是否加上了?
 
program example1;

uses
Forms;

{$R *.res}

begin
Application.Initialize;
Application.Run;
end.

unit ex1;

interface

uses
SysUtils, Classes, HTTPApp, MidItems, WebComp, HTTPProd, CompProd,
PagItems, MidProd, XMLBrokr, Provider, DB, DBTables;

type
TWebModule1 = class(TWebModule)
Session1: TSession;
Database1: TDatabase;
Query1: TQuery;
DataSetProvider1: TDataSetProvider;
XMLBroker1: TXMLBroker;
InetXPageProducer1: TInetXPageProducer;
DataForm1: TDataForm;
DataNavigator1: TDataNavigator;
DataGrid1: TDataGrid;
private
{ Private declarations }
public
{ Public declarations }
end;

var
WebModule1: TWebModule1;

implementation

{$R *.DFM}

end.


object WebModule1: TWebModule1
OldCreateOrder = False
Actions = <
item
Default = True
Name = 'WebActionItem1'
PathInfo = '/InetXPageProducer1'
Producer = InetXPageProducer1
end>
Left = 206
Top = 140
Height = 196
Width = 273
object Session1: TSession
Active = True
AutoSessionName = True
Left = 8
Top = 8
end
object Database1: TDatabase
AliasName = 'DBDEMOS'
Connected = True
DatabaseName = 'MyTest'
HandleShared = True
SessionName = 'Session1_1'
Left = 64
Top = 8
end
object Query1: TQuery
Active = True
DatabaseName = 'MyTest'
SessionName = 'Session1_1'
SQL.Strings = (
'select * from employee')
Left = 120
Top = 8
end
object DataSetProvider1: TDataSetProvider
DataSet = Query1
Constraints = True
Left = 176
Top = 8
end
object XMLBroker1: TXMLBroker
Params = <>
ProviderName = 'DataSetProvider1'
WebDispatch.PathInfo = 'XMLBroker1'
Left = 16
Top = 104
end
object InetXPageProducer1: TInetXPageProducer
HTMLDoc.Strings = (
'<HTML>'
'<HEAD>'
'</HEAD>'
'<BODY>'
'<#INCLUDES><#STYLES><#WARNINGS><#FORMS><#SCRIPT>'
'</BODY>'
'</HTML>')
Left = 112
Top = 104
object DataForm1: TDataForm
object DataNavigator1: TDataNavigator
XMLComponent = DataGrid1
end
object DataGrid1: TDataGrid
XMLBroker = XMLBroker1
end
end
end
end
 
后退
顶部