Visit Gigasoft's Web Site
ProEssentials v8 Help

Chapter 1: Customer / Evaluation Support

 

Please read, including the below Important Debugging Tips guaranteed to help.

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 greatly 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. If only evaluating, do not be shy, we love to hear feedback from evaluations.

 

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

 

1) What version of ProEssentials, v5, v6, v7, v8?

Our formal version number can be found by looking at file-properties / version-info for the the main DLLs below in system 32 or most likely syswow64 on 64 bit systems.

 

The version 8 DLLs are as follows.

PEGRP32F.DLL

ProEssentials 8 Pro

PEGRPSF.DLL

ProEssentials 8 Standard


The version 7 DLLs are as follows.

PEGRP32E.DLL

ProEssentials 7 Pro

PEGRPES.DLL

ProEssentials 7 Standard

PEGRPEL.DLL

ProEssentials 7 Lite


The version 6 DLLs are as follows.

PEGRP32D.DLL

ProEssentials 6 Pro

PEGRPDS.DLL

ProEssentials 6 Standard

PEGRPDL.DLL

ProEssentials 6 Lite


The version 5 DLLs are as follows.

PEGRP32C.DLL

ProEssentials 5 Pro

PEGRPCS.DLL

ProEssentials 5 Standard

PEGRPCL.DLL

ProEssentials 5 Lite


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

 

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

 

Interfaces

WPF
WinForm

WebForm

OCX

VCL

DLL

Objects

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?

VS2008, VS2010, VS2012, VS2013, later, VB, C#, Delphi, Builder, Office/Access, or other ?

 

5) What operating system?

Win8, Win7, Vista, Windows XP, Server ?
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 most scenarios. In some cases we ask for a very simple project to reproduce the problem. 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, yes, good to know TIPs and 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 very 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. It's best to export in default List Style. 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 always causes the ProEssentials control to receive a WM_PAINT event which causes reinitialization prematurely. Since only a partial set of properties were likely set, this can confuse the ProEssentials object because so many properties are inter-dependent. It's 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 or inefficient that you should need to place various initialization code in different forms or modules. Top Down programming, and potentially resetting some properties 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 settings as needed (Trace/debug.print to the output window) to see the structure of annotations your code is producing. For complex implementations, this should always be a done as a way to make sure the annotation structure is as expected and not introducing un-needed content. When complete with your code, comment out the dump section.

  10. If you see un-expected results for a line chart, or any chart, and using many NullDataValues within the data set, set Filter2D to disable filtering to see this affects results.

Kudos to all reading this page.