This page is intended to help answer questions which may arise from using our components. There is a section for each component with some general questions at the beginning and questions about ASP Components and ActiveX controls. If you cannot find an answer here or in the component instructions, contact us and we will try to help.
1. Do you provide technical support?
If you need any assistance with any of our products, contact us by email and we will try to help. We do have a telephone number on the home page but for complex technical issues it is more effective to answer questions in writing.
2. What payment methods do you accept?
Our products can be bought online by credit card and we use WorldPay Ltd as the payment provider. If this is unsuitable we can accept other methods, including PayPal or a bank transfer. If you have any special requirements, such as a written quotation, please contact us.
3. My credit card was rejected by your online payment system.
We have seen this increasingly in recent years and understand that the card issuers are rejecting more online payments due to "suspicious activity". You can usually resolve this by calling your credit card issuer. We have now changed our payment processor and use PayPal instead of WorldPay and hope it will reduce the problem going forward.
4. Can I upgrade the licence type of a component?
Yes. The price we charge is just the difference between the two licence types.
5. Can I upgrade to a later version of a component if one is available?
For some components the latest versions are available to existing users. After buying a component you are sent a download link and an access code. If you are entitled to an upgrade that link will still be valid. If you have lost the download details, contact us and provide some identification, preferably the email address you used when making the purchase, and we will send them out again.
When we released 64 bit versions of our components there was a charge to upgrade these.
6. Do you have a Facebook page?
Yes we do. You can use it to stay informed of new products and updates.
1. An error occurred on the server when processing the URL. Please contact the system administrator.
Or
HTTP Error 500 - Internal Server Error
Either of these messages indicate that detailed error messages are not being displayed. If any debugging is required we recommend switching the error messages on, even if it is only temporary. More details.
2. Server object error 'ASP 0177 : 800401f3'
Server.CreateObject Failed.
There are two main reasons for this error, either the component is not registered or the ProgID is misspelled. For more on DLL registration Click Here. The ProgID is the parameter used by Server.CreateObject( ). Note that our trial versions have a different ProgID from the full versions and they always contain the word "Trial". Read the component instructions for full details.
A less common reason for the error is if the Internet Guest User does not have permission to read the registry. Registry permissions can be checked and edited using the regedt32.exe utility, which can be opened from the Run box in the Start Menu. The component details will be shown under HKEY_CLASSES_ROOT and the permission settings can be viewed or adjusted through the Security heading in the drop down menu. Usually these registry keys allow the Everyone group to read but sometimes restrictions might have been added, possibly only to applying to new entries. This can result in new components apparently failing to register properly and they continue to produce the above error. For ASP components, the Internet Guest User must have read permission on the appropriate registry entries.
The Windows account that is trying to run the component does not have sufficient permission. In Windows 2008 Server, this account will be IUSR. On earlier versions of Windows it will be IUSR_Machine_Name. If the component is running through Component Services, it will be the account specified, probably either LOCAL SERVICE or NETWORK SERVICE. Set the permission on the DLL so that this account has Read and Execute permission.
When the ASP 0178 error is shown the component has definitely been registered successfully.
4. Server object, ASP 0177 (0x8007007E).
This error is usually caused if a component DLL has been moved or deleted after registration. To resolve it, register the component again. To prevent it, avoid moving or deleting component files without unregistering them first.
5. ActiveX component can't create object.
This error can appear for several reasons but we want to draw attention to an error that can occur on Windows 2012 Server when using ASP components. If the bit size of the component does not match that of the web site it will give this error. Previous operating systems gave the ASP 0177 error for a component that is not registered. An example might be trying to run a 64 bit component when the web site is running with 32 bit applications enabled.
6. What other permissions should be set on the server?
As mentioned in 2. above, the account that runs the component must have Read and Execute on the component DLL. Unless a different account has been specified in IIS or Component Services it will be IUSR or IUSR_Machine_Name. If the component is reading a file, this account must have read permission for that file. If the component is creating a file or writing to a database, this account must have Write permission for the appropriate folder or database file. If files are being deleted or overwritten it will need Modify permission.
7. How long will the trial version run?
All our trial ASP components are set to expire on a specific date, usually the end of a month. To find the expiry date you can read the Version property. For example, with csImageFile the following two line script displays the version and expiry date:
Set Obj = Server.CreateObject("csImageFileTrial.Manage")
Response.Write Obj.Version
8. The trial has expired. Can I download another trial component?
Yes. We want you to be sure the component is what you want before you buy it so you can replace your trial copy with a later one if you need to.
9. Do I need to unregister the trial version before using the full version?
No. The full version of each component is a separate DLL file and full versions and trials do not interfere with each other. If you want to keep your system registry tidy you should "unregister" the trial using Regsvr32 with the /u switch, or use our own utility DllRegSvr, before deleting the trial DLL.
10. How do I access files across a network?
A number of our ASP components allow you to read or write files by specifying a full physical path. If the file is on a remote machine you can use the shared path (e.g. "Z:\path\to\file.ext") or the UNC path (e.g. "\\computername\sharename\path\to\file.ext"). Under default conditions the component will not have permission to do this but you can create a COM+ Application in Component Services and run the component under a named Windows account or the NETWORK SERVICE account.
11. Do your ASP components run on the 64 bit (x64) versions of Windows?
We have 64 bit versions of all our ASP components. These are fully compatible with 64 bit Windows operating systems.
Our 32 bit components cannot be called from 64 bit applications but IIS can work around this by creating a COM+ Application in Component Services and then adding the component to this.
The COM+ Application acts as a bridge between the 64 bit IIS and the 32 bit DLL allowing them to work together.
A quick alternative is to run the site in 32 bit mode.
1. Microsoft VBScript runtime error '800a01b6'
Object doesn't support this property or method:...
This error can mean that you have attempted to use a property or method that is not supported, or that you have misspelled a command. It also arises when an equals sign is missed when setting a property value. Here is some correct VBScript syntax:
Image.TextSize = 12
Image.TextColor = "ff0000"
Image.Text 10, 10, "Use an equals sign when setting properties"
This is really a general ASP component question but it is most frequently asked by csImageFile users, often when drawing text.
2. No image is displayed, only an "empty image" marker.
There is probably an error in your image creation script. Debugging is difficult if you view the web page that contains the <img> tags. If you enter the URL of the image creation script into the browser, complete with any URL parameters, you should see any error messages that were generated. This makes debugging easier.
3. How can I pass information to the image creation script?
The two main ways of doing this are as URL parameters and by using session variables. Session variables should be treated with caution because if the script that reads the variable does so before the script that sets the variable has executed there will be an error. URL parameters are probably more reliable, and here is an example:
<img src="image.asp?ID=3">
The image creation script can then read the value using Request.QueryString("ID").
Most of the documentation shows the image created in a separate script but it is possible to export an image as a Base64 encoded string, and this can be placed inside the img tag. This removes the need for a separate image creation script.
4. Merging images with a transparent foreground gives poor results with JPG images.
When you specify the transparent colour, it is a specific RGB value. A JPG image may appear to have a continuous background colour, but on closer inspection it will be a range of RGB values so only some of the pixels will be transparent. As a solution make the foreground image a PNG or BMP and make sure the background is all the same continuous colour.
5. How do I resize an image to fit a maximum height or width?
csImageFile has a command called ResizeFit which takes the maximum width and height as parameters and resizes the image to fit these dimensions while maintaining aspect ratio. It will not increase the image size if the image already fits inside the area specified. There is a downloadable example - Here.
6. csImageFile cannot use a font that has been installed on the server.
If a font is installed by a user who is logged on to the server using Terminal Services the font will not be available to csImageFile until the server is rebooted. This does not apply if the font is installed by a user logged onto the server directly.
7. What causes "Out of Memory" or "Out of System Resources" errors?
There can be several variations of this error message and it can be caused for a wide variety of reasons. In short, it means that there is not enough memory (RAM) available for csImageFile to complete the current command. If the current image is very large and the server has a limited amount of RAM, it might simply have run out of memory, especially if another application is using a large amount of memory. If there is memory available on the server that does not appear to get used, there could be another cause of the error.
When running Cold Fusion, if the Java Memory Heap size is set too large it will restrict the amount of memory that csImageFile can use. Reducing the heap size can often fix this error.
In other IIS applications such as ASP the memory errors can be caused by certain types of antivirus and spyware protection software. At the moment we have limited information on this problem but we are aware that some security software appears to restrict the amount of memory that the DLLHost.exe process can use, and this is the process that runs components such as csImageFile, resulting in an inability to work with very large images where up to 100 MB of RAM may be required.
Some database applications can use up the available memory if they leaving connections open, or if they are running very inefficient queries.
8. Does the graphics card/chipset have any effect on image processing?
The server graphics card is used for image resizing and in font smoothing (antialiasing). When a low specification card is used it can restrict the maximum image size that can be processed. Images that are too big for the graphics card to resize will appear cropped when reduced, or a smaller copy of the image will be shown at the top left of a plain background when the image is enlarged.
Font smoothing is rarely a problem as this is usually supported by even the lowest specification graphics devices.
9. How do I display the ampersand (&) character when drawing text?
When a single ampersand is passed to the Text command it will not display but it will cause the following character to be underlined. To display an ampersand, use two together:
Image.Text 0, 0, "One && Two"
1. How do I read form variables when uploading a file?
The Request.Form method of reading a file cannot be used when the form is sent using the encoding enctype="multipart/form-data". Instead the csASPUpload component provides some methods which can be used. If the object is called "Upload" and the form variable is called "Name", Upload.Value("Name") returns the value. See the component instructions for full details.
2. Can I read QueryString variables when uploading a file?
Yes, if parameters are added to the URL inside the "post" attribute they can be read in the usual way with Request.QueryString.
Yes, the important point is to use the correct data type for the binary field. Access can store binary data in a field of type "OLE Object". In SQL Server the equivalent data type is "Image".
In MySQL the data type is "BLOB" although by default a BLOB field is restricted to 64 KB. MEDIUMBLOB is 16 MB and LONGBLOB is 4 GB. A BLOB can also be set to a specified length when the column is defined. The maximum size of file that can be added to a BLOB field in MySQL is also restricted by the max_allowed_packet setting in the my.ini file.
It is also possible to store the image as text using Base64 encoding. This takes up more memory space, but there are times when text fields are easier to use.
4. Can any type of file be uploaded?
Yes, the csASPUpload component does not open the file, it just extracts it and allows you to save it or stream it. The type of file is not important.
5. When images are uploaded can the image be previewed first?
Sometimes. We have an example of using Javascript to preview an image but it will not work with Firefox / Netscape. It works by loading the file into a Javascript image object. Since writing this example, Internet Explorer 7 was released and this cannot preview the image either, so the example is very limited. Click Here to view the example.
We have an ActiveX control, csXImage which can be used to select and display an image in the browser and then upload this image to the server. This allows the image to be previewed and also edited before uploading. For a downloadable example - Click Here.
6. On Windows 2003 Server and later operating systems, files above a certain size fail to upload.
I Windows 2003 Server there is a setting in the metabase.xml file which limits the size of a POST operation and it defaults to 200 KB. Find the line AspMaxRequestEntityAllowed and set the value to something large enough. It is measured in bytes. Remember to restart IIS for the settings to take effect.
From Windows 2008 Server (and from Vista onwards on desktops) this setting may be called Maximum Requesting Entity Body Limit and it can be set directly in IIS under ASP Behaviour.
7. When reading form variables, the text values are truncated.
This is usually caused by the character set used when the form is posted. csASPUpload assumes UTF-8 encoding is used and can fail to read some characters if other encoding types are used. UTF-8 encoding can be enforced by adding a meta tag to the header of the HTML file containing the form:
<meta charset="utf-8">
1. Can I display more than one graph on a page?
Yes. Each graph needs its own script to generate it, called inside a <img> tag, but any number of <img> tags can be included on the page.
Relatively recently, functionality was added to export images in Base64 format. This allows the image to be written inline into the <img> tag, so it is possible to avoid the use of a separate script to generate the image.
2. How can I show decimals on the y-axis?
The Decimals property determines how many decimal places are used when displaying values. It defaults to zero so you must set a value to display decimals. Setting Decimals to a negative number fixes the number of decimal places so that trailing zeros will be shown. For example Decimals = -2 may be used to display money values where two decimal places are required.
3. Can I use csDrawGraph with a database?
Yes, but there are no built in functions to link to a database. If a database is open with a recordset called RSet and it has 3 data fields, Data1, Data2 and Data3 the AddData commands might look like this:
Chart.AddData "A", CInt(RSet("Data1")), "ff0000"
Chart.AddData "B", CInt(RSet("Data2")), "00ff00"
Chart.AddData "C", CInt(RSet("Data3")), "0000ff"
The function CInt( ) or CDbl( ) must be used to prevent a type mismatch error. We have a downloadable example that uses an Access database. Click here for more.
4. How do I produce graphs that are bigger or smaller than the default 400 x 300?
There are a number of properties that you will need to adjust. Height and Width control the size of the image but do not affect the graph features or their position. For a pie chart CentreX and CentreY control to position of the pie and PieDia defines the size of the pie. For bar charts and line graphs OriginX and OriginY position the origin. MaxX and MaxY specify the length of the axes. For all graphs the legend is positioned by LegendX and LegendY and ShowLegend can be set to false to hide it competely. Refer to the instructions for full details of all the properties.
5. I am using Visual Interdev and the graphs are not displaying in the previews?
This usually happens if debugging is switched on because that makes ASP run in a single thread. To display a graph embedded in a web page two scripts must run simultaneously. You can turn debugging off in IIS under Home Directory -> Configuration -> App Debugging and clearing the Debugging Flags checkboxes.
1. I don't want the browser to open the document. Can I force the Save As prompt to appear?
This used to be problematic, depending on the browser. In most modern browsers the Save As dialogue can be forced by specifying the file as an attachment. If the StreamFile command is used in csFileDownload the following code can be used:
Download.Attachment = true
Download.StreamFile
2. Can multiple files be downloaded at once from a single request?
No. The script that controls a download sends data to the browser as a header followed by the file. It is not possible to add a second file to the end of the first. They can be zipped into a single file, using csASPZipFile.
3. What special permissions must be set to run csFileDownload?
The Internet Guest User (IUSR_Machine_Name, or IUSR) must have Read permission on the file that is to be downloaded. This file will normally be on a part of the server that is not "Web Shared" so that it cannot be downloaded by typing a URL into the browser, but the Internet Guest User must be able to read it if csFileDownload is to send it to the browser.
1. Can the OCX file be distributed "royalty free"?
The .ocx file for the control can be distributed royalty free but the licence file (extension .lic) cannot be distributed.
In a compiled application where an executable file is produced (such as Visual Basic or Delphi) the licensing is quite simple. Each developer using the control at design time needs a copy of the .lic file and so depending on the number of developers the single user, 5 user or site licence is required.
When the control is used client side in a web browser application the .lic file remains on the server and is packed into a Licence Package File (.lpk). See the answer to question 2 below for more details on this. The number of servers that can have the control installed determines whether the single user, 5 user or site licence is required. ("Site" means company location not web site in this context). The .ocx file can be supplied to each client and there is no restriction on the number of clients.
Note that the trial version also has a .lic file so any deployment can be tested at the trial stage.
2. How are the controls used in a client side web application?
We have a separate page to answer this. One for csXImage and another for csXGraph.
3. Do you have a licence type that allows for a web application to be distributed?
The advertised licence types do not allow for a web application to be distributed and at least a single user licence would be required for each server running the application. Contact us for details of a fixed fee distribution licence that will allow you to install your applications on a number of different servers belonging to different clients.
4. Are any dependent files required?
No, our OCX controls do not need any extra run time files to be installed. They may make calls to Windows DLLs, but these should all be present as part of the operating system.
The exception is csXImage when it is used with a scanner, because it requires the Twain Data Source Manager to be installed. See the scanner troubleshooting page for more details.
5. Are digitally signed CAB files available for any of the ActiveX controls?
We provide signed CAB files for the full versions of csXImage and csXGraph, but not the trial versions. We can sign a trial version on request.
It has come to our attention that when a CAB file is downloaded through Internet Explorer on Windows 10, a warning message is being displayed to indicate that the publisher is unverified, even though the CAB file is signed and the OCX inside it is signed. Once downloaded and installed, the next message asking for permission to use the control correctly identifies the publisher. If the priority is to avoid this warning and verify the publisher on installation, we suggest extracting the OCX from the CAB and pointing the web page to this file, in the codebase attribute of the object tag. The OCX supplied inside the CAB file is digitally signed, but the OCX supplied by the executable installer is not signed.
This appears to be new behaviour and Windows 7 correctly identifies the publisher from the signed OCX inside the signed CAB. This allows the control to be deployed compressed. If we get an update on this behaviour we will modify our instructions accordingly.
This error is caused when a licensed ActiveX control is created dynamically at run time in a .NET application. The licence information must be added as described on the following page: Instantiating csXImage dynamically in Visual Studio.
Note that the licence key is the content of the .lic file supplied with the control.
This seems to be an error specific to Access applications where copied controls take the same height and width as the original. Do not use the clipboard to copy and paste ActiveX controls in Access.
8. Do your ActiveX controls work in 64 bit environments?
csXImage and csXGraph are available as both 32 bit and 64 bit. A 32 bit application needs a 32 bit control and a 64 bit application needs a 64 bit control. In the case of browser based applications, 32 bit controls must be used because Internet Explorer is 32 bit (except for a version released with 64 bit Windows 7 that was 64 bit).
32 bit controls will run on 64 bit operating system, if they are used in 32 bit applications. In this case it is important that the OCX file is not stored in the Windows\System32 folder because on 64 bit systems this folder is now reserved for 64 bit files and the control will not register from this location. This may affect the installation software that can be used to deploy the application.
In Visual Studio .NET applications, an application using a 32 bit control must be compiled specifically for 32 bit. In the Solution Explorer select Properties and on the Build tab select "x86" under Platform Target. For an existing project that has already been built, use the CorFlags.exe utility to force it to load as 32 bit. This only needs to be run once.
corflags.exe /32BIT+ testme.exe
This will force the application called testme.exe to load as 32 bit.
9. How do I install an ActiveX control in Delphi (2005 or later)?
In Delphi 2005 or later the Import Component wizard does not add the tool to the Component Palette. Instead you must create a package and then add the component to this package. There is a good description of this on the Ciansoft website.
For csXImage there is an additional step because the resulting type library will produce a compiler error. The property OnDragDrop which is used for the OnDragDrop method is declared twice because Delphi adds its own as well as the declaration from csXImage. The first of these must be removed from the file csXImage_TLB.pas. There are also two compiler warnings about methods hiding a virtual method of a base class, but they can be safely ignored.
We have a separate page for scanner troubleshooting.
2. Does csXImage work in web browsers, other than Internet Explorer?
No. csXImage is an ActiveX control and it will only run in environments that support ActiveX and the only web browser that supports ActiveX is Microsoft Internet Explorer.
It is important to realise that Internet Explorer is different to the other major browsers because it allows more functionality for Windows applications. For example, when csXImage is used in a TWAIN application it must connect to a local DLL. Other web browsers will not allow this level of access to the local system.
3. GetSelectionCoords does not work in Visual Foxpro / Javascript / VBScript.
Some languages cannot use ActiveX functions with variable parameters, such as GetSelectionCoords. We have added 4 extra read only properties to return the selection coordinates as an alternative. These are called SelectionX1, SelectionY1, SelectionX2 and SelectionY2. Here is a code example for Visual Foxpro:
LOCAL x1, y1, x2, y2 as long
thisform.olecontrol1.MouseSelectRectangle()
thisform.olecontrol1.UseSelection = .t.
x1 = thisform.olecontrol1.SelectionX1
y1 = thisform.olecontrol1.SelectionY1
x2 = thisform.olecontrol1.SelectionX2
y2 = thisform.olecontrol1.SelectionY2
.
.
RETURN
4. The onAcquire event does not fire in Visual Foxpro.
This is usually caused when the WaitForAcquire property is set to true, which is the default value. When using Visual Foxpro in an application that uses the OnAcquire event, always set WaitForAcquire to false.
5. How do I transfer images to and from a Visual Basic PictureBox?
There are two commands available for this. To copy an image from a PictureBox into csXImage use the BMPHandle property:
ImageBox1.BMPHandle = Picture1.Image.Handle
This will copy the entire contents of the PictureBox, including any empty space if the image is smaller than the PictureBox. To copy the contents of csXImage to a PictureBox use the Picture property:
Picture1.Picture = ImageBox1.Picture
The Picture property can only be used to export from csXImage, not the other way round.
6. What is WIA, and can csXImage be used with WIA?
WIA stands for Windows Image Acquisition and is an alternative standard for acquiring images from scanners and cameras. It has been introduced by Microsoft and is available in Windows XP. WIA device drivers are able to communicate with applications that are TWAIN-compliant, such as csXImage, however these drivers usually exhibit limitations in their functionality. We do not recommend the use of WIA drivers with csXImage. The standard, TWAIN-compliant drivers which are readily available for the vast majority of scanners should be used instead.
Versions of Visual Studio 2005 or later may raise an error "LoaderLock was detected" when attempting to run any TWAIN related functions. This is due to an external library (TWAIN_32.DLL) being accessed. To prevent this error go to the Debug menu in Visual Studio, select Debug/Exceptions, then under Managed Debugging Assistants, uncheck LoaderLock in the Thrown column.
New security settings from Vista onwards sometimes prevent the Twain devices from being accessible from the web browser. This is caused by the web browser running in Protected Mode, which limits the way different controls interact with each other. The solution is to add the web site to the list of Trusted Sites, in Internet Options. The Trusted Zone has Protection Mode switched off by default.
9. How do I dynamically resize the control in Javascript?
In Javascript simply setting the width and height properties of the control have no effect. In a browser application there is a style property which has sub properties controlling the width and height.
csxi.style.width = 600;
csxi.style.height = 400;
10. The onAcquire event has stopped working in a web application.
Internet Explorer 11 has deprecated the attachEvent Javascript method which may have been used in the event declaration. An application that uses this will have worked in Internet Explorer 10 but after upgrading to Internet Explorer 11 the event will fail. This will usually show itself by a multipage scanning application only displaying the last page in the sequence. The following page describes defining Javascript events:
© Chestysoft, 2024.
This site uses cookies for functionality, traffic analysis and for targeted advertising. Click the Accept button to accept our Cookie Policy. The Cookie Policy page offers configuration for a reduced set of cookies for this site.