Hi, I'm writing an UWP application to run in a Windows 10 tablet. The project consists in a realtime chart that shows data taken from device.
All works great in Debug mode but when I change to Release, the lines of the chart disappear.
The only error that appear in console is a marshal error due to the RunAsync call to render the chart on the main thread:
Msg:[Failed to marshal with IID={11D3B13A-180E-4789-A8BE-7712882893E6}]
onecore\com\combase\dcomrem\marshal.cxx(1179)\combase.dll!00007FFA7B62D4D4: (caller: 00007FFA7B629C4B) LogHr(25) tid(63c) 80004002 No such interface supported.
onecore\com\combase\dcomrem\marshal.cxx(1119)\combase.dll!00007FFA7B731BC6: (caller: 00007FFA728C4CF8) ReturnHr(50) tid(63c) 80004002 No such interface supported.
onecore\com\combase\dcomrem\marshal.cxx(1284)\combase.dll!00007FFA7B62E0EB: (caller: 00007FFA7B62D4A4) ReturnHr(51) tid(63c) 80004002 No such interface supported.
The same error appear also in Debug, but without causing problem to the chart.
I'm using VS 2019 latest release.
Regards
Hi Yuvaraj,
thanks for your reply.
I have tested your project and it works correctly in debug and release mode.
So I have tried to import your class in my project and execute them from it. The result is that in release mode your class don't render lines correctly too. At this point I am afraid is a problem due to some configuration in my project.
In response to your request:
<chart:SfChart x:Name="Chart" Grid.Row="1" Grid.RowSpan="8" Grid.Column="1" Margin="0" Background="White"> <chart:SfChart.PrimaryAxis> <chart:DateTimeAxis x:Name="XAxis" AutoScrollingDelta="{Binding AutoScrollingDeltaMilliseconds}" AutoScrollingDeltaType="Milliseconds" EdgeLabelsDrawingMode="Fit" EnableScrollBar="False" EnableScrollBarResizing="False" EnableTouchMode="True" Header="Time" Interval="0" LabelFormat="ss" SmallTicksPerInterval="0" Visibility="Collapsed"> <chart:DateTimeAxis.MajorGridLineStyle> <Style TargetType="Line"> <Setter Property="Visibility" Value="Collapsed" /> Style> chart:DateTimeAxis.MajorGridLineStyle> <chart:DateTimeAxis.MinorGridLineStyle> <Style TargetType="Line"> <Setter Property="Visibility" Value="Collapsed" /> Style> chart:DateTimeAxis.MinorGridLineStyle> chart:DateTimeAxis> chart:SfChart.PrimaryAxis> <chart:SfChart.RowDefinitions> <chart:ChartRowDefinition /> <chart:ChartRowDefinition /> <chart:ChartRowDefinition /> <chart:ChartRowDefinition /> <chart:ChartRowDefinition /> <chart:ChartRowDefinition /> <chart:ChartRowDefinition /> <chart:ChartRowDefinition /> chart:SfChart.RowDefinitions> <chart:FastLineBitmapSeries x:Name="Series1" Margin="0,0" chart:SfChart.Row="7" EnableAnimation="False" EnableAntiAliasing="False" ItemsSource="{Binding DI}" Label="SeriesS" ShowTooltip="False" StrokeThickness="1" XBindingPath="Timestamp" YBindingPath="Value"> <chart:FastLineBitmapSeries.YAxis> <chart:NumericalAxis x:Name="YAxisForSeries1" Margin="0,0" chart:SfChart.Row="7" Header="DI" Maximum="2,5" Minimum="-2,5" RangePadding="Normal" SmallTicksPerInterval="2" Visibility="Collapsed" /> chart:FastLineBitmapSeries.YAxis> chart:FastLineBitmapSeries> <chart:FastLineBitmapSeries x:Name="Series2" Margin="0,0" chart:SfChart.Row="6" EnableAnimation="False" ItemsSource="{Binding DII}" Label="Series2" ShowTooltip="False" StrokeThickness="1" XBindingPath="Timestamp" YBindingPath="Value"> <chart:FastLineBitmapSeries.YAxis> <chart:NumericalAxis x:Name="YAxisForSeries2" Margin="0,0" chart:SfChart.Row="6" Header="DII" Maximum="2,5" Minimum="-2,5" SmallTicksPerInterval="2" Visibility="Collapsed" /> chart:FastLineBitmapSeries.YAxis> chart:FastLineBitmapSeries> <chart:FastLineBitmapSeries x:Name="Series5" Margin="0,0" chart:SfChart.Row="5" EnableAnimation="False" ItemsSource="{Binding DIII}" Label="Series2" ShowTooltip="False" StrokeThickness="1" XBindingPath="Timestamp" YBindingPath="Value"> <chart:FastLineBitmapSeries.YAxis> <chart:NumericalAxis x:Name="YAxisForSeries5" Margin="0,0" chart:SfChart.Row="5" Header="DIII" Maximum="2,5" Minimum="-2,5" RangePadding="Normal" SmallTicksPerInterval="2" Visibility="Collapsed" /> chart:FastLineBitmapSeries.YAxis> chart:FastLineBitmapSeries> <chart:FastLineBitmapSeries x:Name="Series6" Margin="0,0" chart:SfChart.Row="4" EnableAnimation="False" ItemsSource="{Binding aVR}" Label="Series5" ShowTooltip="False" StrokeThickness="1" XBindingPath="Timestamp" YBindingPath="Value"> <chart:FastLineBitmapSeries.YAxis> <chart:NumericalAxis x:Name="YAxisForSeries6" Margin="0,0" chart:SfChart.Row="4" Header="aVR" Maximum="2,5" Minimum="-2,5" RangePadding="Normal" SmallTicksPerInterval="2" Visibility="Collapsed" /> chart:FastLineBitmapSeries.YAxis> chart:FastLineBitmapSeries> <chart:FastLineBitmapSeries x:Name="Series7" Margin="0,0" chart:SfChart.Row="3" EnableAnimation="False" ItemsSource="{Binding aVL}" Label="Series6" ShowTooltip="False" StrokeThickness="1" XBindingPath="Timestamp" YBindingPath="Value"> <chart:FastLineBitmapSeries.YAxis> <chart:NumericalAxis x:Name="YAxisForSeries7" Margin="0,0" chart:SfChart.Row="3" Header="aVL" Maximum="2,5" Minimum="-2,5" RangePadding="Normal" SmallTicksPerInterval="2" Visibility="Collapsed" /> chart:FastLineBitmapSeries.YAxis> chart:FastLineBitmapSeries> <chart:FastLineBitmapSeries x:Name="Series8" Margin="0,5" chart:SfChart.Row="2" EnableAnimation="False" ItemsSource="{Binding aVF}" Label="Series7" ShowTooltip="False" StrokeThickness="1" XBindingPath="Timestamp" YBindingPath="Value"> <chart:FastLineBitmapSeries.YAxis> <chart:NumericalAxis x:Name="YAxisForSeries8" Margin="0,5" chart:SfChart.Row="2" Header="aVF" Maximum="2,5" Minimum="-2,5" RangePadding="Normal" SmallTicksPerInterval="2" Visibility="Collapsed" /> chart:FastLineBitmapSeries.YAxis> chart:FastLineBitmapSeries> <chart:FastLineBitmapSeries x:Name="Series3" Margin="0,0" chart:SfChart.Row="1" EnableAnimation="False" ItemsSource="{Binding V2}" Label="Series3" ShowTooltip="False" StrokeThickness="1" XBindingPath="Timestamp" YBindingPath="Value"> <chart:FastLineBitmapSeries.YAxis> <chart:NumericalAxis x:Name="YAxisForSeries3" Margin="0,0" chart:SfChart.Row="1" Header="V2" Maximum="2,5" Minimum="-2,5" RangePadding="Normal" SmallTicksPerInterval="2" Visibility="Collapsed" /> chart:FastLineBitmapSeries.YAxis> chart:FastLineBitmapSeries> <chart:FastLineBitmapSeries x:Name="Series4" Margin="0,0" chart:SfChart.Row="0" EnableAnimation="False" ItemsSource="{Binding V5}" Label="Series4" ShowTooltip="False" StrokeThickness="1" XBindingPath="Timestamp" YBindingPath="Value"> <chart:FastLineBitmapSeries.YAxis> <chart:NumericalAxis x:Name="YAxisForSeries4" Margin="0,0" chart:SfChart.Row="0" Header="V5" Maximum="2,5" Minimum="-2,5" RangePadding="Normal" SmallTicksPerInterval="2" Visibility="Collapsed" /> chart:FastLineBitmapSeries.YAxis> chart:FastLineBitmapSeries> chart:SfChart>
We receive data from a BLE device and on DataReceivedevent we call the following function to bind data on chart:
private void CreateChart() { Action readdata = async () => { try { await CoreApplication.MainView.CoreWindow.Dispatcher.RunAsync(Windows.UI.Core.CoreDispatcherPriority.Normal, () => { Chart.SuspendSeriesNotification(); for (int i = 0; i < (packetNumber - 1) * 17; i++) { _xAxisDateTime = _xAxisDateTime.AddMilliseconds(6.25); DI.Add(new SignalItem() { Timestamp = _xAxisDateTime, Value = _leads.DI[i] }); DII.Add(new SignalItem() { Timestamp = _xAxisDateTime, Value = _leads.DII[i] }); DIII.Add(new SignalItem() { Timestamp = _xAxisDateTime, Value = _leads.DIII[i] }); aVR.Add(new SignalItem() { Timestamp = _xAxisDateTime, Value = _leads.aVR[i] }); aVL.Add(new SignalItem() { Timestamp = _xAxisDateTime, Value = _leads.aVL[i] }); aVF.Add(new SignalItem() { Timestamp = _xAxisDateTime, Value = _leads.aVF[i] }); V2.Add(new SignalItem() { Timestamp = _xAxisDateTime, Value = _leads.V2[i] }); V5.Add(new SignalItem() { Timestamp = _xAxisDateTime, Value = _leads.V5[i] }); } Chart.ResumeSeriesNotification(); }); } catch (Exception ex) { ExceptionHandler.HandleExceptionAsync(ex); } }; Task.Factory.StartNew(readdata); }
Have you ever faced similar situation? Is there some test I can do or some setting I should set?
Regards
The page returns me an Access denied error
I found a solution for my problem, recreate the project!
I create a new solution and import one by one the classes of broken project. Testing it, the chart render correctly in Debug and Release mode.
I don't get where, in the original project the error, start, but at least I managed to resolve my issue.
Thanks for your support!