Announcement

Collapse
No announcement yet.

Unterprogramme und Nebenprogramme

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

  • Unterprogramme und Nebenprogramme

    Moinsen,

    was mich ziemlich anstinkt beim Builder oder C++ ist die Unwissenheit über die Mechanismen oder besser gesagt, für mich die Unfexibilität vom Builder.

    Ich habe zwei *.cpp Dateien mit jeweiligem Header:
    Das 1. Programm ist das Hauptprogramm.
    Das 2. Programm ist die About.Box vom Builder.

    Wenn ich nun ein Label und ein Button in dem 1. Programm AUS dem 2. Programm ansprechen will, sind die Objekte natürlich nicht vorhanden!
    Selbst wenn man auf einfachster Weise die #include-Funktion nutzt, was nach logischen Kriterien ja eigentlich funktionieren müsse, da die Head-Dateien, in denen die Objekte stehen - eingebunden sind.

    Wie geht es also aus dem 2. Programm auf Objekte im 1. Programm zuzugreifen??

    Mein 2. Problem scheint zu sein, das der Builder keine Objekte aus Unterprogrammen ansprechen kann. Da ich nicht nur ein Objekt mit dem Unterprogramm verändern will, will ich nicht die Parameterliste zum Übergeben benutzen, da die Parameterliste dann zu unübersichtlich wird.

    Wie kann ich also aus Unterprogrammen, die alle in nur einem Programm laufen, die Objekte/Komponenten ansprechen?

    Mfg Pixtar

    PS: Weiß nicht, sollte eigentlich nicht viel Programmierarbeit sein, oder?

  • #2
    Deine Probleme hören sich viel mehr nach Unwissenheit des Entwicklers an. So wie du die Begriffe durcheinanderschmeist stellen sich meine Nackenhaare auf.

    Hast du jemals eine Kurs über Objektorientierung bzw. ein Einsteigerbuch darüber gelesen?

    Comment


    • #3
      Ja, das würde meinem Lehrer nicht anders ergehen mit den Nackenhaaren, aber ich find C++ einfach zu kompliziert - im gegensatz zu PHP.

      Würde das vielleicht auch alles lernen wollen mit den Begriffen und deren Funktionen, habe aber keine richtige Lust dazu. Jeder andere würde bei meinem jetzigen Programm die Hände über dem Kopf zusammenschlagen, wenn er die angewandten Methoden sehen würde - is mir aber egal, es funktioniert und darauf kommt es an.

      Wäre aufjedenfall froh, wenn mir dabei wer helfen könnte bzw. mir erklären könnte, wie ich die einzelnen Komponenten/Objekte/Symbole - wie auch immer - ansprechen kann.

      Comment


      • #4
        Also um eine Funktionen in einer anderen CPP Datei aufzufrufen, brauche ich eine Deklaration bzw. Definition der Funktion in der header-datei nicht in der cpp-datei.

        Aber um Funktionen handelt es sich ja hier nicht, also habe ich die header-datei vom Hauptprogramm ins das Unterprogramm mit eingebaut damit ich die Komponenten direkt ansteuern kann. Damit das Funktioniert, habe ich folgendes im Nebenprogramm eingefügt:

        Form1->label_text->Caption = "Blah";

        Wenn ich aber diese Anweisung aufrufe stürzt das Programm ab, warum?

        PS: DIE Anweisung funktioniert aber für Funktionen die in einem Programm laufen, daher hat sich schon einmal eine Frage erübrigt. *g*
        Zuletzt editiert von Pixtar; 10.06.2007, 17:45.

        Comment


        • #5
          http://www.marquardtnet.info/cecke/q...quicky_15.html
          Christian

          Comment


          • #6
            Okay, dann darf ich mich wohl nochmals .. zum 3. mal bei dir bedanken!
            Hat mir bisher alles geholfen. THX !

            Ich habe dabei nur ein Problem .. bei dir geht es um Variablen bzw. Structs nicht um die C++ Builder eigenen Komponenten wie Label oder Button die ich dann über die Unit2.cpp ansprechen kann.

            Pixtar

            Comment


            • #7
              Da wird der Name der Form vorgesetzt, nachdem die Header eingebunden wurde:

              Form2->Button1->Caption="Hallo";
              Christian

              Comment


              • #8
                Originally posted by Pixtar View Post
                Damit das Funktioniert, habe ich folgendes im Nebenprogramm eingefügt:

                Form1->label_text->Caption = "Blah";
                Naja wie bereits geschrieben .. er compeliert das Programm auch, stürzt beim ausführen der Anweisung dann aber ab.

                Pixtar

                Comment


                • #9
                  Das muss aber dann an deinem Programm liegen.

                  Wird eine Exception geworfen??

                  Was passiert beim debuggen??

                  Woher weisst du, dass es an dieser Stelle ist??

                  Das Wort heisst übrigens "compiliert"
                  Christian

                  Comment


                  • #10
                    Sorry, alles klar, hab übersehen, das ich die Anweisung als Operator genutzt habe nicht als Anweisung .. also ein doppeltes Gleichheitszeichen war der Fehler.

                    Big THX nochmals

                    Comment

                    Working...
                    X