Kleines Problem mit Visual Studio 2005
-
Hi!
Ich hab ein Problem mit Visual Studio: Ich möchte in der Klassenansicht einen Ereignishandler hinzufügen. Sobald ich jetzt auf "Meldungen" und dann zum Beispiel auf EN_HSCROLL klicke, um die OnEnHscroll() hinzuzufügen, kommt die Meldung:
"Das Hinzufügen/Entfernen ist nicht möglich, da das Codeelement "CSteuerCodeAusgabe" schreibgeschützt ist".
Ich weiß jetzt nur beim besten Willen nicht, warum die Klasse schreibgeschützt sein soll

Kann mir da wer helfen bitte?

lg enne
-
Sind evtl. die Dateien Schreibgeschützt?
-
Oha, das hab ich ganz übersehen *schäm*, danke vielmals

-
...oder benutzt Du ein Sourcecodeverwaltungstool?
-
Nein, komischerweise war der Ordner schreibgeschützt, wenn ich ihn aber auf den Desktop kopiere, ist der Schreibschutz aufgehoben. Komisch deswegen, weil ich den Ordner nie auf Schreibgeschützt gestellt habe. Naja, man lernt ja bekanntlich nie aus.
lg enne
-
Hallo!
Der Thread ist zwar schon etwas älter, aber da ich ein ähnliches Problem habe:
Die Meldung "Codeelement schreibgeschützt" kommt in (mindestens) einem unserer Dialoge neuerdings auch (aus heiterem Himmel). Selbstverständlich habe ich keine der Dateien/Verzeichnisse selbst mit einem Schreibsschutz versehen.
Wenn ich nun überprüfe, ob ein Schreibschutz existiert, sagt Windows mir, dass keine der Dateien im Projektverzeichnis geschützt ist. In den Eigenschaften des Ordners zeigt die Schreibschutz-Checkbox aber "Mischzustand" an. Heißt das, dass nur der Ordner, nicht aber sein Inhalt geschützt ist? Das Gleiche gilt übrigens auch für die Debug/Release Ordner.
Das Aufheben des Schreibschutzes funktioniert leider nicht. Lädt man den Eigenschaften-Dialog neu, ist der alte Zustand wiederhergestellt. Ich bin auch der Meinung, dass der Ordner nicht schreibgeschützt ist, zumindest sagt mir das ATTRIB (DOS). Kann das jemand erklären?
@enne87:
Du sagtest, bei dir wurde das Schreibschutz-Attribut enfernt, nachdem du den Ordner auf den Desktop kopiert hast. Das ist bei mir nicht der Fall, der Zustand bleibt. Hat diese Maßnahme (ich gehe mal davon aus, dass du die "gute" Kopie wieder über das Original gebügelt hast) denn überhaupt geholfen? Ist dein Problem (dauerhaft) verschwunden?Hat irgendjemand mittlerweile eine Lösung?
Gruß Matze
-
Das Problem ist mir mittlerweile bestens bekannt. Es handelt sich um einen Fehler in VS2005, der normalerweise nur bei der Programmierung mit C++ auftritt. Er hat NICHTS mit den Dateizugriffsrechten zu tun sondern vielmehr mit projektinternen Sperren auf die Code-Dateien, die nur auf die Automatismen von VS wirkt.
In diesem Fall wurde von IntelliSense ein Sperre auf eine Datei nicht mehr für das Schreiben frei gegeben. Die einzige mir bekannte Lösung besteht darin, IntelliSense abzuschalten, das Projekt zu speichern, wieder zu öffnen, und IntelliSense dann wieder anzuschalten.
Wo schaltet man IntelliSense aus? Menü Extras -> Optionen -> Text-Editor -> C/C++ -> Alle Häckchen im Unterpunkt "Anweisungsvervollständigung" demarkieren. Wieder einschalten entsprechend.
Grüßle, Stefan

-
sgtschnitzel schrieb:
Das Problem ist mir mittlerweile bestens bekannt. Es handelt sich um einen Fehler in VS2005, der normalerweise nur bei der Programmierung mit C++ auftritt. Er hat NICHTS mit den Dateizugriffsrechten zu tun sondern vielmehr mit projektinternen Sperren auf die Code-Dateien, die nur auf die Automatismen von VS wirkt.
In diesem Fall wurde von IntelliSense ein Sperre auf eine Datei nicht mehr für das Schreiben frei gegeben. Die einzige mir bekannte Lösung besteht darin, IntelliSense abzuschalten, das Projekt zu speichern, wieder zu öffnen, und IntelliSense dann wieder anzuschalten.
Wo schaltet man IntelliSense aus? Menü Extras -> Optionen -> Text-Editor -> C/C++ -> Alle Häckchen im Unterpunkt "Anweisungsvervollständigung" demarkieren. Wieder einschalten entsprechend.
Grüßle, Stefan

Danke für den Tipp. Bei mir hat es aber leider nicht geklappt. Ich habe IntelliSense abgeschaltet, gespeichert und die Projektmappe danach neu geladen. Der Zustand hat sich aber nicht geändert. Ich hoffe, dass es bei dem einen Dialog bleibt und sich das Problem nicht vermehrt...
Unverständlich ist auch, dass MS diesen bekannten Bug nicht behebt. Bei dem Preis eines VS sollte man wenigstens ein nahezu fehlerfreies Produkt erwarten können. Beim VS2005 ist aber das Gegenteil der Fall. Und es wird noch nicht mal vernünftig nachgebessert.
Gruß Matze
-
Ich hatte genau das gleiche Problem...
Die Fehlermeldung hat mich in die Irre geleitet, bei mir hat im Projekt die .h-Datei gefehlt. Das mag auch daran gelegen haben, dass die Gross-Kleinschreibung unterschiedlich war????
Also geholfen hat die .h-Datei genau wie die .cpp-Datei zu benennen und dem Projekt neu hinzuzufuegen.Gruss, Steffen.
-
Brubbel schrieb:
Ich hatte genau das gleiche Problem...
Die Fehlermeldung hat mich in die Irre geleitet, bei mir hat im Projekt die .h-Datei gefehlt. Das mag auch daran gelegen haben, dass die Gross-Kleinschreibung unterschiedlich war????
Also geholfen hat die .h-Datei genau wie die .cpp-Datei zu benennen und dem Projekt neu hinzuzufuegen.Gruss, Steffen.
Danke für den Hinweis. Es hat aber leider auch nichts gebracht. Nach wie vor sind meine Code-Elemente schreibgeschützt. Ich habe die Datei aus dem Projekt entfernt und neu hinzugefügt. Die Groß-/Kleinschreibung war in Ordnung. Das wäre auch eine ziemliche Frechheit gewesen, wenn's daran gelegen hätte...
Gruß Matze
-
1. Tipp: Das Projekt schließen und die Solution-Dateien löschen (.sou und .ncb), anschließend Projekt wieder öffnen und IntelliSense aktualisieren lassen. Dann geht es für eine Weile wieder - ist aber keine dauerhafte Lösung.
2. Tipp: Die Deklaration der Dialog-Klasse aus der .h-Datei in die .cpp-Datei verschieben. Das hilft wohl dauerhaft, hat aber ggf. Konsequenzen für den Programmaufbau, falls die Dialog-Klasse noch anderweitig eingebunden werden soll. Probiert hab ich die Lösung noch nicht. Könnte mir vorstellen, dass diese Lösung für eine ganze Reihe von Projekten gar nicht realisierbar ist, weil der Dialog auch in anderen Dateien per .h-Datei eingebunden werden muss...
Quelle: http://www.c-plusplus.net/forum/viewtopic-var-p-is-1385500.html