Announcement

Collapse
No announcement yet.

Variablen zwischen Klassen übergeben!

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

  • Variablen zwischen Klassen übergeben!

    Hallo alle zusammen,
    ich versuche eine Software zu entwickeln die die Steuerung von verschiden Komponenten durch serielle Schnittstellen ermöglicht.[ Visual studio 2008,MFC, C++]
    Ich habe eine Klasse die ein Dialogfeld enthalt das, der Benutzaer nach die Einstellungen der seriellen Schnittstellen fragt! und so hat jede Komponente die Nummer der entsprechenden Serielle Schnitstelle.
    Mein Problem ist: wenn ich diese Variblen an anderen Klassen übergebe und dann benutzen möchte, haben sie keine bestimmten Werte mehr?? und die eingestellten Werte sind weg !!

    Was könnte ich falsch gemacht haben und was soll ich beachten bei der Übergabe von Variablen von Dialogfelden-Klassen zu anderen Klassen die durch Scahltfläschen aktiviert werden!


    Ich warte auf eure Vorschläge und bis dahin verbleibe mit freundlichen Grüße.

  • #2
    Da keiner weiss was oder wie du es gemacht hast, wird keiner sagen können was falsch ist
    Christian

    Comment


    • #3
      Noch mehr Details!

      @Christian Marquardt: du hast Recht,aber mein Programm ist Kompliziert und enthalt mehrere Klassen und Dialogfeldern, aber hier versuche ich die wichtigsten Informationen zusammenzufassen.

      1)Ich habe eine Klasse der Hauptdialogfeld: CControlToolsDlg.h/.cpp
      2)Ich habe eine Klasse des Dialogfeldes zum Einsetzen der Schnittstellen:
      CComEinstellung: CComEinstellung.h/.cpp die hat Membervariablen an die, die Nummer der Schnittstellen zugewiesen werden.
      3)Ich habe ein Klasse zum Geschwindigkeitsregelung ohne Dialogfeld "CGeschwindigkeit.h/.cpp", die hat unter anderen eine Private Varible namens "UmrichterCom" die bekommt ihren wert durch eine Public Funktion namens "void SetComNumber(int ComNumber)", die ich in der Klasse CComEinstellung.cpp rufe.
      4)Ich habe eine Klasse zum Verwlten von Schnittstellen namens "CSerialCommunication.h/.cpp" die enthält viele Funktionen unter anderen "int OpenCom( int ComNumber)" ...

      wenn ich jetzt zum Beispiel auf eine Schalfläsche im HauptDialogfeld z.B "Starten" anklicke, dann sollte die bestimmte Schnittstelle angesprochen werden durch erstmals "int OpenCom(int ComNumber)", aber während der Übergabe der Variable "Umrichter" von der Klasse "CGeschwindigkeit" zur Klasse CSerialCommunication verliert diese ihren Wert und weist auf irgend ein anderen Wert.(die übergabe erfolgt durch einen Zeiger der, die Adresse der anderen Variable bekommt)

      Ich hoffe ihr könntet das ganze nachvollziehen!
      Ich bitte euch um eure Hilfe und bedanke mich im Voraus!

      Comment


      • #4
        Du könntest ja auch einfach mal ein paar Zeilen Code reinposten, damit man konkret sieht was Du machst.
        z.B. wie Du Werte von einer Klasse in die andere Klasse schaufelst und die Klassendefinition dazu

        Comment


        • #5
          ich glaube ich habe das Problem verstanden.
          Die Variablen einzeln sind als lokale Variablen deklariert und ich galube sie existieren nicht mehr wenn die Klasse nicht mehr benutzt wird. was meint ihr?

          Wie kann ich sonst globale Variablen mit extern definieren?? so dass die die Informationen die ich brauche immer haben so lange der Programm läuft?

          Comment


          • #6
            Das mit extern gilt auch für MS


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

            Comment

            Working...
            X