Tag-Property von ToolStripMenuItem geht flöten

13/09/2007 - 19:06 von Bernd Schend | Report spam
Hallo zusammen,

ich generiere die Menüs meiner Forms dynamisch, d.h. die
Menüsspezifikationen werden aus einer DB gelesen und anschließend
zu "richtigen" Menüs konvertiert.
Dabei verwende ich die Tag-Property eines ToolStripMenuItem um
Parameter zu speichern, die spàter beim MenuItemClick für die Ausführung
des zugehörigen Kommandos benötigt werden. Die Parameter liegen als
ArrayList vor.

Der Zugriff auf die Parameter funktioniert zur Laufzeit
ganz gut - zumindest beim ersten Click. Danach scheinen die Parameter
aber stiften zu gehen.
Wohlgemerkt, die ArrayList ist nicht "Nothing", sondern
ArrayList.Count=0.

Zuerst hatte ich den Garbage Collector in Verdacht, kann aber
eigentlich nicht sein.
Könnt Ihr euch einen Reim darauf machen?

Gruß & Danke
Bernd
 

Lesen sie die antworten

#1 Peter Fleischer
15/09/2007 - 08:44 | Warnen spam
Bernd Schend wrote:

ich generiere die Menüs meiner Forms dynamisch, d.h. die
Menüsspezifikationen werden aus einer DB gelesen und anschließend
zu "richtigen" Menüs konvertiert.
Dabei verwende ich die Tag-Property eines ToolStripMenuItem um
Parameter zu speichern, die spàter beim MenuItemClick für die
Ausführung des zugehörigen Kommandos benötigt werden. Die Parameter
liegen als ArrayList vor.

Der Zugriff auf die Parameter funktioniert zur Laufzeit
ganz gut - zumindest beim ersten Click. Danach scheinen die Parameter
aber stiften zu gehen.



Hi Bernd,
da du die Objekte dynamisch generierst, würde ich erst einmal von einem
Programmfehler bei dir ausgehen.

Wohlgemerkt, die ArrayList ist nicht "Nothing", sondern
ArrayList.Count=0.



Das bestàrkt mich in meiner Vermutung.

Zuerst hatte ich den Garbage Collector in Verdacht, kann aber
eigentlich nicht sein.
Könnt Ihr euch einen Reim darauf machen?



Ich würde da ganz anders herangehen. Ich würde von der MenuItem-Klasse erben
und anstelle deiner ArrayList gleich die passenden Eigenschaften meinen
geerbten MenuItems hinzufügen.

Viele Grüße

Peter

Ähnliche fragen