eigene Klasse weitergeben, aber ohne Sourcecode (war: einfache Frage)



  • naja, ich muss Jansen bedenken zustimmen. Dafür gibt es aber eh Packages.



  • Jansen schrieb:

    Sind die OBJ-Dateien zwischen den verschiedenen Compiler- bzw. Linker-Versionen binärkompatibel ...?

    Nein - nach meiner Erfahrung zumindest nicht zwischen CB4 und CB6.

    AndreasW schrieb:

    Dafür gibt es aber eh Packages.

    Die lassen sich aber IMHO nur dann Versions-Übergreifend installieren, wenn auch die Quellen dabei sind. In diesem Fall werden die obj-files halt beim Installieren erzeugt - oder?



  • ... also sicherheitshalber doch eine DLL basteln. 😉



  • F98 schrieb:

    ... also sicherheitshalber doch eine DLL basteln.

    Also ich habe da meine Zweifel, ob eine DLL der richtige Weg ist. Mit einer DLL gibst Du ja keine Klasse weiter sondern nur Funktionalität. Es ist IMHO z.B. nicht möglich, mit Hilfe einer DLL die darin verwendete Klasse abzuleiten.



  • Eine andere Möglichkeit wäre ActiveX-Komponente. Dann braucht Dein Freund dafür nicht mal Borland. Mit VB tuts auch. Aber Du brauchst dann mindestens die Professional (oder erst ab Enterprise?), um damit gescheit zu arbeiten.
    Dll geht auch, wenn Du eine Schnittstellen-Klasse erstellst, Deine Klasse von dieser erben lässt. Und dann in der Dll erzeugst.



  • hallo,

    also wenn es zwecks der unterschiedlichen versionen (5,6) keine probleme gibt, und es nur eine klasse ist, finde ich sollte man die kirche im dorf lassen und das mit der obj h kombination machen, reicht doch vollkommen aus. ausserdem, ein package verwendet man normalerweise nur von tcomponent abgeleiteten klassen, dafür sind sie vorgesehen...

    mfg
    murphy



  • hallo,

    @dschensky: geb ich dir im prinzip recht.

    aber:

    "Es ist IMHO z.B. nicht möglich, mit Hilfe einer DLL die darin verwendete Klasse abzuleiten."

    das stimmt seit DotNet nicht mehr, jetzt kann man aus einer dll die in einer beliebigen sprache geschrieben wurde, klassen in seiner eigenen sprache ableiten.

    mfg
    murph



  • murphy schrieb:

    "Es ist IMHO z.B. nicht möglich, mit Hilfe einer DLL die darin verwendete Klasse abzuleiten."

    das stimmt seit DotNet nicht mehr, jetzt kann man aus einer dll die in einer beliebigen sprache geschrieben wurde, klassen in seiner eigenen sprache ableiten.

    Wie ich schon oben schrieb ist es möglich, musst Du nur eine Funktion exportieren, die dir die Klasse erstellt und einen Zeiger liefert.

    PS: Seit wann untertützt BCB .Net? Oder habe ich Dich falsch verstanden?



  • Klassen aus einer DLL 😃 exportieren (ich glaube, das hatten wir hier schonmal):

    http://www.inf.hs-zigr.de/~fatman98/builder_dll.php (siehe ganz unten).



  • hallo,

    @bIce: ich glaube du hast mich falsch verstanden, ich habe teilweise zitiert, ist aber auch egal...

    mfg
    murph



  • bIce,

    bIce schrieb:

    Wie ich schon oben schrieb ist es möglich, musst Du nur eine Funktion exportieren, die dir die Klasse erstellt und einen Zeiger liefert.

    wie mir scheint, sprechen wir hier von verschiedenen Arten des "Exports".
    Der Export den Du meinst sorgt für die Erzeugung von Instanzen einer Klasse. Dafür läßt sich eine DLL vermutlich verwenden (habe ich noch nie probiert).
    Ich hatte mich auf den Export eines Typs bezogen, was auch die Möglichkeit des Ableitens eröffnet.


Anmelden zum Antworten