Api Änderungen
Version 24.2.30
Breaking Changes:
Die Netzwerkverfolgung (Networktracing) musste komplett geändert werden um die neue, erheblich schneller Netzwerkverfolgung via MapEdit Core anzubinden. Die neue Netzwerkverfolgung zeigt das Ergebnis der Verfolgung erst am Ende an.
Die schneller Netzwerkverfolgung wird nur genutzt wenn MapEdit mit MapEdit Core verbunden ist, ansonsten wird die alte Verfolgung benutzt.
Code Bespiele der neuen API finden Sie hier:
https://help.mapedit.de/api/DesktopApi/networktracing
Version 23.2.143
Breaking Changes:
Typen Änderung bei SqlQuery.ResultColumns
Der Typ wurde von DbColumnDefinitionCollection auf SqlColumnDefinitionCollection geändert.
Die Spalten Definition ist nun vom Typ SqlColumnDefinition (vorher DbColumnDefinition)
und liefert nur noch den Name und DataType zurück.
Wenn weitere Informationen zu einer Spalte beneotigt werden müssen diese nun über die Columns Eigenschaft der Tabellendefinition geholt werden.
Beispiel: connection.GetSchemaDefinition().Tables["BAUM"].Columns["FID"].Length
VB.NET
Falls sie weiterhin VB.NET benutzen raten Ihnen von VB.NET auf C# umzusteigen.
In VB.NET kann weiterhin in MapEdit benutzt werden. Hotline Unterstützung kann jedoch nur für C# Code gegeben werden.
Per default ist beim anlegen von neuen Scripten immer C# eingestellt und C# Code erzeugt.
anderes
Es gibt bei der Installation keine API Samples mehr. Code Beispiele sind nur noch in dieser Online Hilfe zu finde. Die alte PDF Datei "MuM MapEdit API Documentation - en.pdf" wird nicht mehr gepflegt und ausgeliefert und ist nicht aktuell.
Version 23.2.55
Der "Hochladen Knopf" bei den Plugin Einstellungen der MapEdit AppBuilder Projekten kann nun auch direkt Plugin DLLs hochladen.
Auf dem Server wird dann automatisch die Dateiendung nach .xap" geändert.
Desweiteren wird, wenn vorhanden auch die ".pdb" Datei hochgeladen. Diese Datei enhält Debug Informationen und kann im Fehlerfall Hilfreiche Informationen wie die Fehlerzeile etc bereitstellen.
Version 23.1.261
Es gibt mit dieser Version nun einen neuen Kommandozeilen Befehl "InlinePlugIn".
Hiermit können Plugins getestet und gedebugt werden ohne das ein
MapEdit Server auf dem Entwicklungsrechner installiert sein muss
und ohne das das Plugin für andere ausser dem Entwickler sichtbar ist.
Weitere Details finden Sie hier: https://help.mapedit.de/api/DesktopApi/CreatePlugin#projekt-testendebuggen
Wenn Sie dies nutzten wollen und keine lokale MapEdit Server Installation auf Ihrem Enticklungsrechner haben, sollten Sie bei den Projekt Eigenschaften ihres Visual Studio Projektes bei bereits vorhandenen Projekten den Eintrag
"$(ProjectDir)..\..\CoreDLLs\PostBuildTool.exe" PublishWpfPlugin $(TargetPath)
unter "Build Events->Post-build event command line" entfernen.
Version 23.1.
Mit dieser Version wurden alle DLLs intern auf Visual Studio 2022 umgestellt. Wenn Sie kein Visual Studio 2019 haben können jedoch weiterhin Visual Studio 2019 nutzten.
Desweiteren werden ab sofort alle DLL als x64 DLL kompiliert. Damit der XAML Designer unter Visual Studio 2022 funktioniert musste die Eigenschaftt "IsVisible" bei den XSystem Control nach "Visible" umbenannt werden.
Alle Ausgabepfade wurden nach "Debug\x64\Bin\" geändert.
Der Namespace "XESystem" der Internen DLL XSystem.dll entfällt absofort und es sind statt dessen die Controls im Namespace XSystem zu nutzen.
Für interne Projekte kann das Tool "ApiSamples\DeveloperTools" genutzt werden um von XESystem nach XSystem umzustellen. Damit können 80% der Fälle erschlagen werden. Das Tool liegt im Quellcode vor und kann auf eigene Bedürfnisse angepasst werden.
Wahlweise kann die DLL "CoreDlls/XESystem.Compatibility.dll" eingebunden werden. Diese simuliert die alten XESystem Controls. Diese DLL sollte nie in MuM eigenen Projekten verwendet werden!
Die DLL XSystem.dll ist nicht teil der MapEdit API und kann ohne Vorwarnung
geändert werden. Dies DLL ist eine MuM Interne DLL!
Nutzung dieser DLL geschieht immer auf eigene Gefahr und ohne Gewähr!
XMsgBox.Show/ShowException sind jetzt immer modal. XMsgBox Close Event wurde obsolete gesetzt.