Unit aus 2 Packages benutzen
-
Hallo!
Ich habe 2 Packages: Package A und Package B, wobei Package B von Package A abhängig ist. In Package A verwende ich Funktionen aus einer Unit, die ich mit "Dem Projekt hinzufügen" dem Package hinzugefügt habe. Klappt prima. Jetzt möchte ich die Unit auch in Package B verwenden. Wenn ich nun die Unit auch dem Package B hinzufüge, will der Builder sie vor dem Kompilieren wieder aus dem Package entfernen, da sie ja schon in Package A enthalten ist. Wenn ich dem zustimme, erhalte ich einen "Unresolved external...". Kennt jemand eine Lösung für dieses Problem?
Vielen Dank im voraus.
Rob'
-
nicht die Unit dem Package B hinzufügen. Ein Package ist letzendlich eine Dll. Binde das Package A (bzw. die *.bpl)einfach im Package B ein, sowie die notwendigen Header dazu.
-
Habe ich schon probiert: Package A steht im Requires-Abschnitt von Package B, und dann erhalte ich meinen Linker-Fehler "Unresolved external..".
Rob'
-
Ich hatte das Problem auch schon einmal gehabt in ähnlicher Form. Da habe ich eine Klasse erstellt, die Package A als Basisklasse diente. Funktionierte auch einwandfrei mit dem übersetzen.
Als ich sie jedoch auch als Basisklasse für Package B nehmen wollte, kam bei mir ebenfalls der beschriebene Fehler.
Die Lösung war, das ich die Basisklasse ebenfalls als Package definiert habe. Ich habe dabei die Registerfunktion entfernt und das PAckage als Entwurfspackage übersetzt.
In den Packages A und B (die ja die Basisaklasse benötigen) habe ich dann das Package im Requires-Abschnitt aufgenommen.
Vielleicht hilft dir dies bei deinen Problem weiter.
-
Leider nicht. Die Unit enthält gar keine Klassen oder Komponenten, sondern nur ein paar Hilfsfunktionen, die ich gern in beiden Packages verwenden möchte. Noch irgendwelche Ideen?
Danke.
Rob'