Visit Gigasoft's Web Site
ProEssentials v7 Help

Chapter 1: Customer Support

 

Please read below the important debugging tip ...1 and 9. The built-in "text" and "heavy Graph Annotations use".

 

ProEssentials support many software development environments and platforms. When requesting technical assistance, please start by providing the following information.

 

1) What major / minor version of ProEssentials, v5, v6, v7?

Our formal version number can be found by looking at file-properties / version-info for the the main DLL in system 32. (syswow64 on 64 bit systems.)

 

The v7 DLLs are as follows.

 

PEGRP32E.DLL

ProEssentials v7 Pro

PEGRPSE.DLL

ProEssentials v7 Standard

PEGRPLE.DLL

ProEssentials v7 Lite

The v6 DLLs are as follows.

 

PEGRP32D.DLL

ProEssentials v6 Pro

PEGRPDS.DLL

ProEssentials v6 Standard

PEGRPDL.DLL

ProEssentials v6 Lite

 

The v5 DLLs are as follows.

 

PEGRP32C.DLL

ProEssentials v5 Pro

PEGRPCS.DLL

ProEssentials v5 Standard

PEGRPCL.DLL

ProEssentials v5 Lite

 

2) What type of project are you creating?
     a) Client-side or EXE?
     b) Web application ( is problem related to client-side or server-side logic? )

 

3) What interfaces/objects of ProEssentials are you implementing?

 

Interface

WinForm

WebForm

OCX

VCL

 DLL

Object

Pego: Graph

Pesgo:Scientific Graph

Pepso: Polar / Smith / Rose

Pepco: Pie Chart

Pe3do: 3D Graph

 

4) What product and language are you using for development?

VS2003, VS2005, VS2008, VS2010, VB.NET, C#.NET, VB6, Delphi, VC6, Builder, Access, or Other?

 

5) What operating system?

Win7, Vista, Windows XP, 2003 Server, 2000?
32 bit / 64bit

 

6) What properties, methods, or events are you using and general nature of problem?

Keep it brief but descriptive. Very small amounts of code can be included if applicable. PNGs (please no un-compressed BMPs) screen-shots can help in some scenarios. In some cases we ask for a very simple project to reproduce the problem (please make it complete so we don't have to piece it together.) If a small reproduction can not be created, last resort is to send us a SaveObjectToFile/PEsavetofile binary file which we can instantiate and step through. Test this binary file before sending it by creating a simple app to just call LoadObjectFromFile/PEloadfromfile.

 

 

Gigasoft provides several support alternatives:

 

1) Free Phone Support. Gigasoft greatly appreciates if you only ask short questions via phone support. If your question requires a detailed explanation, please use the email support alternatives.  

Phone: (817) 431-8470

 

2) Free E-Mail support, Send your questions to ...

 E-Mail: support@gigasoft.com.

 

Important Debugging Strategies: 
Please keep in mind that requesting technical support is free to our customers but is actually quite expensive for Gigasoft. For this reason, we ask that you make sure your problem is truly related to ProEssentials. There are several programming practices that will potentially help you determine the cause of your problem. These practices are obvious but often skipped:

  1. The built-in "text" export dialog is a useful tool for the developer as well as the end-user. If you are having trouble programmatically passing data into the object, you can use this export dialog to export the data into Notepad/Excel to verify what is currently inside the ProEssentials object. Its best to export in a List Style with Maximum Precision. This will usually shed light on the problem and allow you to adjust your logic to properly pass the data into ProEssentials. If you are having trouble passing data, please use this tip before calling for technical support. Our support staff will likely ask you to try this approach to resolve the problem.

  2. Take baby steps, do not try to write complicated/optimized code from scratch. Initially write for clarity and later look for global or algorithmic optimizations. Also, start by first getting a ProEssentials control on the destination form/window. Next, pass data into the graph. Finally, set various other properties to control aesthetics. Place initialization code in an event that is related to creating or showing a window, examples are FormLoad, OnShow, OnCreate, OnInitDialog, and SetupWindow. Do not put initialization code in a button-click event.

  3. Do not set break points within your initialization code. This can sometimes cause the ProEssentials control to receive a WM_PAINT event which causes reinitialization prematurely. Since only a partial set of properties were set, this can sometimes confuse the ProEssentials object because so many properties are inter-dependent. Its best to send debug information to the debug terminal with Debug.Write/Print for Visual Basic users or C/C++ developers can use TRACE. To reduce the potential for such problems, isolate or group your data-transfer code from the rest of your object initialization code. Usually its the data-transfer code which causes most of the problems.

  4. Keep ProEssentials related code grouped together. ProEssentials is not so complex that you should need to place various initialization code in different forms or modules. Top Down programming may be old-school but when it comes to debugging and/or maintenance issues, you'll find it easier to work with.

  5. Step through your code. At least 25% of our technical support requests can be prevented if you step through your code before requesting our help. While stepping, inspect your code flow as well as important variables.

  6. Use assertions/error trapping so your functions do not allow undefined conditions.

  7. If calling DLL calls such as PEvset, check that the variables pointed to are the correct type, double vs float.

  8. If possible, we highly recommend you create a small application that demonstrates your problem using random data. Many times this will help you solve your problem. If not, you can send your small app (zipped) to our email address.

  9. If heavily using GraphAnnotations, which is commonly seen in our support requests, at the bottom of your initialization, dump the GraphAnnotation X, Y, Type as needed (debug.print to the output window) to see the structure of annotations your code is producing. This should always be a done as a way to make sure the annotations structure is as expected and not introducing un-needed content. When complete with your code, comment out the dump section.

 

Thank you very much for reading this page. Gigasoft is dedicated to producing high quality software and maintaining a professional level of customer orientation. We appreciate customer comments and suggestions and will utilize customer feedback in continually improving and expanding the products we produce. We strive to be the most customer oriented and accessible charting vendor in the market.