Zitat von
KSebi:
Zitat von dir: "Die dcl*.bpl Dateien gehören installiert. Die ohne das "dcl" nur kompiliert."
& "dann darf man dieses
Package nicht mehr an Endkunden weitergeben"
Muss ich die Sätze jetzt Wort für Wort erklären?
Bei Indy10 gibt es, wie bei fast allen "Komponenten-Packages", zwei Typen von Packages. Designtime Only und Runtime Only. Die Designtime Only sind für die Delphi/BCB
IDE und greifen auf die Runtime Packages zu, die wiederum für die erzeugten Programme da sind.
Nun ist es so, dass wenn man eine .dpk Datei öffnet, dass man zwei Buttons hat: "Kompilieren" und "Installieren". Die zwei Buttons sind dafür da, dass man ein Designtime Only
Package installiert und ein Runtime Only
Package nur kompiliert. Versucht man ein Runtime Only
Package zu installieren, dann kommt die Fehlermeldung, die in dem oben genannten Tutorium unterdrückt werden soll. Dafür wird einfach aus dem Runtime Only
Package ein Design- und Runtime
Package gemacht. Nun lässt sich dieses Installieren.
Dieser Weg ist aber gerade der falsche. Nur weil man zu faul, dumm oder sonstwas ist, das richtig zu machen, und das Runtime
Package nur zu "kompilieren" statt zu "installieren", ist das keine Lösung, denn man handelt sich damit meist unwissentlich ein Lizenzproblem ein, weil man bei der Weitergabe der .bpl Datei dadurch gegen die Lizenzvereinbarung mit Borland verstößt. Es gilt deshalt: Designtime Packages haben nichts, aber auch gar nichts, beim Endkunden zu suchen (außer es handelt sich um andere Delphi/BCB-Entwickler, die die abhängigen Packages wie designide usw. ja bereits besitzen).
Wie macht man es richtig:
Ganz einfach man kompiliert die Runtime Packages und installiert nur die Designtime Packages.
Und wie bekommt man heraus, was ein Runtime und was ein Designtime
Package ist?
Zum einen kennzeichnen die meisten Entwickler ihre Packages mit einen Prefix oder Postfix. Oft genutzte sind hier: dclXXX.dpk für Designtime und ohne Prefix für Runtime (was Endkunden BPLs bessere Namen beschehrt), oder wie es die JCL und die JVCL machen: xxxDvv.dpk für Designtime bzw. xxxRvv.dpk.
Und wenn man es nicht über den Dateinamen herausbekommen sollte, dann gibt es immernoch die Möglichkeit in den Projektoptionen des Packages nachzuschauen. Und wenn einem das zu viel Arbeit ist, kann man auch Runtime Packages "installieren" und erhält eben die Fehlermeldung, dass man ein Runtime
Package nicht installieren kann.
Ein Grund, warum manche den "falschen" Weg gehen ist auch, dass sie damit die Unbeliebte Meldung beim Starten von Delphi/BCB meiden, die besagt, dass dieses und jenes
Package nicht gefunden wurde und ob man es beim nächsten Mal wieder laden will.
Diese Meldung kommt aber auch nur deswegen, weil die Runtime Packages nicht in einem Ordner geladet sind, der in der PATH-Umgebungsvariable steht. Und kann somit ganz einfach behoben werden, indem man den Ordner eben dort einträgt, oder die Runtime Packages an einen entsprechenden Ort verlegt, wie es z.B. $(DELPHI)\Projects\
Bpl bzw. $(BDSPROJECTSDIR)\
Bpl ist. Dieses Verzeichnis ist bei einer richtig verlaufenen Delphi-Installation immer in der PATH-Umgebungsvariable. Ist es das nicht, dann sollte man das schleunigst nachholen. Ab Delphi 2005 meckert die
IDE auch, wenn das nicht der Fall ist.
Will man seine PATH-Umgebungsvariable aber nicht ändern, aus welchen Gründen auch immer, dann kann man das bei Delphi auch direkt in der
IDE über "Tools/Umgebungsoptionen/Umgebungsvariablen" machen. Diese Überschreibung von PATH gilt dann nur für alles was in der
IDE genutzt und auch von ihr aus gestartet wird.
Reicht das oder muss ich noch weiter ausholen und bei Adam und Eva anfangen?
Rechtschreib- und Grammatikfehler können behalten werden.