Anzahl Active X Steuerelemente pro Visio 2003 Zeichnblatt

06/04/2009 - 09:38 von Lilo | Report spam
Ich möchte eine Übersicht von SPS- Steuerungen in Visio darstellen. Hierfür
sollen ca. 170 Steuerungen in ein Visio Zeichenblatt eingefügt werden können.
Von uns wurde für diese Anforderung eine Vorlage (.vst) erstellt, auf welcher
bei Verwendung dieser ein SPS- Steuerelement vorhanden ist, dass in weiterer
Folge kopiert wird. Ein von uns erstelltes SPS- Steuerungsobjekt umfasst 4
Textfelder, zwei Schaltflàchen, ein Bild und diverse Zeichenobjekte. Die
ActiveX- Steuerelemente wurden durch die Einbindung der Microsoft Forms 2.0
Assembly (FM20.DLL) erstellt.

Nun zu meinem Problem:
Nach dem Einfügen einer bestimmten Anzahl von SPS- Steuerungsobjekten
erscheint bei erneutem Einfügen folgende Fehlermeldung "Visio kann kein neues
Steuerelement einfügen, da diese Datei zu viele Shapes, Zeichenblàtter oder
MAster-Shapes enthàlt".
Nach meinen Recherchen im Internet hàngt dieses Problem mit den ActiveX-
Steuerelementen (Textbox, Button, Image) zusammen. Visio kann nur eine
definierte, maximale Anzahl von solchen ActiveX- Steuerelementen verwalten.
Nach dieser Fehlermeldung lassen sich zwar weitere SPS- Steuerungsobjekte
einfügen, jedoch enthalten diese dann keine ActiveX- Steuerelemente mehr.

Die daraus resultierenden Fragen:
• Ist es möglich, diese Maximalgrenze für ActiveX- Steuerelemente pro Visio-
Zeichenblatt zu umgehen bzw. zu erhöhen?
• Gibt es für dieses Problem andere Lösungsvorschlàge (abgesehen von:
Objektumgestaltung oder Aufteilen auf verschiedene Zeichenblàtter) seitens
Microsoft?
 

Lesen sie die antworten

#1 Dieter Sternberg
06/04/2009 - 19:59 | Warnen spam
Hallo Lilo,

das ist ein leidiges Thema über das ich schon eine làngere Diskussion
mit MS hinter mir habe.
Eine Behebung (per Hotfix oder ServicePack) des Problems ist nicht zu
erwarten, da das Dateiformat geàndert werden müsste.

Hintergrund lt. MS:
Die interne Verwaltung der Controls ist so angelegt, dass die Shape-ID
eines ein Control kapselnden Shapes kleiner 1024 sein muss.
Sind alle IDs < 1024 durch Shapes belegt, gibt es diese Meldung.

Leider kommt diese Meldung auch dann, wenn weniger als 1024 Shapes auf
der Page sind, die höchste vergebene ID aber größer 1023 ist.
Ein einzelnes Shape mit ID 1024 reicht dabei schon!

Interessanterweise ist Visio aber nach dem Löschen von Shapes in Lage,
freigewordene IDs zu recyclen.
Wenn du diese Meldung bekommst und sicher bist, dass noch genügend IDs
frei sind (weil weniger als 1024 Shapes auf dem Blatt sind),
kannst du ein (beliebiges) Shape anlegen und es gleich wieder löschen.
Danach solltest du ein ActvieX-Control einfügen können.
Leider funktioniert dieser Workaround nur sehr eingeschrànkt im VBA,
weil Visio für das recyclen der IDs scheinbar Idle-Processing benötigt.

Die daraus resultierenden Fragen:
• Ist es möglich, diese Maximalgrenze für ActiveX- Steuerelemente pro


Visio-
Zeichenblatt zu umgehen bzw. zu erhöhen?



Nö. Begründung: Siehe oben

• Gibt es für dieses Problem andere Lösungsvorschlàge (abgesehen von:
Objektumgestaltung oder Aufteilen auf verschiedene Zeichenblàtter)


seitens Microsoft?

Die "Lösungen" von MS sind:
1) Mit einem leeren Blatt beginnen und erst die Controls droppen und
dann die restliche Grafik.
2) Oder sich eine Reihe von Dummy-Shapes (mit IDs kleiner 1023) auf der
Page zurechtlegen. Und dann im Falle dieser Fehlermeldung eines davon
löschen und dann das Control einfügen. Wobei dann für das Control die ID
des gerade gelöschten Shapes benutzt wird.

Insgesamt wenig befriedigend :-(
Hoffen wir, dass MS das Problem mit der nàchsten Visio-Version angeht

Dieter


Lilo schrieb:
Ich möchte eine Übersicht von SPS- Steuerungen in Visio darstellen. Hierfür
sollen ca. 170 Steuerungen in ein Visio Zeichenblatt eingefügt werden können.
Von uns wurde für diese Anforderung eine Vorlage (.vst) erstellt, auf welcher
bei Verwendung dieser ein SPS- Steuerelement vorhanden ist, dass in weiterer
Folge kopiert wird. Ein von uns erstelltes SPS- Steuerungsobjekt umfasst 4
Textfelder, zwei Schaltflàchen, ein Bild und diverse Zeichenobjekte. Die
ActiveX- Steuerelemente wurden durch die Einbindung der Microsoft Forms 2.0
Assembly (FM20.DLL) erstellt.

Nun zu meinem Problem:
Nach dem Einfügen einer bestimmten Anzahl von SPS- Steuerungsobjekten
erscheint bei erneutem Einfügen folgende Fehlermeldung "Visio kann kein neues
Steuerelement einfügen, da diese Datei zu viele Shapes, Zeichenblàtter oder
MAster-Shapes enthàlt".
Nach meinen Recherchen im Internet hàngt dieses Problem mit den ActiveX-
Steuerelementen (Textbox, Button, Image) zusammen. Visio kann nur eine
definierte, maximale Anzahl von solchen ActiveX- Steuerelementen verwalten.
Nach dieser Fehlermeldung lassen sich zwar weitere SPS- Steuerungsobjekte
einfügen, jedoch enthalten diese dann keine ActiveX- Steuerelemente mehr.

Die daraus resultierenden Fragen:
• Ist es möglich, diese Maximalgrenze für ActiveX- Steuerelemente pro Visio-
Zeichenblatt zu umgehen bzw. zu erhöhen?
• Gibt es für dieses Problem andere Lösungsvorschlàge (abgesehen von:
Objektumgestaltung oder Aufteilen auf verschiedene Zeichenblàtter) seitens
Microsoft?

Ähnliche fragen