AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Sprachen und Entwicklungsumgebungen Sonstige Fragen zu Delphi Delphi Runtime-Packages, visual inheritance, Updaten der Runtime-Packages ohne exe-Update
Thema durchsuchen
Ansicht
Themen-Optionen

Runtime-Packages, visual inheritance, Updaten der Runtime-Packages ohne exe-Update

Ein Thema von RSE · begonnen am 9. Nov 2012 · letzter Beitrag vom 12. Nov 2012
Antwort Antwort
Benutzerbild von sx2008
sx2008

Registriert seit: 15. Feb 2008
Ort: Baden-Württemberg
2.332 Beiträge
 
Delphi 2007 Professional
 
#1

AW: Runtime-Packages, visual inheritance, Updaten der Runtime-Packages ohne exe-Updat

  Alt 10. Nov 2012, 12:49
Wenn ich das richtig verstanden habe, gibt es 3 Arten, ein Package einzubinden:
  1. Als Entwurfszeitpackage (wird direkt in die exe gelinkt)
  2. Als statisches Runtimepackage - benötigt bpl zur Runtime + dcp zur Designtime (wird beim Laden der exe gelinkt)
  3. Als dynamisches Runtimepackage - benötigt bpl zur Runtime (ich muss die Library selbst ähnlich wie eine DLL mit LoadPackage einbinden - siehe 1. Post)
Da hast du etwas falsch verstanden.
Design-Time-Packages werden ausschlieslich von der Delphi-IDE geladen und benützt.
Sehr häufig benützt das Design-Time-Package ein Runtime-Package damit Komponenten innerhalb der IDE "leben" können.
Es gibt aber auch Design-Time-Packages, die ganz ohne Runtime-Packages daherkommen.
Sie enthalten sog. "Experten" also Erweiterungen der Delphi-IDE.

Nur Runtime-Packages können später in Anwendungen benützt werden.
  Mit Zitat antworten Zitat
Benutzerbild von Uwe Raabe
Uwe Raabe

Registriert seit: 20. Jan 2006
Ort: Lübbecke
11.756 Beiträge
 
Delphi 12 Athens
 
#2

AW: Runtime-Packages, visual inheritance, Updaten der Runtime-Packages ohne exe-Updat

  Alt 10. Nov 2012, 14:24
Nur Runtime-Packages können später in Anwendungen benützt werden.
Und Runtime-Packages können sowohl statisch als auch dynamisch gelinkt werden. Sobald eine Unit eines Runtime-Packages direkt im Quellcode referenziert wird, muss das Package statisch gelinkt werden (heißt, es wird beim Programmstart geladen). Die Units eines dynamischen Package sind beim Compilieren der Exe nicht bekannt.
Uwe Raabe
Certified Delphi Master Developer
Embarcadero MVP
Blog: The Art of Delphi Programming
  Mit Zitat antworten Zitat
RSE

Registriert seit: 26. Mär 2010
254 Beiträge
 
Delphi XE Enterprise
 
#3

AW: Runtime-Packages, visual inheritance, Updaten der Runtime-Packages ohne exe-Updat

  Alt 10. Nov 2012, 18:49
OK, das mit den Packages hab ich jetzt verstanden. Die wichtigste Frage bleibt aber offen. Wie ich oben verlinkt habe, kann ich nur visuell von einer Form ableiten, wenn die Basisklasse im gleichen Modul definiert ist oder statisch ins Modul gelinkt wird. Die Compiler-Option des statischen Linkens ist aber bei Packages deaktiviert. Kann ich also in Packages grundsätzlich keine visuelle Ableitung von einer außerhalb des Packages definierten Klasse vornehmen? Damit würde mein ganzer Ansatz nicht mehr aufgehen.
"Seit er seinen neuen Computer hat, löst er alle seine Probleme, die er vorher nicht hatte."
  Mit Zitat antworten Zitat
RSE

Registriert seit: 26. Mär 2010
254 Beiträge
 
Delphi XE Enterprise
 
#4

AW: Runtime-Packages, visual inheritance, Updaten der Runtime-Packages ohne exe-Updat

  Alt 12. Nov 2012, 10:18
Wenn man weiß, wie es geht, ist alles so einfach... Hier ist die Lösung:

Ich brauche eine Projektgruppe mit
  1. Der Application, in der auch mein Basisframe definiert wird
  2. Ein Package für jede spezialisierte Aktion
Um die visuelle Ableitung im Package umsetzen zu können, müssen alle Units zum Package-Projekt hinzugefügt werden, auf die das visuell abgeleitete Form visuell aufbaut. Das heißt, wenn ich in meiner Application direkt von TForm ein TCustomBase ableite und davon wiederum ein TBase visuell ableite, dann muss ich die Units mit TCustomBase und TBase zum Package hinzufügen, um im Package von TBase visuell ableiten zu können. Das bedeutet, dass der Code für die Basisklassen in jedem compilierten Package kopiert enthalten ist und ich somit alle Packages neu compilieren muss, wenn ich an den Basisklassen etwas geändert habe. Das ist zwar unschön, aber für mich akzeptabel.

Wenn sich die Änderung an den Basisklassen nur auf den implementation-Abschnitt beschränkt, dann muss ich nur die Packages neu compilieren, in denen sich die Änderung auswirken soll, die Application brauche ich in diesen Fällen nicht neu compilieren, da ich von der Application aus nur das Interface anspreche/nur den interface-Abschnitt verwende, um die Instanzen der spezialisierten Klassen aus den Packages zu steuern.
"Seit er seinen neuen Computer hat, löst er alle seine Probleme, die er vorher nicht hatte."
  Mit Zitat antworten Zitat
Antwort Antwort


Forumregeln

Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are aus

Gehe zu:

Impressum · AGB · Datenschutz · Nach oben
Alle Zeitangaben in WEZ +1. Es ist jetzt 13:17 Uhr.
Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024-2025 by Thomas Breitkreuz