something changed with vista sp2?

May 27, 2009 at 11:15 AM
Edited May 27, 2009 at 11:22 AM

after installing of sp2 i was not able to build my project because many errors like this:

t:\nemall_guibasics\wpf_dialogframework\nemall_dialogframework\wpfcontrols\../GuiHelpers.h(50) : error C3727: 'static event System::Reflection::Cache::InternalCacheItem ^System::GC::ClearCache': a managed event must be a member function or a data member that is a pointer to a delegate
        This diagnostic occurred while importing type 'System::GC ' from assembly 'mscorlib, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089'.
t:\nemall_guibasics\wpf_dialogframework\nemall_dialogframework\wpfcontrols\../GuiHelpers.h(71) : error C3766: 'WpfGuiHelpers::BitmapIdConverter' must provide an implementation for the interface method 'System::Object ^System::Windows::Data::IValueConverter::Convert(System::Object ^,System::Type ^,System::Object ^,System::DateTimeParse ^)'
        c:\program files\reference assemblies\microsoft\framework\v3.0\presentationframework.dll : see declaration of 'System::Windows::Data::IValueConverter::Convert'

rebuild helped

but when i start it program crashes

i found it is because is called my handler for check box

 

void AControls::AGridControl::Checked 

 (

Object^ sender,

System::Windows::RoutedEventArgs^ e

in case when binded value changed

there i called

 Microsoft::Windows::Controls::DataGridCellInfo^ cell = this->CurrentCell;

row = ((AGridControlDataItem^)cell->Item)->Row();

but newly Item type is not mine (and is not null) so i now must add test of it before cast

normal user checking is working ok

 

btw. originaly i planned

if(e->UserInitiated == false)

to get difference between binding and user action but there is no get method (?!)

so in fact SP2 change helped me for now

unfortunately i'm afraid users with XP only will have troubles run my code

(now i'm searching what is wrong with other crashing places)

May 27, 2009 at 1:30 PM

news

1. uninstaling SP2 i already have no next crashes = dialog finaly opens

anyway added isinst<> still necessary (so it is not problem of SP2? surely i hadn't it before and program was running)

2. current cell in frst case has ArePropertyValuesValid false

of course there is no get property for it = must keep isinst<> anyway