Laufzeitbibliotheken, Packages und Versionen
27. Mai 2005, 12:52
Hallo zusammen,
ich habe einen modularen Anwendungsrahmen entwickelt (datenbankbasierte Mehrbenutzeranwendung), der mit Einzelanwendungen in Form von Packages arbeitet. Durch die Verwendung von Packages und des technischen Designs dieses "Frameworks" ist es notwendig, dass alle Module und die Anwendung mit Laufzeitbibliotheken compiliert werden.
Da diese Module auch gepflegt und von Dritten erstellt werden können sollen, sehe ich eine Versionsproblematik kommen.
Mein bisheriger Lösungsansatz für die Pflege (Updates) von Modulen ist folgender:
- die Packages (also die Einzelanwendungen) liegen in einem Unterverzeichnis des Hauptprogramms
- der Endanwender startet die Hauptanwendung über einen "Launcher"
- der Launcher überprüft die lokalen Versionen der Packages mit denen aus der Datenbank und kopiert bei Bedarf neuere Versionen, bevor das modulare Hauptprogramm gestartet wird
Das funktioniert soweit auch.
Jetzt kommt das Thema "Laufzeitbibliotheken" hinzu. Die Packages benötigen unterschiedliche LZBs und an dieser Stelle fehlen mir einige Informationen:
1. Ich habe D7 Prof und bei der Installation werden die von allen Modulen benötigten LZBs auf den Anwender-PC kopiert (in das System32-Verzeichnis) - also in D7-Version. Gibt es hier eine Möglichkeit die LZBs auch "kontrolliert" zu nutzen, z.B. auch in einem Unterverzeichnis von der Hauptanwendung und wie sage ich meinem Programm, dass genau diese verwendet werden sollen und nicht evtl. andere auf dem Rechner vorhandene?
2. Kommt ein Dritter, der ein neues Modul mit z.B. D8 oder D9 entwickeln möchte, mit meinen unter D7 kompilierten Anwendungs-Units in *.dcu-Form klar, die dieser in sein Projekt einbinden muß?
3. Gibt es ein Problem für Dritte, wenn ich vorgebe "Diese und jene Drittkomponenten sind in dieser Version zu nutzen" und er diese Versionen benutzt, allerdings unter D8 oder D9? Laufen die von ihm erstellten Packages auch mit den von mir bereits installierten Komponenten *.bpls bzw. *.dcps?
Gruß Igotcha
|