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.
ProEssentials v7 Pro
ProEssentials v7 Standard
ProEssentials v7 Lite
The v6 DLLs are as follows.
ProEssentials v6 Pro
ProEssentials v6 Standard
ProEssentials v6 Lite
The v5 DLLs are as follows.
ProEssentials v5 Pro
ProEssentials v5 Standard
ProEssentials v5 Lite
2) What type of project are you creating?
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
Pepso: Polar / Smith / Rose
Pepco: Pie Chart
Pe3do: 3D Graph
product and language are you using for development?
VS2003, VS2005, VS2008, VS2010, VB.NET, C#.NET, VB6, Delphi, VC6, Builder, Access, or Other?
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 ...
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:
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.
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.
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.
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.
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.
trapping so your functions do not allow undefined conditions.
- If calling DLL calls such as PEvset, check that the variables pointed to are the correct type, double vs float.
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.
- 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.