Das Objekt stimmt mit dem Zieltyp nicht überein-VS Designer

Die Programmiersprache C# und Programmierung im .NET Framework/Mono
Antworten
Benutzeravatar
cloidnerux
Moderator
Beiträge: 3123
Registriert: Fr Sep 26, 2008 4:37 pm
Wohnort: Ram (Gibts wirklich)

Das Objekt stimmt mit dem Zieltyp nicht überein-VS Designer

Beitrag von cloidnerux » So Mär 27, 2011 9:47 pm

Ich sitze schon seit 3h an einem Programm mit Designer-Integration und habe immer ein sehr Bescheidenes Problem:
Eine Klasse, die ich ein einem Property Grid anzeigen lassen will erzeugt immer eine Fehlermeldung:

Code: Alles auswählen

Das Objekt stimmt mit dem Zieltyp nicht überein.
Ich habe für die Klasse einen eigenen TypeConverter geschrieben, habe für die Collection Klasse die das ganze Quasi kapselt einen eigen Editor und es will immer noch nicht.
Ich schränke das Problem auf die Integration der Klasse in den PropertyEditor ein, nur habe ich keine Ahnung warum.
Redundanz macht wiederholen unnötig.
quod erat expectandum

Benutzeravatar
Xin
nur zu Besuch hier
Beiträge: 8859
Registriert: Fr Jul 04, 2008 11:10 pm
Wohnort: /home/xin
Kontaktdaten:

Re: Das Objekt stimmt mit dem Zieltyp nicht überein-VS Desig

Beitrag von Xin » So Mär 27, 2011 9:49 pm

Klingt nach fehlerhaftem Unboxing:

Code: Alles auswählen

int i;
object o = i;
string str = (string) o;  // Bäng!
Merke: Wer Ordnung hellt ist nicht zwangsläufig eine Leuchte.

Ich beantworte keine generellen Programmierfragen per PN oder Mail. Dafür ist das Forum da.

Benutzeravatar
cloidnerux
Moderator
Beiträge: 3123
Registriert: Fr Sep 26, 2008 4:37 pm
Wohnort: Ram (Gibts wirklich)

Re: Das Objekt stimmt mit dem Zieltyp nicht überein-VS Desig

Beitrag von cloidnerux » So Mär 27, 2011 9:53 pm

Klingt nach fehlerhaftem Unboxing:
Kann ich gerade nicht bestätigen.
Ausgangsklasse ist PieMenuItem, die Collection-Klasse "PieMenuItemCollection" hat PieMenuItems als Items, und dem PropertyGrid weise ich eben das PieMenuItem zu und das PropertyGrid sucht per Reflection die Öffentlichen Member raus, die auch richtig angezeigt werden, nur kann ich die Werte nicht Editieren, obwohl jedes Member entweder Standard(Int, sting), bzw nen TypeConverter hat.

Edit: Habe das Problem beseitigt, habe einfach die Klassen-Attribute für meinen Custom-TypeConverter herausgenommen und es funktioniert jetzt.
Nur Mag er im Moment meine statischen Klassen Definitonen nicht(statische Klasseninstanz in der Klasse), weil er mir massenweise NullReferenze Exceptions um die Ohren schmeißt.
Redundanz macht wiederholen unnötig.
quod erat expectandum

Benutzeravatar
cloidnerux
Moderator
Beiträge: 3123
Registriert: Fr Sep 26, 2008 4:37 pm
Wohnort: Ram (Gibts wirklich)

Re: Das Objekt stimmt mit dem Zieltyp nicht überein-VS Desig

Beitrag von cloidnerux » Di Mär 29, 2011 4:25 pm

WTF?????
Visual Studio will anscheinend unter keinen Umständen meinen Code???
Erst zeigt es mir zu den NullReferenze Exceptions noch StackOverflows an und jetzt stürzt es Komplett ab, wenn ich meine Form im Designer öffnen will, was leider auch beim Laden der Projektmappe der Fall ist...
Ich glaube, ich muss mir etwas Anti-Dämonen Spray kaufen...oder linux installieren^^
Redundanz macht wiederholen unnötig.
quod erat expectandum

Benutzeravatar
Xin
nur zu Besuch hier
Beiträge: 8859
Registriert: Fr Jul 04, 2008 11:10 pm
Wohnort: /home/xin
Kontaktdaten:

Re: Das Objekt stimmt mit dem Zieltyp nicht überein-VS Desig

Beitrag von Xin » Di Mär 29, 2011 5:01 pm

cloidnerux hat geschrieben:WTF?????
Visual Studio will anscheinend unter keinen Umständen meinen Code???
Erst zeigt es mir zu den NullReferenze Exceptions noch StackOverflows an und jetzt stürzt es Komplett ab, wenn ich meine Form im Designer öffnen will, was leider auch beim Laden der Projektmappe der Fall ist...
Ich glaube, ich muss mir etwas Anti-Dämonen Spray kaufen...oder linux installieren^^
Ich sitze gerade hier, weil mein lokales Visual Studio den Zugriff auf private Member ohne Fehler akzeptiert, aber das VisualStudio auf dem Build-Server nicht.
Hier läuft's seit Stunden, nur der Build-Server frisst es - zurecht - nicht, aber ich debugge jetzt gegen den Build-Server... Commit... Fehlerprotokoll...? Commit....Fehlerprotokoll...?

Also ändern wir das mit den privaten Variablen mal, seitdem bekomme ich vom Build-Server folgendes:
BuildServer hat geschrieben:fatal error C1001: INTERNER COMPILER- FEHLER"
Zuvor hatte ich dutzende Fehlermeldungen wie diese:
BuildServer hat geschrieben: error C2252: 'CompositesValue' : Nur Funktionen koennen rein virtuell deklariert werden
error C2258: Ungueltige Syntax für rein virtuelle Methode; '= 0' erforderlich
Dazu den passenden Code:

Code: Alles auswählen

class ...
{
  ...
  static unsigned int const CompositesValue = 1;
  ...
};
Erzähl mir nix von Visual Studio... zumindest meldet sich der Build-Server schon länger nicht, was mir Hoffnung gibt. Alternativ hat sich der Buildserver aufgehängt...


Wenn er sich bei der Form aufhängt, dann hast Du einen netten Bug im Erzeugen der Form drin... sowas zerreißt Visual Studio auch gerne komplett... die sind besonders schön zu debuggen. ^^
Merke: Wer Ordnung hellt ist nicht zwangsläufig eine Leuchte.

Ich beantworte keine generellen Programmierfragen per PN oder Mail. Dafür ist das Forum da.

Benutzeravatar
cloidnerux
Moderator
Beiträge: 3123
Registriert: Fr Sep 26, 2008 4:37 pm
Wohnort: Ram (Gibts wirklich)

Re: Das Objekt stimmt mit dem Zieltyp nicht überein-VS Desig

Beitrag von cloidnerux » Di Mär 29, 2011 5:07 pm

Wenn er sich bei der Form aufhängt, dann hast Du einen netten Bug im Erzeugen der Form drin... sowas zerreißt Visual Studio auch gerne komplett... die sind besonders schön zu debuggen. ^^
Ich merke es gerade, vorallem bei Code, der schonmal funktionierte...
Hat sich nach starten mit VS2010 und manuellem Auskommentieren der Entsprechenden Klasse erstmal behoben, ist aber auch nur ein Patch.
Versuche erstmal an einer anderen Baustelle weiter zu kommen und dann zu hoffen, das ich das andere Problem auch in den griff bekomme...
Redundanz macht wiederholen unnötig.
quod erat expectandum

Antworten