Delphi-PRAXiS
Seite 2 von 2     12   

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Sonstige Fragen zu Delphi (https://www.delphipraxis.net/19-sonstige-fragen-zu-delphi/)
-   -   Delphi Package erstellen und verwenden (https://www.delphipraxis.net/94358-package-erstellen-und-verwenden.html)

Helmi 22. Jun 2007 12:22

Re: Package erstellen und verwenden
 
versteh ich jetzt inhaltlich ned

ich hab doch keine objekte

mkinzler 22. Jun 2007 12:28

Re: Package erstellen und verwenden
 
Eigentlich ist der erste Satz bedeutend.
Die Formklasse, welche du erzeugst ist auch ein Objekt

Helmi 22. Jun 2007 12:33

Re: Package erstellen und verwenden
 
und was muss ich jetzt ändern?

mkinzler 22. Jun 2007 12:39

Re: Package erstellen und verwenden
 
Liste der Anhänge anzeigen (Anzahl: 1)
Den Haken setzen

Helmi 22. Jun 2007 12:50

Re: Package erstellen und verwenden
 
ah - wunderbar

danke!

Helmi 22. Jun 2007 13:36

Re: Package erstellen und verwenden
 
Ich hätt da noch eine Frage:

Bei dem obigen Beispiel wird ja eine Form angezeigt.

Ich möcht nun aber folgendes machen:

In ein vorhandenes Projekt möcht ich eine Funktion hinzufügen, die in einem Package hinterlegt ist (es handelt sich um einen Rave-Report).

Da man aber für einen Rave-Report keine Form braucht, dacht ich mir, ich erstelle nur eine Unit, bastel mir ein Create und einen Destructor und arbeite da drin mit den Komponenten.

Findet das MainProgramm die bpl dann wird die funktion durchgeführt.

Mein Problem ist, nun dieses alles zu programmieren.

Ich dacht mir ich bastel einfach eine Unit, nämlich so:
Delphi-Quellcode:
unit Unit2;

interface

uses
  Classes;

type
  TTest = class(TComponent)

  private
    { Private-Deklarationen }
  public
    { Public-Deklarationen }
    constructor Create;
    destructor Destroy;
  end;

implementation

constructor TTest.Create;
var
  S: String;

begin
  //
  S := 'hallo';
end;

destructor TTest.Destroy;
begin
//
  inherited;
end;

initialization
  RegisterClass(TTest);

finalization
  UnRegisterClass(TTest);

end.
Und so aufgerufen im Mainprogramm:
Delphi-Quellcode:
var
  PackageModule : HModule;
  AClass       : TPersistentClass;
  Datei        : String;

begin
  Datei := ExtractFilePath(Application.ExeName) + 'Package1.bpl';

  If not FileExists(Datei) then
    begin
      ShowMessage(Datei + ' nicht vorhanden!');

      exit;
    end;

  PackageModule := LoadPackage(Datei);
  If PackageModule <> 0 then
    begin
      AClass := GetClass('TTest');

      If Assigned(AClass) then
        with TComponentClass(AClass).Create(Application) as TComponent do
          begin
//            ShowModal;
            Free;
          end;

      UnloadPackage(PackageModule);
    end;
Nur glaub ich, dass ich mich in irgendwas verrenne!

Kann mir jemand einen Tip geben, ob ich auf dem richtigen weg bin und falls nciht, wie man es richtig macht?


Alle Zeitangaben in WEZ +1. Es ist jetzt 21:51 Uhr.
Seite 2 von 2     12   

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