Usage FAQ

Usage FAQ

Why does the port that the application runs on keep changing?

The evaluation version of IntraWeb picks the port at random. With an installed IntraWeb license key, fixed port numbers can be specified in the Server Controller.

How can I have an ISAPI and a stand alone version of my application?

Create two project files with different names, but include the same main unit and other required files. Our demos in CodePlex (Guess and FishFact) demos demonstrate this.

Can I use Unicode with IntraWeb?

All versions of IntraWeb for Delphi 2009 and later fully support Unicode.

May I have Unicode text in a IntraWeb template file?

Yes, sure. IntraWeb also support Unicode templates just fine.

Does IntraWeb support visual form inheritance?

Yes, just like Delphi does for TForms.

Does IntraWeb support TFrame?

Yes, sure. You just have to create a new frame to be used in a IntraWeb application using IntraWeb wizard: File -> New -> Other… -> IntraWeb -> New Frame

How do I set the Taborder in TFrames?

The taborder has to be set in the inner IWFrameRegion, however when you click into the frame, always the frame itself is selected. To select the IWFrameRegion, please right-click the frame. Then set the desired taborder to that Region. This is basically a limitation of Delphi’s TFrame implementation

I can’t connect to a database using ADO (dbGo) within my IntraWeb application. Does IntraWeb support ADO?

Yes, sure, just like any other DB access layer or framework. Have in mind that ADO is a COM based technology. To use ADO (or any other COM based thecnology) within IntraWeb application you must properly initialize the COM subsystem.IntraWeb does that for you: Just set your ServerController.ComInitialization to ciMultithreaded and you are ready to go.

How to connect to DataSnap server application using a DCOMConnection?

If you get an EOLESysError (“Object is not connected to server”) when calling CoInitializeEx, you should disable asynchronous calls. This is done with the SupportsCallbacks property of TSocketConnection (not TDCOMConnection!).

Why does my application use so much memory?

You have to take into account that everything your app does in one session, will be done for *every* running session. That is, you have to be careful about components that use a lot of memory by design. ClientDataSets, IWImages etc. are examples for such classes.

The other possible reason might be a memory leak. We try to keep IntraWeb memory leak free. To be sure that your own code is leak-free, you might use one of the available memory test tools.
Since Delphi 2006, the standard memory manager is FastMM. FastMM is free and you can download the full version and use it in your IntraWeb project: http://sourceforge.net/projects/fastmm/
You can also use FastMM special switches to help you to find any memory leaks within your Delphi application. Plase check FastMM documentation.

When my sessions time out or close my application is throwing an Access Violation. What might cause this?

Check any shutdown events in the server controller, as well as destructors of any components on the user session. A common source of AV’s are components on the user session which do not destroy properly.If you are using DBExpress in particular this is a problem. If you are using DBExpress on the usersession and have an open transaction when the UserSession is destroyed, then at some point within about 3 seconds from that point, you will get an AV. If you are running in SA outside of the debugger, the SA app will simply disappear. If you are running inside the debugger, you will get eternal AVs until you reset.This is a problem with DBExpress, and not IntraWeb. To fix this, make sure all transactions are closed before the components are destroyed.

My IntraWeb application freezes when I use SendFile, SendStream, or I perform a File-upload?

IntraWeb has a feature called LockOnSubmit. This is to prevent the user from double clicking on a form when a submit is already in progress. However, it is incompatible with some functions such as SendFile and SendStream. If you are performing any of these, make sure this property is set to False in the form where they are used.

Can I use a reporting tool with IntraWeb?

Yes, as long as it is usable in threads you can use any existing reporting tool. If the reporting tool is not thread safe, than it cannot be used in an IntraWeb application, nor in any other multi-threaded application, like COM+ servers, WebBroker applications, etc.
ALL reporting tools should be thread safe…

How do I control the session timeout?

Set the SessionTimeout property in the application’s ServerController.

Can I use SSL in my IntraWeb applications?

IntraWeb when deployed as ISAPI can be used with SSL by using the SSL features of the hosting Webserver.When deployed in stand alone mode, IntraWeb can also support SSL. However, some countries disallow the use of strong methods of encryption. It depends on the location where the application is to be run. Atozed Software does not provide any rights or licenses to use strong encryption methods. However, IntraWeb can support SSL if the OpenSSL dynamic link libraries (DLL’s) for Indy are installed. Download SSL Libraries.For instructions on setting up an IntraWeb stand alone server to use SSL please see the SSL section.

When using my SSL certificate from Verisign, then the web browser complains that the parent certificate expired. Do I need a new certificate?

No, your certifificate is most likely fine. The problem is that Verisign’s so called Intermediate CA Certificate is preinstalled on many webservers and that preinstalled intermiediate certificate expired.ISAPI / DSOYou need to follow Verisign’s instruction how to update your web server’s certificate: https://www.verisign.com/support/ssl-certificates-support/page_dev028341.html StandaloneFollow the instructions supplied by Verisign how to obtain the correct parrent certificate and save it as root.pem file as show in IW’s SSL documentation. Alternatively just get the latest Intermediate CA Certificate from here: http://www.verisign.com/support/install2/intermediate.html. Copy it to the clipboard and save it as root.pem (It’s already in the correct format).

Why can’t I use ShowModal?

IntraWeb requires that control be returned to its handling routines. Since ShowModal effectively blocks the program flow, control cannot be returned. Thus ShowModal cannot be used in an IntraWeb application, as it will cause the program to freeze. Instead merely display an IntraWeb form wtih an Ok or Close button which calls the Release method.In essence though, since your IntraWeb application occurs in a single browser window typically, all forms are “modal”.

I’m still using WinXP for development. After installing SP2 on Windows XP I can no longer develop IntraWeb applications unless I am connected to a network or have a dialup connection established. What can I do to fix this?

It’s a “feature” of WinXP called DHCP Media Sense, that automatically disables the TCP/IP stack whenever there is no network connection. This can be turned off by adding a key to the Windows Registry.Open the Registry Editor and locate this node: HKEY_LOCAL_MACHINESystemCurrentControlSetServicesTcpipParametersAdd a new DWORD key named DisableDHCPMediaSense with a value of 1. To re-enable Media Sense, change the value to 0.Warning: If you connect and reconnect to wire based networks this may cause problems in reestablishing DHCP addresses. After making this change you may find it necessary to retrieve a new IP address manually using ipconfig. Dialup users with no wire based connections can probably make this change without noticeable effect.