![]() |
Re: Package erstellen und verwenden
versteh ich jetzt inhaltlich ned
ich hab doch keine objekte |
Re: Package erstellen und verwenden
Eigentlich ist der erste Satz bedeutend.
Die Formklasse, welche du erzeugst ist auch ein Objekt |
Re: Package erstellen und verwenden
und was muss ich jetzt ändern?
|
Re: Package erstellen und verwenden
Liste der Anhänge anzeigen (Anzahl: 1)
Den Haken setzen
|
Re: Package erstellen und verwenden
ah - wunderbar
danke! |
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:
Und so aufgerufen im Mainprogramm:
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.
Delphi-Quellcode:
Nur glaub ich, dass ich mich in irgendwas verrenne!
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; 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. |
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