Home Server
New Blog Posts: Merging Reports - Part 1 and Part 2

Can't get the Web Tier\Custom Parameters demo to work

edited November 2005 in Server
Hi,

I'm using RB Server in Delphi 7 on Win XP Pro

After I click the Submit Form button on the Custom Login Form, on the
following web page (http://localhost:8081/rbWebDebug.CoRBWebDebug/Login) I
get two frames with "Action Cancelled".



Am I overlooking something?

Regards,

Nols Smit

Comments

  • edited November 2005

    Make sure that the WebTier is configured properly for your installation. And
    IIS needs to be running.

    Can you run the Web Debugger demo?




    Best regards,

    Nard Moseley
    Digital Metaphors
    www.digital-metaphors.com
  • edited December 2005
    Referring to Web Tier\Customer Parameters demo: In the three Page
    Producers,
    the HTMLFile property is C:\TeamSource\RBServer Examples\Web Tier\Custom
    Parameters\.....
    I presume the path must be changed to: C:\Program
    Files\Borland\Delphi7\RBServer\Demos\Web Tier\Custom Parameters
    I started C:\Program Files\Borland\Delphi7\RBServer\Demos\Servers\04. Custom
    Parameters\rbServer.exe, and the Web App Debugger, Clicked on the default
    URL, supplied my name and password on the next page and clicked on Submit
    Form.
    But on the following web page, with address
    http://localhost:8081/rbWebDebug.CoRBWebDebug/Login, displays two frames
    with "The page cannot be displayed"

    Nols Smit


  • edited December 2005

    1. No path change is required. Please see the WebModule.OnCreate
    event-handler, the file names are dynamically resolved to use the
    application file path.

    2. Check the following:

    - make sure that you have a web server running (IIS or Apache). The HTML
    page that displays the frames has references to other HTML pages
    (TreeView.HTML and ListView.HTML) These must be loaded via the web server.
    Same with image references etc.

    - from the Web Browser perform a View | Source on the frame page and check
    the URL for the TreeView.HTML and ListView.HTML. Make sure they are correct
    and that the web server has security access to the directoy.

    - Use Windows Explorer to check the web cache and make sure the
    Treeview.HTML and ListView.HTML are generated to the proper directory.
    Adjust the WebTier settings if needed.





    Best regards,

    Nard Moseley
    Digital Metaphors
    www.digital-metaphors.com
  • edited December 2005
    O.K, It's working now. I did the following: I created a new web server
    application as a ISAPI/NSAPI Dll and, as the WebTier example, implemented it
    under IIS then the Web App Debugger work fine.

    I also got a way to let an IntraWeb application interface with this WebTier
    Dll. See code snippet appearing below:
    =====================================================
    unit Main;

    interface

    uses
    Classes, SysUtils, IWAppForm, IWApplication, IWColor, IWTypes, ppComm,
    rsWebTier, Controls, IWVCLBaseControl, IWBaseControl, IWBaseHTMLControl,
    IWControl, IWCompButton, IWCompEdit, IWCompLabel, IWCompListbox;

    type
    TfrmMain = class(TIWAppForm)
    btnReport: TIWButton;
    cbxColor: TIWComboBox;
    lblAccountName: TIWLabel;
    lblAccountPassword: TIWLabel;
    lblColor: TIWLabel;
    edtName: TIWEdit;
    edtPassword: TIWEdit;
    procedure btnReportClick(Sender: TObject);
    public
    end;

    implementation

    uses IWBaseForm;

    {$R *.dfm}


    procedure TfrmMain.btnReportClick(Sender: TObject);
    const
    AIPOptions: string =
    'toolbar=no,status=no,menubar=yes,scrollbars=yes,resizable=yes,location=no,directories=no,width=780,height=580';
    var
    AIPURL: string;
    begin
    AIPURL := 'http://localhost/myWebTierParams/myWebTierParams.dll/Login?' +
    'AccountName=' + edtName.Text + '&' +
    'AccountPassword=' + edtPassword.Text + '&' +
    'Color=' + cbxColor.Items[cbxColor.ItemIndex];
    AddToInitProc('NewWindow("' + AIPURL + '", "Agenda", "' + AIPOptions
    +'");');
    end;

    initialization
    TfrmMain.SetAsMainForm;

    end.
    =====================================================

    It feeds the name and password and color to first window and take the user
    directly to the second window.

    So it's a matter of IntraWeb talking to the WebTier and Webtier talking to
    the Windows Services.

    I don't know if there is a better or a more elegant way to do it but at
    least I have now something to work with.

    By the way, I wondered if one can use the rsClientReport and
    rsClientReportExplorer directly in a IntraWeb application or are they
    bounded to a Windows application?

    Regards,

    Nols Smit


  • edited December 2005

    1. IntraWeb

    Looks good :)

    2. TrsClientReportCatalog

    This is a non-visual component that can be used to retrieve information
    about the available reports on the server. It is used by the
    ClientReportExplorer.

    For examples, see RBServer\Demos\Clients\ClientReportCatalog\Dynamic List
    and Dynamic Menu. The TrsClientReportCatalog is documented in the
    RBServer.hlp.

    The TrsClientReportExplore creates a TForm, so I you should not use it in a
    web app unless you avoid creating the form. But I think using
    TrsClientReportCatalog should do what you need - get the available reports
    and then you can build the html from there.

    3. TrsClientReport.

    TrsWebTier uses TrsClientReport internally to retrieve autoseach info and
    page objects from the server. However, all of the HTML creation (or PDF
    creation or whatever) is done by the TrsWebTier class and there is quite a
    bit of other complex processing/caching/session management/etc. performed as
    well. The pages are generated incrementall upon demand - which also adds
    complex (but speeds performance greatly).





    Best regards,

    Nard Moseley
    Digital Metaphors
    www.digital-metaphors.com
This discussion has been closed.