Legacy-Module

Legacy-Module sind Module, deren Spezifikationsdatei qmldir keine Modulbezeichner-Direktive enthält. Ein Legacy-Modul kann entweder in den QML-Importpfad installiert werden (als installiertes Legacy-Modul) oder von Clients mit einem relativen Import importiert werden (als lokalisiertes Legacy-Modul). Den Kunden wird empfohlen, die Verwendung von Legacy-Modulen nach Möglichkeit zu vermeiden. Modulentwickler sollten sicherstellen, dass sie identifizierte Module und keine Legacy-Module erstellen.

Installierte Legacy-Module

Ein installiertes, nicht identifiziertes Modul wird von der QML-Engine automatisch mit einem Bezeichner versehen. Dieser implizit definierte Bezeichner ist gleich dem Installationspfad des Moduls (relativ zum QML-Importpfad), wobei Verzeichnis-Trennzeichen durch Punkt-Zeichen ersetzt werden.

Ein nicht identifiziertes Modul, das im QML-Importpfad installiert ist, hat die folgende Semantik:

  • es kann von Clients über den impliziten Modul-Identifikator importiert werden
  • Clients müssen beim Importieren des Moduls eine Version angeben
  • Widersprüchliche Typnamen werden von der QML-Engine willkürlich aufgelöst, und die Art und Weise, wie Konflikte aufgelöst werden, ist nicht garantiert, dass sie zwischen verschiedenen Versionen von QML gleich bleiben.
  • Andere Legacy-Module können Typdefinitionen, die vom installierten Legacy-Modul bereitgestellt werden, ändern oder außer Kraft setzen.

Lokalisierte Legacy-Module

Ein nicht identifiziertes Modul, das über eine Importanweisung mit relativem Verzeichnispfad importiert wird, wird von der Engine als lokalisiertes Legacy-Modul geladen. Für lokalisierte Legacy-Module gilt die folgende Semantik

  • es kann von Clients über einen relativen Importpfad importiert werden
  • die Clients müssen beim Importieren des Moduls keine Version angeben
  • Wenn der Client in der Importanweisung keine Importversion angibt, gibt die QML-Engine keine Garantien darüber, welche Version der Definition eines bestimmten Typnamens importiert wird.
  • Widersprüchliche Typnamen werden von der QML-Engine willkürlich aufgelöst, und es ist nicht garantiert, dass die Art und Weise, wie Konflikte aufgelöst werden, zwischen verschiedenen Versionen von QML gleich bleibt.
  • andere Legacy-Module können Typdefinitionen, die von dem lokalisierten Legacy-Modul bereitgestellt werden, ändern oder außer Kraft setzen

Ein lokalisiertes Legacy-Modul kann sich auf dem lokalen Dateisystem oder im Netzwerk befinden und kann über eine URL angesprochen werden, die den Dateisystempfad oder die Netzwerk-URL angibt.

© 2025 The Qt Company Ltd. Documentation contributions included herein are the copyrights of their respective owners. The documentation provided herein is licensed under the terms of the GNU Free Documentation License version 1.3 as published by the Free Software Foundation. Qt and respective logos are trademarks of The Qt Company Ltd. in Finland and/or other countries worldwide. All other trademarks are property of their respective owners.