RibbonLib icon indicating copy to clipboard operation
RibbonLib copied to clipboard

AccessViolationException when using RibbonDropDownColorPicker in 64-bit

Open ThomasHaberl opened this issue 7 years ago • 0 comments

Assigning an array of strings to the RibbonDropDownColorPicker.ThemeColorsTooltips property will cause an AccessViolationException when the application is executed as a 64-bit process. The exception occurs in line 640 of ColorPickerPropertiesProvider.cs, the call to UIRibbonFramework.SetUICommandProperty() in said property.

It can be reproduced with the following sample project: RibbonLib.Sample.zip

This project is based on sample "11 - DropDownColorPicker" of the original Windows Ribbon for WinForms (https://windowsribbon.codeplex.com/). The only relevant change was that I disabled the "Prefer 32-bit" option in the project's properties. The original implementation has the same problem. It seems like array pointers in the PropVariant structure are marshalled incorrectly in 64-bit scenarios.

ThomasHaberl avatar May 12 '17 15:05 ThomasHaberl

Are you using the Arduino IDE? If so, which ATtiny85 core are you using?

You say it's an ATtiny85 clone. Which one exactly?

technoblogy avatar Dec 15 '19 21:12 technoblogy

I am using Digispark (default) on this board (more or less, the resistor arrangement is slightly different):

attiny

bill-orange avatar Dec 15 '19 21:12 bill-orange

I'm not sure the Digispark supports I2C - search the web for information. I recommend using Spence Konde's ATTinyCore which does support I2C.

technoblogy avatar Dec 16 '19 09:12 technoblogy

That could be the problem. I have certainly tried everything I can think of. Their drawing shows I2C connections but I don't think that is a reliable indicator. dc7h4n3-51e6389c-5f86-4fb2-a7ad-34f75f672003

bill-orange avatar Dec 16 '19 15:12 bill-orange

Why don’t you try an ATtiny85 on a breadboard?

David

technoblogy avatar Dec 16 '19 15:12 technoblogy

You have not disclosed your code. Maybe you did not included <Wire.h> before <TinyBME280.h>? Because on the ATTiny, I2C is implemented in software. But it works, I am running with BME280.

aholz avatar May 24 '20 18:05 aholz

Hi, I am also trying to use the TinyBME280 lib with a Digispark attiny85 board. It gives me accurate measurements for temperature and humidity but returns a very low value for pressure. Using Adafruit_BME280 lib on an arduino uno i get a value of 92239 while digispark give me 26797. Any ideas ?

nhabongo avatar Dec 07 '20 17:12 nhabongo

The Digispark causes a lot of compatibility problems. Try a standard ATtiny85.

technoblogy avatar Dec 08 '20 20:12 technoblogy

Unfortunately that is true. I am giving up on digispark. Thanks for your reply.

nhabongo avatar Dec 08 '20 20:12 nhabongo