|Issue ID: 00147|
Project: Abakus VCL
I am building a project in Delphi XE using your Abakus VCL. Most things are working as expected. However, the AbVCInd component is doing strange actions. I can show you design and runtime images.
I have placed the component on a AbPanel and AbGradient. Neither seem to correct the problem. When the program is run, a button colored half shadow covers the background and any other component close to the AbVCInd. Also, all four Value indicators get shifted to the left though I am not offsetting anything. Refresh or repaint does not fix anything. I am stuck in my project until this gets resolved.
I am using Delphi XE in Windows 10 32 bit.
AbVCInd_design.png (22 kB)
AbVCInd_run.png (25 kB)
I get the same mess with Delphi 2010.
is it possible that you extract the code / problem to a small application and send us the sources together with the exe file?
But, from tomorow until july 23 we are closed for vacation...
When I make a new simple program it works fine. When I added a new AbVCInd component I can get some improvement if I use both to write to and the second one to read from. I seems that maybe reading the values of the component makes the mask?? move around. Even the new component, which I make no changes to other than assigning Course/CourseShould, Roll, Pitch values seems to have the mask jump around. This is for the indicator and the value indicators (all 4). The main "shadow" shifts right and the value indicators shift left. I have attached images. Even if I just click on the component, as shown in the moving.png, this mask shows up. I have been successful in keeping the one AbVCInd lined up except for the Value Indicators. They still shift left. I am using the hidden AbVCInd to write the course to other components.
1_moving.png (11 kB)
2_Setting Initial Course Value.png (64 kB)
3_Setting Pitch.png (59 kB)
4_Just before setting Roll.png (52 kB)
5_After setting Roll before setting courseshould.png (67 kB)
6_Lost focus on AbVCInd after setting values.png (55 kB)
7_Moved AbVCInd to separate panel.png (47 kB)
8_Even here gets a shift.png (35 kB)
9_new AcVCInd above old.png (38 kB)
simple app.png (33 kB)
I seem to have corrected the issue by not ever reading data from the components and by setting the values in a specific order. I say seem as I did see a shift in the Value Indicators at one point but I may have writing the new values out of order. I created a global variable and I use this variable to write the course data to each of the compass components. I do not use the current AbVCInd.course value anywhere else. I only set the value.
Before: (does not work)
AbVCInd.course := newvalue;
AbC1.value := AbVCInd.course;
AbC2.value := AbVCInd.course;
After: (does work)
gvCourse := newValue;
AbVCInd.course := gvCourse;
AbC.value := gvCourse;
AbC.value := gvCourse;