AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Thema durchsuchen
Ansicht
Themen-Optionen

Runtime Packages

Ein Thema von Prototypjack · begonnen am 8. Jan 2008 · letzter Beitrag vom 8. Jan 2008
Antwort Antwort
Seite 1 von 2  1 2      
Prototypjack

Registriert seit: 2. Feb 2003
611 Beiträge
 
Delphi 2009 Professional
 
#1

Runtime Packages

  Alt 8. Jan 2008, 15:15
Moin,

Ich hatte kürzlich eine Unterhaltung mit einem Delphi Programmierer (der übrigens hier auch User ist, aber da ich nicht weiß, ob ich ihn nenne darf, möge er das selbst tun wenn er den Thread hier liest).

Ich hatte in letzter Zeit sehr viel mit Komponentenprogrammierung zu tun (richtige Component-Packs, inklusive IDE-Editoren, etc.). Irgendwann stellt ich mir dann die Frage wieso Design und Runtime Packages getrennt werden und ich fand auch zu der Antwort: Designtime Packages sind nur für die IDE bestimmt, könnten theoretisch zwar auch gleich für das Programm verwendet werden, aber oft verbietet das die Lizenz der verwendeten Units. Runtime Packages hingegen sind ... ja wofür sind die eigentlich?

Das war die Kernfrage in unserer Unterhaltung. Denn in den Jahren (und das sind schon ein paar) in denen ich Delphi aktiv nutze, war ich daran gewöhnt immer die Komponente auf die Form zu setzen und dann deren Pfad zum "Suchpfad" hinzuzufügen. Scheinbar, so das Ergebnis des Chats, ist dies aber gar nicht nötig, denn die Runtime Packages fungieren selbst als Wurzeln der Komponenten und werden direkt in eine Exe gelinkt (in diesem Fall haben die Dinger einen Sinn und ich verstehe auch wozu sie gut sind).

Stellt sich aber die Frage, wieso er dann bei mir (alle meine Packages, ob meine oder die von Fremdkomponenten sind im Standard-Path; Sowohl Designtime, als auch Runtime Packs) trotzdem, sobald die Komponente auf der Form liegt, entweder die *.dcu oder *.pas Dateien verlangt. Denn dann wären die Runtimes ja widersinnig.

Also bleiben nur wenige Möglichkeiten:
Ich habe etwas falsch verstanden.
Ich habe Recht, aber dann sind Runtimes grundsätzlich sinnlos, was ich mir nicht vorstellen kann.
Hier läuft etwas gewaltig falsch und das schon seit Jahren.

Ich hoffe ernsthaft es ist die letzte Möglichkeit, denn das Konzept würde vieles erleichtern (und tut das wahrscheinlich schon täglich bei jedem außer mir ), sollte sich eine Lösung für das Problem finden.

Danke schonmal & Grüße,
Max
Max
„If you have any great suggestions, feel free to mail me, and I'll probably feel free to ignore you.“ . Linus Torvalds
  Mit Zitat antworten Zitat
generic

Registriert seit: 24. Mär 2004
Ort: bei Hannover
2.415 Beiträge
 
Delphi XE5 Professional
 
#2

Re: Runtime Packages

  Alt 8. Jan 2008, 15:24
design pack werden nur von der ide genutzt und enthalten z.b. besondere editoren für die komponente(n).

runtime pack nutzt du, wenn du nicht alles in deine exe kompilieren willst.
z.b. wenn du 10 exen auslieferst. diese würden dann 10 mal die komponente enthalten was unsinnig wäre.
in den falle kannst du gegen das runtimepack linken.
ergebnis eine runtime datei und die 10 exen welche alle etwas kleiner sind.
Coding BOTT - Video Tutorials rund um das Programmieren - https://www.youtube.com/@codingbott
  Mit Zitat antworten Zitat
Prototypjack

Registriert seit: 2. Feb 2003
611 Beiträge
 
Delphi 2009 Professional
 
#3

Re: Runtime Packages

  Alt 8. Jan 2008, 15:27
Zitat von generic:
design pack werden nur von der ide genutzt und enthalten z.b. besondere editoren für die komponente(n).

runtime pack nutzt du, wenn du nicht alles in deine exe kompilieren willst.
z.b. wenn du 10 exen auslieferst. diese würden dann 10 mal die komponente enthalten was unsinnig wäre.
in den falle kannst du gegen das runtimepack linken.
ergebnis eine runtime datei und die 10 exen welche alle etwas kleiner sind.
Schon klar, das ist der zweite "DLL"-Nutzen, den kannte ich bereits. Das hatte ich vergessen zu erwähnen, Entschuldigung.

Aber es stellt sich in diesem Fall die Frage, wieso es Runtimes bei Komponenten gibt.
Ich wäre euch sehr dankbar wenn man mir die obige Aussage bezüglich der *.dcu/*.pas Dateien bestätigen oder den Wind aus den Segeln nehmen könnte.

Grüße,
Max
Max
„If you have any great suggestions, feel free to mail me, and I'll probably feel free to ignore you.“ . Linus Torvalds
  Mit Zitat antworten Zitat
mkinzler
(Moderator)

Registriert seit: 9. Dez 2005
Ort: Heilbronn
39.851 Beiträge
 
Delphi 11 Alexandria
 
#4

Re: Runtime Packages

  Alt 8. Jan 2008, 15:29
Zitat:
. ja wofür sind die eigentlich?
Hier steckt die eigentlich Funktion der kompo drin (die im Programm benötigt wird, also nicht Propertyeditoren usw.)
Zitat:
denn die Runtime Packages fungieren selbst als Wurzeln der Komponenten und werden direkt in eine Exe gelinkt
nur bei statischer Bindung
Zitat:
trotzdem, sobald die Komponente auf der Form liegt, entweder die *.dcu oder *.pas Dateien verlangt.
Braucht man eigentlich nicht, wenn du nicht gerade den Source sehen willst. Die RT-Bpl muss aber im Pfad der IDE liegen.
Markus Kinzler
  Mit Zitat antworten Zitat
Prototypjack

Registriert seit: 2. Feb 2003
611 Beiträge
 
Delphi 2009 Professional
 
#5

Re: Runtime Packages

  Alt 8. Jan 2008, 15:45
Zitat von mkinzler:
Zitat:
. ja wofür sind die eigentlich?
Hier steckt die eigentlich Funktion der kompo drin (die im Programm benötigt wird, also nicht Propertyeditoren usw.)
Zitat:
denn die Runtime Packages fungieren selbst als Wurzeln der Komponenten und werden direkt in eine Exe gelinkt
nur bei statischer Bindung
Zitat:
trotzdem, sobald die Komponente auf der Form liegt, entweder die *.dcu oder *.pas Dateien verlangt.
Braucht man eigentlich nicht, wenn du nicht gerade den Source sehen willst. Die RT-Bpl muss aber im Pfad der IDE liegen.
Die statisch Bindung war mir ebenfalls bereits bekannt. Aber dabei muss man die Packages ja mit ausliefern, was für mich nicht in Frage kommt.

Dein letzter Satz ist genau das was ich wissen will. Denn die BPLs dürften ja (im Standardpath, wo sie liegen) sichtbar für die IDE sein (müssen sie sogar, denn die Designtime Packages sind ebenfalls dort und ich kann sie in der IDE verwenden). Also: Gibt es irgendeine Möglichkeit ein Programm mit einer Komponente zu kompilieren, ohne den Suchpfad um den Pfad der zugehörigen *.dcu/*.pas Dateien erweitern zu müssen (also nur per Package?)

Danke & Grüße,
Max
Max
„If you have any great suggestions, feel free to mail me, and I'll probably feel free to ignore you.“ . Linus Torvalds
  Mit Zitat antworten Zitat
mkinzler
(Moderator)

Registriert seit: 9. Dez 2005
Ort: Heilbronn
39.851 Beiträge
 
Delphi 11 Alexandria
 
#6

Re: Runtime Packages

  Alt 8. Jan 2008, 15:48
Zitat:
Die statisch Bindung war mir ebenfalls bereits bekannt. Aber dabei muss man die Packages ja mit ausliefern, was für mich nicht in Frage kommt.
Nein hierbei wird der Inhalt in die Exe kompilliert. was du meinst is dynamische Bindung
Markus Kinzler
  Mit Zitat antworten Zitat
Prototypjack

Registriert seit: 2. Feb 2003
611 Beiträge
 
Delphi 2009 Professional
 
#7

Re: Runtime Packages

  Alt 8. Jan 2008, 15:51
Hoppsa, da hatte ich wohl etwas verwechselt.
Also ist dann die statische Bindung das was ich suche? Sprich, die Möglichkeit Komponenten ohne DCU/Pas zu kompilieren?
Wenn ja, wie mache ich dann der IDE klar, das ich genau das will?

Grüße,
Max
Max
„If you have any great suggestions, feel free to mail me, and I'll probably feel free to ignore you.“ . Linus Torvalds
  Mit Zitat antworten Zitat
shmia

Registriert seit: 2. Mär 2004
5.508 Beiträge
 
Delphi 5 Professional
 
#8

Re: Runtime Packages

  Alt 8. Jan 2008, 16:09
Zitat von Prototypjack:
Also ist dann die statische Bindung das was ich suche? Sprich, die Möglichkeit Komponenten ohne DCU/Pas zu kompilieren?
Wenn ja, wie mache ich dann der IDE klar, das ich genau das will?
http://www.dsdt.info/grundlagen/ide/packages.php
Du brauchst die *.bpl und die *.dcp Dateien.
Für die statische Bindung zieht sich Delphi die DCU-Dateien aud der DCP-Datei raus.
Andreas
  Mit Zitat antworten Zitat
Benutzerbild von alias5000
alias5000

Registriert seit: 10. Sep 2005
Ort: Heilbronn
268 Beiträge
 
#9

Re: Runtime Packages

  Alt 8. Jan 2008, 16:14
Zum Thema Design- und Runtimepackages.
Du hast ja Code, der nur zur Designtime benötigt wird. Ein Beispiel sind Editoren im Objektinspektor. Dieser Code wird nicht zur Laufzeit benötigt und kommt damit ins Designtimepackage. Was zur Laufzeit benötigt wird, ist der eigentliche Code, damit die Komponente ihren Dienst verrichtet, den sie in deinem Programm auch verrichten muss. Und dieser Code kommt dann ins Runtimepackage.
Es wird also überflüssiger Code aus der Exe ferngehalten

Gruß
alias5000
Im Interesse der Purierung des germanischen Ideoms ist es opertum den immensen Usus peregrieder Verben auf ein Minimum zu reduzieren.
--> www.lanchat2.de <---
  Mit Zitat antworten Zitat
Muetze1
(Gast)

n/a Beiträge
 
#10

Re: Runtime Packages

  Alt 8. Jan 2008, 16:24
Was man dazu noch erwähnen sollte: Ab Delphi 7 afaik liefert Borland nicht mehr die .PAS der DesignIntf mit und dadurch zwingt CodeGear einen PropertyEditor-Programmierer dazu, Designtime- und Runtimepackages anzulegen. Für ein gemischtes Package (Design & Runtime) würde er die DesignIntf.pas benötigen, genauso wie bei einem Runtime Package.

Nur im Designtimepackage kann man das Dsgntime.dcp als required mit aufnehmen, welche dann die DesignIntf.pas benötigt.
  Mit Zitat antworten Zitat
Antwort Antwort
Seite 1 von 2  1 2      


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 02:51 Uhr.
Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz