-> Hier kostenlos registrieren
Guten Morgen Zusammen,
eventuell kann mir einer von Euch bei einem Script-Problem helfen.
Auf Basis von Suplanus-Blog und den Git-Beispielen sowie dem Buch Eplan automatisieren von Johann Weiher habe ich ein Script erstellt, welches einen Eintrag im Hauptmenü anlegt um eine Aktion auszuführen.
Wenn ich das Script mit einem festen String für die Bezeichnungen versehe, wird das Script in Eplan geladen und kann ausgeführt werden.
Wenn ich nun aber eine mehrsprachige Version mit MultiLangString erstelle, meckert Eplan wie folgt rum:
CS1503 (Zeile:182, Spalte:17): Argument '3': Konvertierung von 'Eplan.EplApi.Base.MultiLangString' in 'string' nicht möglich.
CS1503 (Zeile:184, Spalte:17): Argument '5': Konvertierung von 'Eplan.EplApi.Base.MultiLangString' in 'string' nicht möglich.
Zeile 182 und 184 sind die Einträge für den Menüeintrag und den Statustext.
Wenn ich die Funktion erweitere um .ToString() bei beiden Variablen lädt das Script und legt auch den Menüeintrag an, aber dann stehen beide Einträge als ein gemeinsamer String im Menü, die Sprache wird dann nicht separiert.
Eplan P8 v2.9 SP1 mit Update 14 kommt aktuell zum Einsatz.
Vielleicht hat Jemand von Euch eine Idee oder kann mir ggf. vorhandenen Tomaten von den Augen nehmen.
Danke und Gruss,
Michael
eventuell kann mir einer von Euch bei einem Script-Problem helfen.
Auf Basis von Suplanus-Blog und den Git-Beispielen sowie dem Buch Eplan automatisieren von Johann Weiher habe ich ein Script erstellt, welches einen Eintrag im Hauptmenü anlegt um eine Aktion auszuführen.
Wenn ich das Script mit einem festen String für die Bezeichnungen versehe, wird das Script in Eplan geladen und kann ausgeführt werden.
Wenn ich nun aber eine mehrsprachige Version mit MultiLangString erstelle, meckert Eplan wie folgt rum:
CS1503 (Zeile:182, Spalte:17): Argument '3': Konvertierung von 'Eplan.EplApi.Base.MultiLangString' in 'string' nicht möglich.
CS1503 (Zeile:184, Spalte:17): Argument '5': Konvertierung von 'Eplan.EplApi.Base.MultiLangString' in 'string' nicht möglich.
Zeile 182 und 184 sind die Einträge für den Menüeintrag und den Statustext.
Code:
[DeclareMenu] // Added menu items
public void MenuFunction()
{
Eplan.EplApi.Gui.Menu oMenu = new Eplan.EplApi.Gui.Menu();
// Add multilanguage support for german and english language
MultiLangString strExportItem = new MultiLangString();
strExportItem.AddString(ISOCode.Language.L_de_DE, "PDF-Export nach Einbauorten getrennt");
strExportItem.AddString(ISOCode.Language.L_en_US, "PDF Export by Mounting Locations");
MultiLangString strExportStatus = new MultiLangString();
strExportStatus.AddString(ISOCode.Language.L_de_DE, "Export aller Einbauorte als separate PDF-Datei");
strExportStatus.AddString(ISOCode.Language.L_en_US, "Export of all mounting locations as separate PDF files");
oMenu.AddMainMenu(
"Bellmer-Tools", // Name: Menü
Eplan.EplApi.Gui.Menu.MainMenuName.eMainMenuHelp, // Add main menu after Help-menu item
strExportItem, // Name: Menu item
"BGC_PDFPerLocationAction /rootFolder:\"C:\\EPLAN_Export\\_PDF Export\"", // Name: Action
strExportStatus, // Status text
int.MaxValue // 1 = behind menu item, 0 = before menu item
);
}
Wenn ich die Funktion erweitere um .ToString() bei beiden Variablen lädt das Script und legt auch den Menüeintrag an, aber dann stehen beide Einträge als ein gemeinsamer String im Menü, die Sprache wird dann nicht separiert.
Eplan P8 v2.9 SP1 mit Update 14 kommt aktuell zum Einsatz.
Vielleicht hat Jemand von Euch eine Idee oder kann mir ggf. vorhandenen Tomaten von den Augen nehmen.
Danke und Gruss,
Michael