INTRAWEB CREATE PDF

You can see an example of a menu in a browser in Figure This component has a lot of JavaScript code to let you expand and collapse nodes directly in the browser with no need to call back the server. At the same time, the menu items allow the program to operate on the menu by expanding or collapsing nodes and changing the font. Here is the code for a couple of event handlers: procedure TformTree.

What s Next? Overview Since Delphi 2 days, Chad Z. Hower has been building a Delphi architecture for simplifying the development of web applications, with the idea of making web programming as simple and as visual as standard Delphi form programming. IntraWeb is intended for this second category of developers, although it is so powerful that even expert web programmers can benefit from its use.

Moreover, IntraWeb components can be used in a specific application, or they can be used in a WebBroker or WebSnap program. My plan is to cover its foundations, so that you can choose whether to use it for your forthcoming projects or for portions of those projects, as it fits best.

For support on IntraWeb, refer to the Borland newsgroups. Note This chapter has had a special review by Chad Z. Hower, a. When not programming, he likes to cycle, kayak, hike, downhill ski, drive, and do just about anything outdoors.

Chad is an American expatriate who currently spends his summers in St. Petersburg, Russia, and his winters in Limassol, Cyprus. Chad can be reached at cpub Hower. Although Delphi 7 is the first version of the Borland IDE to include this set of components, IntraWeb has been around for several years; it has received appraisal and support, including the availability of several third-party components.

IntraWeb is part of the Delphi standard installation now, but it is also available for Kylix. Written with care, IntraWeb applications can be fully cross-platform.

NET version is in the works and will probably become available along with a future Delphi for. NET version. More serious documentation help and PDF files will be available in this 5. When you work with IntraWeb, you think in terms of components, their properties, and their event handlers, as you do in Delphi visual development. To build it, follow these steps: Move to the main form of the program and add to it a button, an edit box, and a list box from the IW Standard page of the Components palette.

Add IWEdit1. The important thing to notice when you run this program is that every time you click the button, the browser sends a new request to the application, which runs the Delphi event handler and produces a new HTML page based on the new status of the components on the form.

Figure The form you see is managed by the IWRun call in the project file created by default in each stand-alone IntraWeb application. The debug form allows you to select a browser and run the application through it or copy the URL of the application to the Clipboard, so you can paste it within your browser. You do so by using specific client-side IntraWeb components or by writing your own custom JavaScript code. As a comparison, the two buttons at the bottom of the form in the IWSimpleApp example show a message box using two different approaches.

The first of these two buttons IWButton2 shows a message using a server-side event, with this Delphi code: procedure TformMain. Items [nItem] else WebApplication. Of course, the effect is rather different, because the application runs in a browser. Doing so should help you understand the effect of setting the component properties and of working with them in general.

This is a browser-based program, so there is no better way to understand it than by looking at the HTML it sends to the browser. The first is a list of styles based on the HTTP style tag with lines like the following:. The second block consists of JavaScript scripting. Some of these files are generic; others are tied to the specific browser: IntraWeb detects the browser being used and returns different JavaScript code and base JavaScript files.

Opera has more limited JavaScript support, so by default if it is recognized IntraWeb will issue an error depending on the SupportedBrowsers property of the controller. Opera can be used with the free Arcana components and will officially be supported in IW 5. Keep in mind that a browser can fake its identity: For example, Opera is often set to identify itself as Internet Explorer, preventing a proper identification to make it possible to use sites restricted to other browsers, but possibly leading to run time errors or inconsistencies.

The third part of the generated HTML is the definition of the page structure. If you prefer, you can use cookies instead of URLs by changing the TrackMode property in the server controller. Warning The version of IntraWeb that shipped with Delphi 7 had a bug involving cookies and some time zone settings. It has been fixed, and the patch is available as a free update on the Atozed software website. You can create IntraWeb projects in Application mode which accounts for all of the features of IntraWeb or Page mode which is a simplified version you can plug into existing Delphi WebBroker or WebSnap applications.

This is handy for debugging the application because you can run it from the Delphi IDE and place breakpoints anywhere in the code. You can also use Standalone mode to deploy applications on internal networks intranets and to let users work in offline mode on their own computers, with a web interface. Standalone mode gives you a way to deploy an Application mode IntraWeb program using IntraWeb itself as web server.

Application mode includes session management and all the IntraWeb features and is the preferred way to deploy a scalable application for use on the Web. You can add features to existing programs or rely on other technologies for portions of a dynamic site based on HTML pages, while providing the interactive portions with IntraWeb. Page mode is the only choice for using IntraWeb in CGI applications, but it lacks session-management features.

Stand-alone IntraWeb servers do not support Page mode. You can see an example of a menu in a browser in Figure This component has a lot of JavaScript code to let you expand and collapse nodes directly in the browser with no need to call back the server. At the same time, the menu items allow the program to operate on the menu by expanding or collapsing nodes and changing the font. Here is the code for a couple of event handlers: procedure TformTree. Count - 1 do IWTreeView1.

Items [i]. Thanks to the similarity of IntraWeb components to standard Delphi VCL components, the code is easy to read and understand. The menu has two submenus, which are slightly more complex. The second submenu, Tree Contents, shows a list of the first tree nodes of the main level along with the number of direct subnodes. Count - 1 do Lines. Add IWTreeView1. As an alternative, you can use anchors again working as in the VCL : You can create bottom-right buttons, or components in the middle of the page, with all four anchors set.

See the following demos for examples of this technique. Writing Multipage Applications All the programs you have built so far have had a single page. This example will also serve as an excuse to delve into some of the source code automatically generated by the IntraWeb application wizard. This powerful component allows you to place within an HTML grid both text and other components.

In the example, the grid content is determined at startup in the OnCreate event handler of the main form : procedure TformMain. Cell[0, 0]. Cell[0, 1]. Cell[0, 2]. Cell [i,0]. Cell [i,1]. Create Self ; link. Cell [i,2]. In addition to the output, there are a few interesting things to notice. First, the grid component uses Delphi anchors all set to False to generate code that keeps it centered in the page, even if a user resizes the browser window.

This happens because all actions in IntraWeb allow for extra client-side operations, such as validations, checks, and submits. The core feature of the program is its ability to show a second page.

Create WebApplication ; anotherform. Show; end; Even if the program calls the Show method, it can be considered like a ShowModal call, because IntraWeb considers visible pages as a stack.

The last page displayed is on the top of the stack and is displayed in the browser. By closing this page hiding or destroying it , you re-display the previous page. In the program, the secondary pages closes itself by calling the Release method, which as in the VCL is the proper way to dispose of a currently executing form. Warning In the program I added a Close button to the main form. The demo uses an alternative call: TerminateAndRedirect. The effect, though, is quite similar. The secondary form of the IWTwoForms example shows another interesting feature of IntraWeb: its extensive graphics support.

The form has a graphical component with the classic Delphi Athena image. In this program, the effect is to draw small green circles. This effect is obtained with the following code: procedure Tanotherform.

Canvas; aCanvas. IntraWeb provides predefined session management and simplifies the way you work with sessions. If you need session data for a specific form, all you have to do is add a field to that form. The IntraWeb forms and their components have an instance for each user session. To increase your control over session data and let multiple forms share it, you can customize the TUserSession class that the IntraWeb Application Wizard places in the ServerController unit.

It gives you access to the session data in a thread-safe way: you need to take special care to access it even in a multi-threading environment.

This variable can be used outside of a form or control which are natively session-based , which is why it is primarily used inside data modules, global routines, and non-IntraWeb classes. Data ; end; Because most of this code is generated for you, after adding data to the TUserSession class you simply use it through the UserSession function, as in the following code extracted from the IWSession example.

Creating Http.sys applications with IntraWeb

Creating Http. It listens to such requests coming from TCP stack and forwards them to registered applications. These applications generate complete responses to those requests. One such application is w3wp. Each virtual application created in IIS starts a new w3wp.

Creating a New IntraWeb Application

Execute False ; end. This will make the application to be installed as a Windows Service. If your application installed succesfully, you will see the following dialog. If this dialog does not appear, the service has not been installed.

This website uses cookies to improve your experience. We'll assume you're ok with this, but you can opt-out if you wish. Cookie settingsACCEPT

Privacy & Cookies Policy

Privacy Overview

This website uses cookies to improve your experience while you navigate through the website. Out of these cookies, the cookies that are categorized as necessary are stored on your browser as they are essential for the working of basic functionalities of the website. We also use third-party cookies that help us analyze and understand how you use this website. These cookies will be stored in your browser only with your consent. You also have the option to opt-out of these cookies. But opting out of some of these cookies may have an effect on your browsing experience.

Necessary cookies are absolutely essential for the website to function properly. This category only includes cookies that ensures basic functionalities and security features of the website. These cookies do not store any personal information.

Any cookies that may not be particularly necessary for the website to function and is used specifically to collect user personal data via analytics, ads, other embedded contents are termed as non-necessary cookies. It is mandatory to procure user consent prior to running these cookies on your website.