Jag vet att jag kommer att sitta och leta efter lösningen på det här problemet fler gånger framöver när teflonminnet slagit till. Det lika bra att posta lösningen här nu direkt medan jag minns även om ingen annan någonsin kommer att behöva den.

Problemet:

Scenariot är att jag har lagt till kontroller på en dialog i ett MFC-baserat C++ projekt för Windows Mobile i Visual Studio 2008 och nu ska koppla kod till events på dessa kontroller. T. ex. en OnBnClick-handler för en knapp. Vanligtvis är det bara att högerklicka på knappkontrollen och välja Add Event Handler… för att få upp Event Handler Wizarden. Men inte denna gång! Istället fick jag ett felmeddelande: “Add/Remove operation is impossible, because the code element C… is read only". Kollade massor av grejer, inga filer var låsta av nån process, omstart av Visual Studio hjälpte inte heller, hittade referenser till att det varit en bugg med detta symptom i VS2005 men att det fixats i SP1 för 2005. Nu var jag ju uppe på VS2008 så det borde inte vara samma.

image

Lösningen:

Det var enkelt när jag väl kom på det! Stäng Visual Studio och gå till Utforskaren och radera sedan projektets .ncb-fil (i denna finns IntelliSense information) som vanligen ligger på solution-nivån på disken samt .aps-filen i projektmappen.

Starta om Visual Studio och ladda projektet, vips så fungerar verktygsstödet för att generera kod utifrån dialogeditorn och alla Wizards startar som de ska igen! Filerna som togs bort skapas om automatiskt när man laddar projektet.

image


Comment Section

Comments are closed.