Jump to content

Seeking guidance on pie chart example


qwert
 Share

Recommended Posts

Two and a half years ago, a chart function was posted, which included an excellent example:

I've downloaded and attempted to run the scripts, but I'm getting numerous messages of undeclared variables ...  $__Au3Obj_X64, for example.  But when I attempt to remedy one condition, another occurs.

Before I continue, I have these questions:

Is the Au3 Object UDF out of date so that it can't run on Win7 with 3.3.14.2?  There's a long thread about it that ends with a "no longer lives" comment.

If it's not obsolete, where should the UDF be placed with respect to the example script ... and how should the DLL be referenced?  (I suspect that something is related to me running AutoIt 32-bit on a 64-bit Win7 PC.)

Lastly, is there a better approach to obtaining simple pie charts with Au3?  I have a set of a dozen values that match very well to what the above example was displaying.

Thanks in advance for any advice.

 

Link to comment
Share on other sites

If you run Excel you could use my ExcelChart UDF.
For download please check my signature.

My UDFs and Tutorials:

Spoiler

UDFs:
Active Directory (NEW 2022-02-19 - Version 1.6.1.0) - Download - General Help & Support - Example Scripts - Wiki
ExcelChart (2017-07-21 - Version 0.4.0.1) - Download - General Help & Support - Example Scripts
OutlookEX (2021-11-16 - Version 1.7.0.0) - Download - General Help & Support - Example Scripts - Wiki
OutlookEX_GUI (2021-04-13 - Version 1.4.0.0) - Download
Outlook Tools (2019-07-22 - Version 0.6.0.0) - Download - General Help & Support - Wiki
PowerPoint (2021-08-31 - Version 1.5.0.0) - Download - General Help & Support - Example Scripts - Wiki
Task Scheduler (NEW 2022-07-28 - Version 1.6.0.1) - Download - General Help & Support - Wiki

Standard UDFs:
Excel - Example Scripts - Wiki
Word - Wiki

Tutorials:
ADO - Wiki
WebDriver - Wiki

 

Link to comment
Share on other sites

Unfortunately, in this instance, I'm working on an interactive process where the Au3 script will generate the table of values based on user inputs.

But I'll review your UDF for possible other cases.

Thanks for responding. 

 

 

 

Link to comment
Share on other sites

That's no problem. You could simply add the values from your script to Excel and then generate the Chart.

My UDFs and Tutorials:

Spoiler

UDFs:
Active Directory (NEW 2022-02-19 - Version 1.6.1.0) - Download - General Help & Support - Example Scripts - Wiki
ExcelChart (2017-07-21 - Version 0.4.0.1) - Download - General Help & Support - Example Scripts
OutlookEX (2021-11-16 - Version 1.7.0.0) - Download - General Help & Support - Example Scripts - Wiki
OutlookEX_GUI (2021-04-13 - Version 1.4.0.0) - Download
Outlook Tools (2019-07-22 - Version 0.6.0.0) - Download - General Help & Support - Wiki
PowerPoint (2021-08-31 - Version 1.5.0.0) - Download - General Help & Support - Example Scripts - Wiki
Task Scheduler (NEW 2022-07-28 - Version 1.6.0.1) - Download - General Help & Support - Wiki

Standard UDFs:
Excel - Example Scripts - Wiki
Word - Wiki

Tutorials:
ADO - Wiki
WebDriver - Wiki

 

Link to comment
Share on other sites

Yes, I realize that.  But requiring Excel as a middleman application is a "non-starter" for an average home user.  For example, I don't have Excel on my PCs, and I'm probably ahead of most.

Hopefully, someone can weigh in with answers to my questions.  Surely, the ideas behind the Au3 Object UDF haven't been abandoned.

 

Link to comment
Share on other sites

Delving further into the issues, a key factor seems to center on the following call parameter in _AutoItObject_Startup():

Parameters ....: $fLoadDLL -- [optional] specifies whether an external DLL-file should be used (default: False)

Why is this necessary?  Where should the two DLLs be located?  And what DLL is used if the parameter is False?

Moreover, can someone paraphrase why running a compiled 32-bit script should ever concern itself with "64-bitness".

Link to comment
Share on other sites

AutoItObject UDF is only depending on one file: AutoItObject.au3. This file contains the DLLs directly in the source code (lines 1000 - 1050). It's working fine on Windows 7 and on your PC. Mine is exactly the same. If you have downloaded Charts.au3 and the example you can save AutoItObject.au3 in the same folder. Run the example and you should see a nice pie chart. I did without changing anything at all.

AutoItObject.au3 is a lot of code just to store 20 properties of the pie chart. You might as well use an array. If you want to access the properties through the names you can use a dictionary object or a DllStruct with dot notation.

Link to comment
Share on other sites

Thanks for your response.  It's good to hear that the combination is valid.  But with the AutoItObject.au3 (only) on the same directory as the GUI script, I still receive the following error ...  whether compiled or run from SciTE:

"D:\Au3 LAB\Charts\AutoItObject.au3" (692) : ==> Variable used without being declared.:
If $__Au3Obj_X64 Then
If ^ ERROR

I'll back track and see if I can isolate the cause.  But I do still wonder how "64-bitness" is getting into the mix when I'm running everything as 32-bit mode (albeit on a 64-bit Win7 Pro).

Link to comment
Share on other sites

AutoItObject.au3 is included in Charts.au3, so it should be saved in the same folder as Charts.au3.

The If-statement is checking if you are running 32 or 64 bit to be able to load a 32 or 64 bit version of the DLL-file.

Link to comment
Share on other sites

Quote

it should be saved in the same folder as Charts.au3

That was the nudge that I needed.  I was delving into too many details.

When I started my prototype script, I had embedded Chart.au3 (for simplicity's sake?) ... which caused the includes to occur after the _AutoItObject_Startup() call in the chart function.

Now everything I've seen makes sense.  Thanks for sticking with me, on this (... but sorry it turned out to be such a basic error on my part).

Link to comment
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now
 Share

  • Recently Browsing   0 members

    • No registered users viewing this page.
×
×
  • Create New...