Installierte Komponente fehlt XE2



  • Hallo audacia,

    danke für deine ausführlichen Antworten.
    Bin jedoch nicht weitergekommen, d.h. ich habe versucht mit dem Kommandozeilenaufruf das selbsterstellte .dpk-File zu compilieren.

    Dann erscheint folgende Meldung:

    "This version of the product does not support command line compiling"

    Somit werde ich wohl keine Möglichkeit haben, Delphi-Dateien zu übersetzen!?

    Habe versucht die Trial Version von Delphi XE2 nach zuinstallieren, jedoch sehe ich keinen Unterschied nach der Installation, d.h. es sieht so aus als wäre Delphi nicht intsalliert sondern nur C++ Builder XE2.

    Dann habe ich nach einer Ersatzkomponente gesucht.
    Bin durch die Foren auf das "KGrid" gestoßen, welche wohl ein gutes Pendant zu TStringAlignGrid ist.

    Die Dateien enthalten c++ Dateien, also bin ich folgt vorgegangen:

    -Neues Projekt erstellt als C++ Package.
    -Als Laufzeit Projekt eingestellt.
    -Dem Projekt folgende Datei hinzufügt: C++ Datei KGrid_CB2009.cpp
    -Projekt Compilieren ->Erfolg
    -Projekt Erzeugen ->Erfolg

    -Neues Projekt erstellt als C++ Package.
    -Als Entwurf Projekt eingestellt.
    -Dem Projekt folgende Datei hinzufügt: C++ Datei KGrid_CB2009.cpp
    -Unter Erfordert: .bpi Datei des Laufzeit Projektes hinzugefügt
    -Delphi Compiler Option:-Ludesign eingetragen
    -Projekt Compilieren ->Erfolg
    -Projekt Erzeugen ->Erfolg

    Anschließend habe ich das Package .bpl Datei unter "Packages installieren" eingefügt. Nun erscheint zwar der Pfad mit der .bpl Datei Datei, jedoch sind keine neuen Komponenten hinzugekommen und wenn ich auf den Knopf "Komponenten" drücke ist das Fenster leer.

    Mache ich etwas grundsätzlich falsch?



  • mr_crabs schrieb:

    "This version of the product does not support command line compiling"

    Ah, richtig, die bekannte Restriktion der Delphi-Demoversion. Hatte ich ganz vergessen. C++Builder beinhaltet den Delphi-Kommandozeilencompiler, aber die Demoversion tut das leider nicht.

    mr_crabs schrieb:

    Somit werde ich wohl keine Möglichkeit haben, Delphi-Dateien zu übersetzen!?

    Mit der Trial leider nur, wenn du sie in ein C++Builder-Package packst. Der Delphi-IDE-Compiler (dcc*.dll) ist verfügbar.

    mr_crabs schrieb:

    Dann habe ich nach einer Ersatzkomponente gesucht.
    Bin durch die Foren auf das "KGrid" gestoßen, welche wohl ein gutes Pendant zu TStringAlignGrid ist.

    Ja, das KGrid ist sicher ein guter Ersatz.

    mr_crabs schrieb:

    Mache ich etwas grundsätzlich falsch?

    Ja - nur diese .cpp-Datei hinzuzufügen bringt nichts. Guck doch einfach rein, dann sollte klar sein warum, wenn du mit dem Komponenten-Registrierungsmechanismus einigermaßen vertraut bist.

    Kurz zusammengefaßt: mit der Vollversion von C++Builder funktioniert meine obige Anleitung, und analog würde sie auch fürs KGrid funktionieren (dort allerdings ist die .dpk-Datei schon vorhanden, und du brauchst sie nicht erstellen). Mit der Trial-Edition wirst du beide Komponenten nicht zum Laufen bekommen. Es gibt zwar Workarounds, aber die sind etwas unschön, und wenn du auf den Erwerb der Vollversion warten kannst, dann tu dir (und mir) den Gefallen und gedulde dich lieber.



  • Hallo audacia,

    ich werde demnächst mir eine Vollversion zu Testzwecken zukommen lassen.
    Dann werde ich mal schauen, ob ich die Komponente einbinden kann, so wie es bei dir funktioniert hat.

    audacia schrieb:

    wenn du mit dem Komponenten-Registrierungsmechanismus einigermaßen vertraut bist.

    Nein, nicht wirklich.

    Ich habe eine Komponente aus dem Netz, die lies sich ganz einfach installieren,
    da musste ich kein Runtime oder Design Packet erstellen.
    Es war ein reines C++ Package und installierte sich eigentlich wie von selbst.
    Also muss ich in diesem Zusammenhang mich in das Thema mehr einlesen.



  • Hallo audacia,

    habe nun eine Vollversion zum Testen für ein paar Tage.

    Bin jetzt dabei das StringAlignGrid.dpk per Kommandozeilebaufruf zu compilieren:

    Habe die Umgebungsvariable BCD gesetzt, habe Win Xp Prof.

    SET BCD=C:\Dokumente und Einstellungen\All Users\Dokumente\RAD Studio\9.0

    Anschließend den Kommandozeilenaufruf wie von dir beschrieben ausgeführt und dies führt zu folgender Meldung:

    "Schwerwiegend: E2202 Package 'DCP' wir benötigt, konnte aber nicht gefunden werden"

    Fehlt mir noch eine Datei?
    Wo muss ich den das StringAlignGrid.dpk abspeichern?



  • mr_crabs schrieb:

    "Schwerwiegend: E2202 Package 'DCP' wir benötigt, konnte aber nicht gefunden werden"

    Ich habe mich hier vertippt:

    audacia schrieb:

    DCC32 -JL -LE"%BCD%\Bpl" -LU"%BCD%\Dcp" -NH"%BCD%\Hpp" -NB"%BCD%\Dcp"
    GR32_RUN_RSXE1.dpk StringAlignGrid.dpk
    

    Statt -LU"%BCD%\Dcp" mußt du -I"%BCD%\Dcp" und -U"%BCD%\Dcp" angeben, dann sollte es klappen.



  • Habe folgendes Kommando eingegeben:

    DCC32 -JL -LE"%BCD%\Bpl" -I"%BCD%\Dcp -U"%BCD%\Dcp -NH"%BCD%\Hpp" -NB"%BCD%\Dcp"
    GR32_RUN_RSXE1.dpk StringAlignGrid.dpk

    Dann erscheint folgende Fehlermeldung:

    Schwerwiegend: F1026 Datei nicht gefunden: 'GR32_RUN_RSXE1.dpk'

    Habe das gleiche auch mal mit GR32_RUN_RSEXE2.dpk versucht, führt zur selben Fehlermeldung.

    Grundsätzlich: Wo muss ich den die Datei StringALignGrid.dbk speichern?



  • Ich habe heute wohl meinen fahrlässigen Tag. Das "GR32_RUN_RSXE1.dpk" gehört zu Graphics32, wo ich den Kommandozeilenaufruf herkopiert hatte; laß es einfach weg. StringAlignGrid.dpk speicherst du z.B. in einem Unterverzeichnis des Projektverzeichnisses - wenn deine Quelltextdateien in \StringAlignGrid liegen, z.B. in \StringAlignGrid\packages\d16 . Allerdings mußt du dann auch die Source-Dateireferenzen anpassen, etwa so:

    // StringAlignGrid.dpk
    contains
      AH_TOOL in '..\..\AH_TOOL.PAS',
      ALIGRID in '..\..\ALIGRID.PAS',
      ICONGRID in '..\..\ICONGRID.PAS';
    

    Diesmal habe ich mich auch bequemt, meinen Ratschlag genau zu testen; bei mir funktioniert der Aufruf von

    DCC32 -JL -LE"%BCD%\Bpl" -I"%BCD%\Dcp" -U"%BCD%\Dcp" -NH"%BCD%\Hpp" -NB"%BCD%\Dcp" StringAlignGrid.dpk
    

    wie erwartet, wenn er in dem Verzeichnis erfolgt, wo die .dpk-Datei liegt.



  • hallo audacia,

    der kommandozeilenaufruf funktioniert bis zur nächsten Fehlermeldung:

    "Datei nicht gefunden: 'windows.dcu' "

    Da muss ich wahrscheinlich noch was in den Optionen ändern?

    Wird wahrscheinlich was mit den Gültigkeitsberteichnamen zusmmanhängen,
    jedoch habe ich nichts brauchbares im Netz gefunden, was mir hier weiterhilft.



  • mr_crabs schrieb:

    der kommandozeilenaufruf funktioniert bis zur nächsten Fehlermeldung:

    Wär ja auch zu einfach gewesen 🤡

    mr_crabs schrieb:

    "Datei nicht gefunden: 'windows.dcu' "

    Richtig, ab XE2 gibt es ja Scoped Unit Names, d.h. Windows.dcu heißt jetzt Winapi.Windows.dcu. Ich hab nur mit XE getestet, da gab es sowas noch nicht.

    Du kannst das Problem wahrscheinlich umgehen, wenn du zur DCC32-Kommandozeile noch den Parameter -NSSystem;Winapi;Vcl hinzufügst.



  • es geht stück für stück voran...

    Habe nun folgendes:

    Es wurden 4 Dateien erstellt im HPP Ordner:
    AH_TOOL.h
    ALIGRID.h
    ICONGRID.h
    StringAlignGrid.h

    Im DCP Ordner befindet sich eine StringGrid.bpi Datei

    Jedoch erscheint noch folgende Fehlermeldung:

    Datei nicht gefunden: 'StringAlignGrid.res'



  • mr_crabs schrieb:

    es geht stück für stück voran...

    Dann möchte ich dich ermutigen, Schritt für Schritt selbst weiterzugehen.

    Die zu einem Projekt gehörige .res-Datei generiert die IDE bei Bedarf selbst. Sie enthält das Anwendungs-Icon ("MAINICON"), die Versionsinfo sowie das Manifest. Du kannst eine solche .res-Datei am einfachsten bekommen, indem du einfach die .res-Datei eines anderen Projektes - idealerweise die von deinem Designtime-Package, das du sicher schon nach meiner Anleitung oben erstellt hast. Sagen wir, es heißt "StringAlignGridD.cbproj" - dann findest du eine StringAlignGridD.res im Projektverzeichnis, die du in den Projektordner von StringAlignGrid.dpk kopieren und entsprechend umbenennen kannst.

    Edit: Typographie



  • Ein herrlicher Werbethread für Embarcadero C++ Compiler Suites, irgendwie kamen mir die Probleme bekannt vor :D.
    Dein Detailwissen ist aber immer wieder beeindruckend, audacia.



  • DocShoe schrieb:

    Ein herrlicher Werbethread für Embarcadero C++ Compiler Suites, irgendwie kamen mir die Probleme bekannt vor 😃

    Das Package-System ist echt ein Problem. Das Konzept an sich finde ich gut, aber die Umsetzung, speziell in C++Builder, ist so extrem undurchdacht, daß man schreien möchte.


Anmelden zum Antworten