Herzlich Willkommen, lieber Gast!
  Sie befinden sich hier:

  Forum » VC++ / MFC » Variablenübergabe in einer anderen Klasse (vc++)

Forum | Hilfe | Team | Links | Impressum | > Suche < | Mitglieder | Registrieren | Einloggen
  Quicklinks: MSDN-Online || STL || clib Reference Grundlagen || Literatur || E-Books || Zubehör || > F.A.Q. < || Downloads   

Autor Thread - Seiten: > 1 <
000
10.12.2003, 09:41 Uhr
~motorbine
Gast


Hallo!

Hab schon wieder mal eine Frage.
Wie kann ich einer Variablen einen Wert zuweisen, der in einer Variablen einer anderen Klasse abgelegt wurde.
Bsp. habe eine Klasse CArtikel : CObjekt angelegt und Variablen public gemacht. Meine andere Klasse CMsgDlg1 : CDialog besitz die Variable mit dem Wert. Nun habe ich den Zugriff von CMsgDlg1 zu CArtikel mit:

C++:
class CMsgDlg1 : public CDialog
{
// Construction
public:
    CMsgDlg1(CWnd* pParent = NULL);   // standard constructor
    
    CArtikel Artikel;
             int GetDS(int DS);
...


vorgenommen.

In der Funktion GetDS(int DS) sollen nun die Daten übergeben werden.


C++:
int CMsgDlg1::GetDS(int DS)
{
    int ret =0;

    
    
    m_ssvnr = Artikel.vorgang;
    m_sbnr = Artikel.benutzer;

    m_sartnr = Artikel.anummer;
    m_smenge = Artikel.menge;
    m_sTime = Artikel.datzeit;
}



Doch wenn ich nun Artikel. eingebe, werden die Variablen nicht angezeigt. Somit werden auch keine Werte übernommen.
Kann es daran liegen, dass die Basisklassen untersiedlich sind??? Muss meine CArtikel - Klasse noch irgendwie mit der Klasse CDialog konfrontiert werden???
Wie muss das dann aussehen???
Vielen Dank im Voraus!!!

mfg motorbine
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
001
10.12.2003, 09:50 Uhr
Tommix



Hallo,
evtl. siehe FAQ.

Gruss, Tommix
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
002
10.12.2003, 10:05 Uhr
~motorbine
Gast


Die Dateien, die in den FAQ angegeben sind, gibt es bei mir im Programm nicht!!!

Das Programm soll auf einem Mobilen Datenerfassungsgerät laufen, welches mit dem BS WindowsCE.net ausgestattet ist. Programmiere das Programm in eMbedded VC++. Ist dabei noch etwas anderes zu beachten???

mfg motorbine
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
003
10.12.2003, 10:22 Uhr
Tommix



Hallo,
mit eMbedded VC++ kenne ich mich nicht aus. Geht nur das Auto-Vervollständigen nicht oder kompiliert er auch nicht (dann fehlt vermutlich nur #include "Artikel.h")?

Gruss, Tommix
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
004
10.12.2003, 10:36 Uhr
~motorbine
Gast


Hallo,

doch, die Artikel.h habe ich mit eingebunden und kompilieren läßt sich das Programm ohne Fehler. Leider werden die Inhalte der Variablen nicht übergeben. Auch der Zugriff aus dem MsgDlg, den ich über die MsgDlg1 realisieren möchte, funktioniert in soweit, dass er mir mit dem Punkt bis zu Artikel läßt und dann aber keine Variablen anzeigt.
Bsp:

C++:
        
...
m_dMsgDlg1.Artikel.anummer = m_sArtNr;    // anummer per Handeingabe
m_dMsgDlg1.Artikel.menge = m_emenge;
m_dMsgDlg1.Artikel.datzeit = m_Time;
...



Wenn ich mir anschließend die Variablen per Messagebox ausgeben lasse, werden diese auch angezeigt, aber in der Ausgabeoberfläche MsgDlg1 erfolgt keine Übernahme der Variablen und die Messagebox zeigt keinen Wert an.

mfg motorbine
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
005
10.12.2003, 11:35 Uhr
Tommix



Die Dialoganzeige musst Du manuell updaten:

C++:
int CMsgDlg1::GetDS(int DS)
{
    int ret =0;

    
    
    m_ssvnr = Artikel.vorgang;
    m_sbnr = Artikel.benutzer;

    m_sartnr = Artikel.anummer;
    m_smenge = Artikel.menge;
    m_sTime = Artikel.datzeit;

    UpdateData(FALSE);
}


Bei Deinem zweiten Beispiel analog.

- Tommix
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
006
10.12.2003, 12:21 Uhr
~motorbine
Gast


Danke, die Variableninhalte werden übernommen, doch eine Anzeige der Variablennamen nach Artikel. erfolgt immer noch nicht. Ist halt Handarbeit gefordert.

Vielen Dank nochmal für die schnelle Hilfe!!!

mfg motorbine
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
Seiten: > 1 <     [ VC++ / MFC ]  


ThWBoard 2.73 FloSoft-Edition
© by Paul Baecher & Felix Gonschorek (www.thwboard.de)

Anpassungen des Forums
© by Flo-Soft (www.flo-soft.de)

Sie sind Besucher: