Fehlermeldung im MFC/RC auf VS2008 - "Hinzufügen/Entfernen operation ist unmöglich, weil das code-element 'Cxxxx' ist schreibgeschützt"
Ich habe online recherchiert und inkonsistente Antworten nicht beheben das problem für mich. Ich erstellt ein Dialogfeld und dann auf ont er Assistent zum erstellen einer Klasse für mich. Leider ist es mit dem Namen der Klasse und Datei schlimm schlimm, also benannte ich die Datei. Jetzt visual studio wird nicht lassen Sie mich etwas über die gui auf den dlg-Ressource - wie ein Haken-Knopf noch hf usw. Ich bekomme die message-box:
"Hinzufügen/Entfernen operation ist unmöglich,
weil das code-element 'Cxxxx' ist
nur-Lesen" -
Dies ist ein echtes problem, da das hinzufügen von Handlern und Dinge, die manuell durch den code ist mühsam und einer der Entwickler einfach nicht in der Lage es so zu tun - er braucht die GUI zum Bearbeiten der Ereignisse.
Habe ich versucht zu löschen die NZB-Datei und Wiederherstellung des Projekts, aber kein Glück überhaupt. MS hat offenbar nicht behoben dieses problem nach 4 Jahren oder so (basierend auf den Suchanfragen, die ich gesehen habe online.
Kann ich nicht hinzufügen, Variablen, event-Handler oder sonst etwas nützliches über die MFC-Anwendung-Assistenten der gui. Ich kann dies nur tun, durch die Bearbeitung der cpp und h Dateien.
Hat jemand irgendwelche Vorschläge?
- Nicht sicher, wie wir dieses Problem lösen, ohne in der Lage zu repro es. Ich bin sicher, dass die VS-Entwickler fühlen sich die gleiche Weise über die viele ähnliche bugs, die Sie gesehen haben online gebucht. einen Fehler melden sehe ich gepostet, dass eine repro-Projekt wurde als fixed markiert im VS 2010. Vielleicht ist es Zeit, zu aktualisieren. Obwohl ich nie begegnet bin, dieser bug in jeder version, und ich oft meine Meinung ändern über einen Klasse Namen nach der Verwendung des Assistenten.
- Upgrade wäre schön - leider sind wir mit einigen Bibliotheken, die nicht unterstützt werden noch für das Jahr 2010...
- Welche Art von Bibliotheken werden nicht unterstützt in VS 2010? Ich habe nicht gesehen, so eine Sache; Sie waren wirklich die Ausnutzung von bugs im VS 2008-compiler? Und selbst wenn dem so ist, können Sie festlegen, VS 2010 für die Verwendung des VS-2008-compiler, solange Sie beide Versionen installiert.
- Finanzdaten-feed Bibliotheken. Wenn wir jemals einen support-Anruf mit Ihnen für eine bestimmte version werden Sie nur verweigern Unterstützung. Sie haben nicht geprüft, Ihre Bibliotheken mit, die es (noch) so werden Sie nicht Unterstützung es.
- zusammen mit die .NZB, haben Sie versucht, löschen Sie die <Benutzername>.Benutzer-Datei auch?
- Ich lief in dieses problem mit Visual Studio 2005 als auch nach einer änderung der Ressource-Datei mit einem text-editor zu kopieren Dialogfeld Vorlage von einer Ressource-Datei zu einer anderen. löschen der .suo-Datei für mich gearbeitet.
Du musst angemeldet sein, um einen Kommentar abzugeben.
Ich Hinzugefügt, vorhandene Dateien in ein VS2008-Projekt und hatte das problem auch.
Ich habe es behoben durch löschen der .suo-Datei und kompilieren Sie die Lösung.
Vielleicht hilft es jemand, der kommt über dieses problem.
.ncb
als auch, wie erwähnt, in den OP ' s Frage.Habe ich (versehentlich) zu reproduzieren das gleiche problem. Ich habe
DECLARE_EVENTSINK_MAP()
und vollerund als ich manuell gelöscht ganze BEGIN-END-Bereich, aber ich habe Links
DECLARE
wiederhergestellt. Als ich später versuchte, den Ereignishandler hinzufügen von GUI, die ich erhielt, erwähnte Antwort. Einfaches löschen derDECLARED
Teil habe das problem gelöst.Glaube ich, dass diese kopiert werden können alle ähnliche Probleme.
Srdjan
Ich weiß, das könnte sein, kommt ein bisschen spät, aber haben Sie umbenannt, die Klasse selbst zu? Wenn ja, haben Sie möglicherweise vergessen haben, benennen Sie die
und
Die Dokumentation für diese Anrufe ist nicht sehr gründlich, aber wenn ich versuchte, eine Klasse zu erstellen, an die ich hinzufügen könnte, ein Ereignis, ich habe einen ähnlichen Fehler, wenn Sie versuchen, um ein Ereignis zu dieser Klasse:
http://msdn.microsoft.com/en-us/library/ywz9k63y%28v=vs.90%29.aspx
Wie ich das behoben (löschen .NZB/.suo/.user-Dateien und erstellt nicht helfen)...
Bemerkte ich die folgende Besonderheit, wenn dieser Fehler passiert in meinem VS 2008 Projekt:
Behob ich dieses problem in #2 zuerst (weiter unten erklärt), dann verlassen VS, gelöscht *.ncb, *.suo-Dateien, neu gestartet VS, neu erstellt das Projekt und die wizards wieder angefangen zu arbeiten.
Zu fixieren, den scope selector problem #2 ich ersten es verengt auf die Header nicht enthalten in der Klasse .h-Datei, d.h. ich hatte ein paar Typen in der Klasse Erklärung, aber keine header in der .h-Datei deklariert, die diese Typen. Wenn ich also einbeziehen der Klasse .h-Datei in eine saubere .cpp-Datei, es wird nicht kompiliert. Der rest des Projekts war die Zusammenstellung OK, da alle notwendigen Dateien Hinzugefügt wurden, alle entsprechenden .cpp-Dateien vor der Klasse .h. Nachdem ich alle notwendigen Header an die Spitze der Klasse .h (so sauber .cpp-Datei zu kompilieren), die Rahmen-Selektor-in .cpp-Datei gefüllt korrekt und im Gegenzug festen Assistenten.
On a sidenote: es ist eine Schule des Denkens auf keine andere .h-Dateien in eine .h-Dateien und Microsoft scheint zu halten Weg ziemlich oft (glücklicherweise nicht immer). Ich in der Regel Folgen andere Inklusion-Politik - immer Kopfzeilen mit allen verwendeten Deklarationen in .h-Datei, so dass, wenn ich ein Modul habe ich nur seine .h-Datei. In den seltenen Gelegenheit, die ich hatte, wenn dies nicht der Fall, VS-Assistent keilte fest (oder IntelliSense keilte fest, dass Assistenten abhängig). Es macht mein comittment dieser Einbeziehung der Politik stärker. Die einzige Ausnahme von dieser Politik ist ohne jede stdafx.h -, windows-und MFC-Dateien in Modul .h-Datei - es ist anders gemacht, aus dem Grund, vorkompilierte Header.
Nur ein FYI, ich hatte das gleiche Problem in Visual Studio 2010 SP1.
Löschen der SDF-Datei (Visual Studio 2010 entspricht der NZB von früheren Versionen) das problem behoben.
(Ich hatte versucht, viele andere Dinge zuerst, einschließlich der Reinigung des Projekt-und Umbau, löschen .suo-Datei, etc., ohne Erfolg. Aber ob diese Maßnahmen waren nötig, ZUSÄTZLICH schließlich löschen der SDF-Datei, weiß ich nicht.)
Löschen der Lösung .NZB-Datei und neu erstellen hat bei mir auch in Visual studio 2008.
Ich sollte erwähnen, ich begann mit diesem problem konfrontiert, die nach der Migration, meinen code auf einen neuen PC.
Ich hatte das gleiche problem mit VS2005. Ich habe versucht zu löschen *.NZB und *.suo, aber ohne Erfolg.
In das Ende, ich muss nur die Datei schließen, das wird Beschwerde (weil es eröffnet, VS können nicht automatisch hinzufügen von neuen code, um die Datei, wenn wir einige Aktionen auf der GUI-Ressourcen wie das hinzufügen eines Event-Handler, um ein Menü-Element).