我已把iwinitisapi,isapiapp单元加到library中了,但放到虚拟目录中就是"该页无法显示",我新建其它的iw的两种程序可以运行.
不过我在自己程序中用了个datamodel,在servercontroller的data中创建.这有什么问题吗?怎么发布不了?

解决方案 »

  1.   

    你要用RemoteDataModule不要用datamode
      

  2.   

    在Intraweb中用RemoteDataModule?不大对路吧?它默认是用IWUserSession的,
    而且我在过程中也没发现什么地方不对.其它程序都可以,就它不行.
    下面是我程序节选:
    Library P1;uses
      IWInitISAPI,
      UTemp in 'UTemp.pas' {F_Template: TIWFormModuleBase},
      UFrarm in 'UFrarm.pas' {TheFrame: TFrame},
      U_Main in 'U_Main.pas' {F_Main: TIWAppForm},
      Udata in 'Udata.pas' {DM: TDataModule},
      U_bmjh in 'U_bmjh.pas' {F_BMjh: TIWAppForm},
      U_CX_zjrjz in 'U_CX_zjrjz.pas' {F_CX_zjrjz: TIWAppForm},
      U_InitSys in 'U_InitSys.pas' {F_InitSys: TIWAppForm},
      ServerController in 'ServerController.pas' {IWServerController: TIWServerControllerBase};
    {$R *.RES}
    begin
      IWInitISAPI.IWRun;
    end.
    其中TF_Main已SetAsMainForm,
    tiwServerController已SetServerControllerClass,就只是在procedure TIWServerController.IWServerControllerBaseNewSession(
      ASession: TIWApplication; var VMainForm: TIWBaseForm);
    begin
      ASession.Data := TDM.Create(nil);
    end;
    把 原来的UserSession改成了DM.即我自己的DataModule,就运行不了啦.
      

  3.   

    应该无论如何,就算是错,也应该是IW报错,不应该是http服务器错啊.况且我的IIS又没问题.
      

  4.   

    已换成iwbaseUserSession,但还是不能发布.是什么原因呢?
    我用的是在51delphi下载的iw7,怎么就是发布不了呢?这样的话做了这么久了又有个屁用?
    妖~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
      

  5.   

    重新建一基于ISAPI的工程,在项目管理器里删除所有的单元,添加调试代码的所有单元,然后再保存、编译,将编译生成的动态链接库(.dll)文件放到具有执行权限的虚拟目录下再试试看吧。
      

  6.   

    TFFSession = class(TComponent)
      public
        iwDataModule: TiwDataModule;//为一个Datamodule并且把TSession的     //autosessionname=true
        constructor Create(AOwner: TComponent); override;
      end;constructor TFFSession.Create(AOwner: TComponent);
    begin
      inherited;
      iwDataModule := TiwDataModule.Create(AOwner);
    end;
    procedure TIWServerController.IWServerControllerBaseNewSession(
      ASession: TIWApplication; var VMainForm: TIWAppForm);
    begin
      ASession.Data := TFFSession.Create(ASession);
    end;或则参考delphi7的demo