Einzelnen Beitrag anzeigen

Benutzerbild von Helmi
Helmi

Registriert seit: 29. Dez 2003
Ort: Erding, Republik Bayern
3.323 Beiträge
 
Delphi XE2 Professional
 
#16

Re: Package erstellen und verwenden

  Alt 22. Jun 2007, 14:36
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?
mfg
Helmi

>> Theorie ist Wissen, dass nicht funktioniert - Praxis ist, wenn alles funktioniert und keiner weiss warum! <<
  Mit Zitat antworten Zitat