006
30.07.2002, 09:47 Uhr
~Christian
Gast
|
Hallo Uwe,
wenn ich F11 drücke, springt er in ../MFC/SRC/APPMODUL.CPP.
Jetzt was anderes. ICh glaube ich habe meinen Fehler gefunden, kann ihn aber nicht lösen. Ich versuche das mal zu umschreiben ...
Ich habe zwei Klassen - CAForm und CBView. CBView kann mit DDE umgehen. Die andere nicht. Jetzt möchte ich ja oben aus dem Menü (Datei) eine Methode der CBView Klasse aufrufen, die mir einen String über den DDE Kanal von einem anderen Programm holt. Jetzt habe ich den String. Nun möchte ich diesen String an die CAForm Klasse übergeben um ihn in einem Textfeld anzuzeigen. Hier ist das Problem.
Mir ist beim Debuggen aufgefallen das er an der Stelle stehen bleibt, an der ich versuche die Variable die dem Textfeld zugeordnet ist (m_EditString) mit dem String zu füllen.
Beispiel:
C++: |
In CBView, wenn der Menüpunkt ausgewählt wird
CBView::OpenChannel() { // DDE-Kanal öffnen
((CAForm *)pForm)->OnUpdateEditBox(); // pForm ist in der AForm.h als CAForm *pForm deklariert. }
In CAForm nun ..
CAForm::OnUpdateEditBox() { CBView tmp; // OnGetString() ist eine Methode aus CBView, die mir einen CString zurückgibt. m_EditString = tmp.OnGetString();
UpdateData(FALSE); }
|
Hier knallt es... (m_EditString = tmp.OnGetString()) Un ich verstehe nicht warum.. Die Variablen auf die ich zugreife, sind public.. Von daher dürfte es auche keine Zugriffsprobleme geben.
Ich versteh es nicht...
Gruß, Christian |