Designer Code und InvalidCastException

30/06/2008 - 17:07 von Klaus Wonner | Report spam
Hallo

Ich arbeite gerade an einer DLL welche diverse Basisklassen und Controls
enthàlt. Zum testen habe ich ein weiteres Projekt mit eingebunden in dem
ich die Controls ausprobiere.

In der DLL gibt es eine Structure welche zwei Eigenschaften und einen
Konstruktor hat. Diese Structure verwende ich in einer Klasse welche von
ComboBox erbt. Damit der Designer den Code generieren kann hab ich
zusàtzlich noch einen TypeConverter geschrieben, was auch schon fast
funktioniert. Wenn ich das Projekt neu öffne wird der Code vom Designer
richtig generiert, doch sobald ich in der DLL etwas àndere und neu
Kompiliere erhalte ich von Visual Studio immer folgende Fehlermeldung.

„Fehler bei der Codegenerierung für die AutoSizeDropDown-Eigenschaft.
Fehler: Die angegebene Umwandlung ist ungültig.“

Beim Debuggen des Designers hab ich herausgefunden dass in der
TypeConverter Klasse in der Methode ConvertTo bei dieser Zeile der
Fehler ausgelöst wird.

autosize = CType(value, AutoSizeDropDown)

Wenn ich mir aber im Überwachungsfenster den Inhalt der Variable value
ausgeben lasse, wird als Typ AutoSizeDropDown angegeben. Zudem ist mir
noch aufgefallen dass value.GetType() Is GetType(AutoSizeDropDown) dann
auch nicht mehr funktioniert. Sobald ich das Projekt schließe und
anschließend gleich neu starte kann der Code wieder richtig generiert
werden.

Kann mir jemand einen Hinweis geben was ich noch anpassen muss?

Klaus Wonner
 

Lesen sie die antworten

#1 Elmar Boye
01/07/2008 - 11:40 | Warnen spam
Hallo Klaus,

Klaus Wonner schrieb:
In der DLL gibt es eine Structure welche zwei Eigenschaften und einen
Konstruktor hat.



Eine Structure sollte mit dem Standard-Konstruktor funktionieren,
da die CLR beim Erstellen diesen verwendet.

Diese Structure verwende ich in einer Klasse welche von
ComboBox erbt. Damit der Designer den Code generieren kann hab ich
zusàtzlich noch einen TypeConverter geschrieben, was auch schon fast
funktioniert. Wenn ich das Projekt neu öffne wird der Code vom Designer
richtig generiert, doch sobald ich in der DLL etwas àndere und neu
Kompiliere erhalte ich von Visual Studio immer folgende Fehlermeldung.

„Fehler bei der Codegenerierung für die AutoSizeDropDown-Eigenschaft.
Fehler: Die angegebene Umwandlung ist ungültig.“



Wenn Du uns den Code der Struktur und den TypeConverter zeigen würdest,
könnte man da eher was zu sagen. So wàre das blindes Gerate.

Gruß Elmar

Ähnliche fragen