Announcement

Collapse
No announcement yet.

Projekt für anderes Projekt verfügbar machen

Collapse
X
  • Filter
  • Time
  • Show
Clear All
new posts

  • Projekt für anderes Projekt verfügbar machen

    Hallo,

    das mag eine blöde Frage sein, aber ich als Autodidakt weiß wirklich nicht, wie man das optimal macht:
    Ich habe ein Projekt A mit diversen Forms, funktioniert alles prima. Jetzt habe ich ein weiteres Projekt B, in dem ich alle Forms (außer der MainForm) des ersten Projekts A nutzen will. Wie stellt man das am besten an? Bisher fügte ich vorhandene Forms immer dem neuen Projekt als Komponenten hinzu, aber dann muss ich auch alle zwei Versionen dieser Forms (in A und B) in Zukunft warten, d.h., wenn ich Änderungen an Projekt A vornehme, muss ich die dann auch immer noch in B hinterlegen bzw. die entsprechenden Files rüberkopieren.

    Gibt es da eine bessere Lösung? Irgendeinen Verweis in Projekt B auf Projekt A?

    Danke für Eure Tipps ...

  • #2
    Hallo,

    hatte ich diese Frage nicht kürzlich schon irgendwo gelesen? Durch die jetzige Formulierung habe ich sie verstanden.

    Erstelle für Klassen, die Du mehrfach verwenden willst, ein oder mehrere zusätzlicher Projekte, z.B. DBForms und DBClasses, und zwar als Klassenbibliothek. Verwende passende Namespaces und Klassennamen. In einer Anwendung fügst Du Referenzen auf diese DLLs ein; mit using/imports hast Du Zugriff auf die Namespaces und damit die Klassennamen und kannst sie im eigentlichen Projekt benutzen.

    Zumindest am Anfang wird das noch einfacher, wenn alles in eine Projektmappe gesteckt wird. (Ich habe in einer Projektmappe = Solution drei EXEs und etwa 30 DLLs.)

    Alternativ kann man auch vorhandene Klassen (Dateien) in ein "fremdes" Projekt einbinden und dazu eine "Verknüpfung erstellen". Das ist aber nicht zu empfehlen, weil es Abhängigkeiten eher verschleiert und dadurch die Wartung und Wiederverwendbarkeit einschränkt.

    Gruß Jürgen

    PS. 2001 ist schon lang vorbei, aber 2010 kommst Du ja zurück.

    Comment


    • #3
      Hallo Jürgen,

      vielen Dank für Deine Antwort. Aber ich habe das Problem noch nirgends gepostet.

      Wenn ich mehrere Projekte aufmache, meinst Du damit, dass ich dann mehrere Projekte, aber mit denselben Dateien habe? Im normalen Projekt wird die Sache weiterentwickelt, und anschließend brauche ich nur das andere Projekt zu öffnen und aus denselben, identischen Quelldateien eine DLL zu generieren. Habe ich das richtig verstanden? Denn wenn ich für das neue Projekt die Dateien auch erst aus dem alten kopieren müsste, hätte ich ja im Grunde nichts gewonnen.

      Ich probier's mal, vielen Dank für den Hinweis ...

      Dave

      PS: Ja, aber ... irgendwie ... anders ...! Glückwunsch zu Deinem exquisiten Filmgeschmack. Habe mich sehr über Dein PS gefreut (hatte ich noch nie).

      Comment


      • #4
        Hmm, ganz so einfach scheint das doch nicht zu sein, irgendwie komme ich nicht ganz klar.
        Ich erstelle ein neues Projekt, das mache ich der Einfachheit halber in derselben Projektmappe. Das Projekt nenne ich meinetwegen classLib_ProjektA. Dann kann ich mir aussuchen, ob ich die Dateien aus Projekt A normal hinzufügen (dann werden sie kopiert) oder per Link einfügen (davon hattest Du abgeraten) will. Aber egal wie, anschließend habe ich in dem neuen Projekt Fehlermeldungen in rauen Mengen. Irgendwie scheine ich da noch etwas wichtiges zu vergessen. Nur was? Wie gesagt, ich kenne mich da wirklich nicht aus.

        Comment


        • #5
          Hallo Dave,

          zur besseren Übersicht fängst Du vielleicht mit einer neuen Projektmappe an.

          Neues Projekt: Klassenbibliothek K1, vorhandene Dateien hinzufügen, und zwar jetzt per Kopie (denn künftig soll nur die Version der Klassenbibliothek gültig sein)

          Neues Projekt: eigentliche Anwendung A, Hauptformular aus vorhandenem Projekt übernehmen (per Kopie, denn künftig soll nur diese Version gültig sein); Referenz auf K1 hinzufügen

          Neues Projekt: eigentliche Anwendung B analog.

          Nach diesem Umkopieren kann die alte Projektmappe gelöscht werden. (Aber warte damit lieber noch ein wenig, damit Du noch nachschauen kannst, was Du wie gemacht hast.)

          Die vielen Fehlermeldungen hängen vermutlich mit fehlenden oder falschen imports- (using-) Anweisungen zusammen. Ich hatte ja schon auf passende Namespaces und Klassennamen hingewiesen.

          Jürgen

          Comment

          Working...
          X