binqing Posted July 9, 2007 Report Share Posted July 9, 2007 Hi, Frank When I run the application with a three-series chart under VS 2003 IDE, everything is fine, including the ChartFX. (I posted the code of some modules in the following site http://community.softwarefx.com/forums/t/7899.aspx) But when I deploy this and install it in either my own machine or another testing machine, and when I try to open the chart, I got the following message. And I did check the deploy package for several times and even re-register the ChartFX related module on the computer where the application is installed, but still no good. "An unhandled exception has occurred in you application. If you click Contiune, the application will ignore this error and attempt to contiune. If you click Quit, the application will be shut down immediately" "Exceptoion form HRESULT: 0x800A017D (CTL_EINVALIDARRAYINDEX)." After I click the Details button I see the detailed error message like the following. *********** Exception Text *********************** System.Runtime.InteropServices.COMException (0x800A017D): Exception from HRESULT: 0X800A017D(CTL_E_INVALIDPROPERTYARRAYINDEX ) at ChartfxLib.ICfxSeriesEnum.get_Item(Int16 index) at PitScour102.frmGraphics.frmGraphics_Load(Object sender, EvenetArgs e) at System.Windows.Forms.Form.OnLoad(EventArgs e) ................ I opened the Object Browser window from the VS IDE to browse the interop.chartfxlib object, and found out that under ICfxSeriesEnum interface, there are only two properties, "Count" and "this[short]", but no get_Item method. Is this method defined somewhere else? Just curiorious to know, or probably that is why I did not get it right. This problem has stuck there for quite a while. It would be so much appreciated if you give some hints for this. Thanks. Link to comment Share on other sites More sharing options...
binqing Posted July 9, 2007 Author Report Share Posted July 9, 2007 Hi, Frank Here are the new findings when I tried to re-register these two ChartFX related DLLs. In the command line I typed in the following two lines C:\Program Files\Maricopa FCD\Pit Scour 102>regsvr32 axInterop.charfxLib.dll C:\Program Files\Maricopa FCD\Pit Scour 102>regsvr32 Interop.charfxLib.dll where C:\Program Files\Maricopa FCD\Pit Scour 102 is the directory the application is installed, and two ChartFX related DLLs are residing. And the following are the pop-up message I got. axInterop.chartfxLib.dll was loaded, but the DllRegisterServer entry point was not found. This file can not be registered. Interop.chartfxLib.dll was loaded, but the DllRegisterServer entry point was not found. This file can not be registered. Does this imply that these two DLLs have not got registered at all during the installation? I have been browsing the SoftwareFX site for a while. I remember it is mentioned in somewhere, that there is a license issue involved during the deployment and installation. Does that apply to our case? Please give a hint of how to fix. Thanks Link to comment Share on other sites More sharing options...
JuanC Posted July 12, 2007 Report Share Posted July 12, 2007 You do not need to register the Interop libraries, only the COM ChartFX libraries. About the bug, please try setting the data using chart.ValueEx and chart.YValueEx to pass the data between OpenData/CloseData. We delay most of the extra allocations up to the CloseData call, so accessing per-series data should only be done after CloseData. Also note that we have .NET assemblies for both VS 2003 and VS 2005. Depending on the amount of ChartFX code you already have upgrading might be something you want to think about. There are many new features, you do not need to register anything (DLL Hell), the API has been revamped etc. Regards, JuanC Link to comment Share on other sites More sharing options...
Recommended Posts
Archived
This topic is now archived and is closed to further replies.