Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   GUI-Design mit VCL / FireMonkey / Common Controls (https://www.delphipraxis.net/18-gui-design-mit-vcl-firemonkey-common-controls/)
-   -   Delphi Runtime Packages problem (https://www.delphipraxis.net/66024-runtime-packages-problem.html)

bundy 23. Mär 2006 16:54


Runtime Packages problem
 
Hallo Leute

ist mal wieder so weit.

Ich hab fogendes Problem oder Anliegen.

Ich hab ein Runtime Package mit einem Form drin.

Ich lade das Package mit

Delphi-Quellcode:

procedure TForm4.Button1Click(Sender: TObject);

var
  PackageModule: HModule;
  AClass: TPersistentClass;
begin
  PackageModule := LoadPackage('addon.bpl');
  if PackageModule <> 0 then
  begin
    AClass := GetClass('TForm5');

    if AClass <> nil then
      with TComponentClass(AClass).Create(Application)
        as TCustomForm do
      begin

        Show;
       // Free;
      end;

  //  UnloadPackage(PackageModule);
  end;
Das funktioniert auch wunderbar :)

So nun zu meinem Problem:

Das ganze funktioniert wunderbar auf dem Rechner wo Delphi installiert ist, und auch alle anderen .bpl´s.
Aber wie mach ich das , das die Package´s die im Mainform drinnen sind mit in die EXE compiliert werden, und nur das Package das ich laden will als addon.bpl bereitstellen muss.

Weil momentan verlangt er dann das rtl100.bpl uvm.
Ich will aber nur das er das addon.bpl laden soll .
Wenn ich unter Prijekt|Optionen|Packages "Laufzeit-Packages verwenden" nicht selektiere, dann macht er mir mein addon.bpl auch nicht auf :(

Hat jemand von euch eine Idee wie ich das auf die Reihe bekomme ?

Ich bedanke mich im Voraus

lg
Bundy

Elvis 23. Mär 2006 17:55

Re: Runtime Packages problem
 
Schaue dir die Requires clause deines Packages an.
Alle diese Packages packst du in die Liste, die du bei "build with RT Packages" angeben kannst.
Diese Packages _müssen_ für deine Echse Echse sichtbar sein.
Bei einer Delphi Installation wird der Ausgabeordner für BPL/DCP in die Env. Variable "path" eingetragen.
Dadurch kann man sie von überall aus öffnen. Du müsstest also in deinem Setup entweder das machen, oder diese Packages in dem Applikationsordner haben.

bundy 23. Mär 2006 18:02

Re: Runtime Packages problem
 
das ist mir klar, das ich alle Packages im Exe Ordner haben muss, aber könnte mann nicht die Packages die das Hauptbrogramm benötigt in die MAIN.exe mitkompilieren und nur das Addon Form dann laden von einer .bpl ?

bundy 23. Mär 2006 18:05

Re: Runtime Packages problem
 
Das funktioniert, aber wenn ich jetzt aufs Mainform ne neue Kompo z.B (cxdbgrid) draufschmeiss, fehlt ihm die .bpl vom Mainform auch. kann ich nicht die bpl´s die das Mainform nutz in die Exe compilieren, und nur das Addon Form aus der bpl laden ?


lg
Bundy

Elvis 23. Mär 2006 18:20

Re: Runtime Packages problem
 
nochmaaal
Die requires clause deiner Packages bestimmt, welche Units welcher Packages NICHT in die Exe kompiliert werden dürfen.
Es sollte also dein Ziel sein, die Klassen deiner AddOns von sowenig wie möglich abhängig zu machen.

bundy 23. Mär 2006 18:24

Re: Runtime Packages problem
 
ok habs jetzt endlich geschnallt.....sry für die späte erleuchtung :oops:

danke für deine Hilfe


Alle Zeitangaben in WEZ +1. Es ist jetzt 20:31 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