Visit Gigasoft's Web Site
 ProEssentials v9 Help

Chapter 3: ActiveX Charting - OCX Charting Overview

 

OCX Charting File Names

ProEssentials includes 5 ActiveX interfaces: Graph, Scientific Graph, 3D Scientific Graph, Pie Chart, and Polar Chart controls.

 

ProEssentials Pro

"PEGRP32G.DLL"

ProEssentials Standard

"PEGRPSG.DLL"

 

"PEGOG.OCX"

"PEGOSG.OCX"

Graph

"PESGOG.OCX"

"PESGOSG.OCX"

Scientific Graph

"PE3DOG.OCX"

"PE3DOSG.OCX"

3D Scientific Graph

"PEPCOG.OCX"

"PEPCOSG.OCX"

Pie Chart

"PEPSOG.OCX"

"PEPSOSG.OCX"

Polar / Smith / Rose

 

Note that the OCX file names (and DLL filenames) have changed from each version 3, 4, 5, 6, 7, and 8. The class-ids have changed also. This means you can have any version ProEssentials based applications on the same system with no worry of conflict.

 

We mention the DLL file names above because the ActiveX interfaces derive their core charting functionality from the ProEssentials' DLL.  Anytime you distribute the ActiveX Charting interfaces, you will need to include the DLL.  More on this later when we discuss Deployment.

 

Program and Class IDs

 

ProEssentials Pro

ProEssentials Standard

 

PEGOG.PegogCtrl.1

"clsid:C612BED1-4A73-456F-BAF7-5FF010070F7E"

PEGOGSTD.PegogStdCtrl.1

"clsid:4E208DB2-0339-4B36-996B-4512926D25E8"

Graph

PESGOG.PesgogCtrl.1

"clsid:D28477F0-6B8E-4861-82E6-19BBCA142DCC"

PESGOGSTD.PesgogStdCtrl.1

"clsid:3BCFDCDC-BB32-4873-AC5E-B4C67AB2930A"

Scientific Graph

PE3DOG.Pe3dogCtrl.1

"clsid:B4C18EC8-052A-479C-903E-45C9D74C0D98"

PE3DOGSTD.Pe3dogStdCtrl.1

"clsid:5A3CB176-6827-41F9-B2D0-CFFCF3E2F42F"

3D Scientific Graph

PEPCOG.PepcogCtrl.1

"clsid:4C315B2D-537D-4D88-B190-4573F4B4CF05"

PEPCOGSTD.PepcogStdCtrl.1

"clsid:093544A3-C5AC-44BE-BAAC-E7A7C2DD9F9C"

Pie

PEPSOG.PepsogCtrl.1

"clsid:91F12075-6BFF-452B-9EE1-8E92D4A14C38"

PEPSOGSTD.PepsogStdCtrl.1

"clsid:98721341-AFA1-42A5-BA82-E5E62B51B780"

Polar

 

If you're wondering what a [Program ID] and [Class ID] are: The [Program ID] is used within the CreateObject function call.  Essentially its unique programmatic name.  [The Class ID] is a similar naming convention but even more unique and used within HTML. The following HTML Object tag will create an instance of a control within a web page.

 

<OBJECT

CLASSID="clsid:C612BED1-4A73-456F-BAF7-5FF010070F7E"

ID=Pego1

HEIGHT=200

WIDTH=400>

</OBJECT>

Note, when using our ActiveXs on a web page targeting IE.

Its important to use the following meta tag in your HEAD section.

<HEAD>

<meta http-equiv="x-ua-compatible" content="IE=8" >

 

 

ActiveX Charting Model

The ActiveX Charting interfaces have a simple object model that closely resembles our DLL interface.  Within the property reference material, at the top of each property topic, you'll see a table with various property attributes.  For example, the property FontSize has such an entry.

 

Scope

All ProEssentials Objects.

Type

Int32

Default

PEFS_MEDIUM

.NET

PeFont.FontSize

Ocx|Vcl

FontSize

DLL

PEP_nFONTSIZE

 

If developing with either OCX or VCL interfaces, you'll refer to this property via the OCX|VCL row heading.

 

Ocx|Vcl

FontSize

 

For a control named Pego1, to programmatically control the FontSize property within code, you'll write...

 

Pego1.Fontsize = PEFS_LARGE

 

 

Don't use property windows!

We recommend that you set only a few properties (if any) in the property window/object browser. This has many advantages: 1) If you have problems, you can email/fax us your code and we have a record of what properties you are setting; 2) If you go back to your code a couple months later, or someone else inherits your project, they have a documented list of properties you have set; 3) If you ever port your code to another IDE, its very easy to just reformat your current code; 4) In the case where a VB or Delphi form-file gets corrupted (this does happen occasionally) you won't lose your property adjustments; and 5) You will avoid potentially hard-to-find bugs due to setting a property both in the property window and in code.

 

The bottom line is that property windows may seem to be faster, yet, in the long run, coding your property settings will definitely result in the fastest, safest, and most maintainable implementation.