Packages? LoadPackage?
-
Hallo!
Ich habe einen Quellcode geschrieben, darin habe ich das Formular "TExporter".
Auf diesem Formular verschiedene Komponenten.Ich möchte dieses Formular nun in einem anderen C++Builder zur Verfügung stellen, aber ohne dass dieser den Quelltext bekommt.
Das geht doch mit Packages, oder?
Ich habe versucht diese Unit vom TExporter einfach mal in ein Package zu packen. Das habe ich compiliert und dann wurde mir die Datei "Package1.bpl" erzeugt.
Wie binde ich dieses Package nun in einem anderen C++Builder wieder ein, ohne dass ich den Quellcode erhalte??
Ich habe versucht: LoadPackage("Package1.bpl");
Allerdings tut sich danach gar nix. Als hätte ich gar nix gemacht...Wie kann ich denn nun das Formular "TExporter" bei mir einfügen, so dass dieses Formular dann auch angezeigt wird?? Ist es ausserdem möglich, dass ich dann Methoden von TExporter aufrufe? Also z.B. Exporter1->Button1->Click();
Habe das mit den Packages einfach nicht so ganz verstanden. Habe auch schon gegoogelt, bin dabei auf diese Seite gestossen:
http://community.borland.com/article/0,1410,27178,00.htmlIch glaube dass dort das gemacht wird, was ich vorhabe. An der Umsetzung scheitere ich aber, weil dort leider nur Delphi gesprochen wird und mir Klassen wie "TPersistentClass" oder "HModule" nicht wirklich weiterhelfen...
Vielleicht kanns mir ja mal jemand erklären??

tschüss!
Robert
-
Ich denk' mal so:
Du musst die Dateien
- Package.lib
- Package.bpl
- Package.obj
- Package.hauf den Rechner uebertragen.
Die Package sollte dann installierbar sein auf dem PC.
Die Pfade im BCB sollten auch in den Ordner zeigen. Dann sollte es gehen.
-
Hallo!
Erstmal danke für deine Antwort!
Wo bekomme ich denn diese .h - Datei her? Die bräuchte ich, dann könnte ich wahrscheinlich auf meine Klasse "TExporter" zugreifen...
Ich habe aber nur die .bpl - Datei, die mir ins \Projects\Bpl\ Verzeichnis kopiert wird.
Was mach'n ich da falsch?
tschüss
Robert
-
Wenn Du die Kompo selber schreibst, solltest Du doch die .h Datei haben?

-
Hallo!
Ne... Es geht nicht im irgendeine Komponente, sondern um ein ganz normales Formular, welches ich in eine andere Anwendung einbinden möchte.
Dazu gehe ich auf Neu... - Package und sage dann "Hinzufügen" - "Unit1"
Dann kompiliere ich das Package - das war's.
Oder habe ich da etwas prizipielles bei der Verwendung von Packages missverstanden? Ich habe das so verstanden, dass ich damit meinen Quelltext aufteilen könnte in mehrere Packages - im Extremfall sogar für jedes Form ein eigenes Package haben könnte...
Und das möchte ich...Hintergrund: In meinem Projekt verwende ich die aktuellste Version von QuickReport. Auf meinem Notebook habe ich eine ältere Version von QuickReport. In dieser alten Version funktioniert allerdings etwas, was mit der neuen Version nicht funktioniert.
Jetzt wollte ich quasi dieses eine Formular - welches die Funktion der alten QuickReport-Komponente darstellt als Package auf meinem Notebook compilieren und auf meinem Hauptprojekt dann über ne bpl-Datei einbinden....
Das wäre der Ausweg, das ganze ohne externe dll zu machen...tschüss
Robert
-
Hi,
warum kompilierst du die Unit nicht einfach und bindest dann die OBJ-Datei ein?MfG
Alexander Sulfrian