Zum Inhalt springen

Loki876

Mitglieder
  • Gesamte Inhalte

    65
  • Benutzer seit

  • Letzter Besuch

Alle Inhalte von Loki876

  1. Hab jetzt folgendes eingefuegt: void CDlg::OnUpdate(CView* pSender, LPARAM lHint, Cobject* pHint) { UpdateData(FALSE); } Passieren tut sich allerding nix. Muss ich die Funktion OnUpdate dann nochmal explizit aufrufen oder wird sie von UpdateAllViews(NULL) automtatisch ausgefuehrt?
  2. Hab nachgesehen. die funktion DoDataExchange ist vorhanden. und es gibt mehrere eintraege der form: DDX_Text(pDX, IDC_FILENAME, m_sFileName);
  3. Mit DoDataExchange habe ich nix gemacht. wie implementiere ich das dort?
  4. das dialogfeld, gehoert zur klasse CFormView, und wird durch CMainFrame::OnCreateClient in die Ansicht eingebaut.
  5. Waere es denn rein theoretisch denkbar das oben beschriebene Problem auch gaenzlich ohne pointer zu loesen? Habe jetzt mal versucht eine Variable m_dDlg (CDlg) zu deklarieren und dann zum testen: BOOL CApplicationDoc::OnOpenDocument(LPCTSRT lpszPathName) { ... m_dDlg.m_sFileName = "Test"; UpdateAllViews(NULL): return TRUE; } aber in dem Dialogfeld wird nix angezeigt.
  6. Naja, ich war der meinung ich haette recht genau beschrieben was ich machen will. Aber anscheinend war dem nicht so ich moechte in das eingabefeld(mit m_sFileName) des dialogfeldes, dem die Klasse CDlg(Basisklasse CFormView) zu geordnet ist, etwas schreiben, das in einer Fukntion des Klasse (CApplicationDoc) festgelegt wird. In meinem Fall moechte ich den in CApplication::OnFileOpen() ermittelten Dateinamen in dieses besagte Eingabefeld schreiben. Dazu habe ich jetzt versucht in CApplicationDoc einen Pointer auf die Klasse CDlg zu definierern. CDlg* pDlg und dann nach dem der dateipfad m_cstrFilePath ermittelt wurde. ((CDlg*)pDlg->m_sFileName = m_cstrFilePath: Beim Compilieren wurd mir kein fehler angezeigt. Jedoch wenn ich das Programm laufen lasse, kommt: Unbehandelte Ausnahme in Application.exe (MFC42D.DLL): 0xC0000005: Access Violation
  7. Kann mir keiner helfen? Oder werden noch irgendwelche anderen angaben benoetigt?
  8. Hi, bis jetzt habe ich mein Programm "Dialogfeld basierend" programmiert und mich jetzt (aus verschiedenen Gruenden) dazu entschlossen auf SDI zu wechseln. Habe vorher noch nie in diese Richtung programmiert, bin also was das angeht recht jungfraeulich und meine frage koennten dem einen oder anderen etwas banal vorkommen. zu meinem problem: ich hab mir schon ne halbwegs ordendliche benutzeroberflaeche, mit dem unter http://www.codeproject.com/dialog/visualfx.asp zu beziehenden Quellcode fuer ein paar nuetzliche Klassen, zusammengebastelt. Habe mein Hauptfenster unterteilt und in eins der teilfenster ein Dialogfenster(CFormView) eingtefuegt. Dieses Dialogfenster besitzt u.a. ein eingabefeld, dem ich die membervariable m_sFileName zu geordnet habe. In der Klasse CApplicationDoc habe ich die Funktion OnOpenFile implementiert. Nun will ich den ausgewaehlten Dateinamen in dieses Eingabefeld reinschreiben. Bekomm dies aber nicht hin. gruss Thomas
  9. ja danke erstmal fuer die tipps. mein quellcode is leider ueber 6000 zeilen lang, und da ich nicht weiss wo der fehler genau auftritt, weiss ich nicht welchen teil ich hier zeigen soll. an anderen stellen wird mit den zwei textfeldern nix angestellt.
  10. habe ich schon. sie werden auf jedenfall gefuellt. hab auch schon mal den debugger zu rate gezogen. irgendwo zwischen fuellen und aufrufen der zweiten dialogfenster, wo das listenfeld gefuellt werden soll, entleert sich das array wieder.
  11. Die werden in MainDlg gefuellt, und muessen wegen des logischen aufbaus meines programmes gefuellt sein, bevor die funktion OnUnterDlg ausgefuehrt wird.
  12. wie grad oben geschrieben war das ein tipfehler hier im forum. in meinem program is das schon richtig.
  13. tipp fehler: text[10] soll natuerlich text heissen
  14. Hi, ich hab Listenfeld in einem Dialogfenster. Bei aufruf des Dialogfesnters sollen nun Strings, die in einem Array gespeichert sind, als Listenelemnte eingefuegte werden. Es werden aber nur leere Strings eingefuegt. Das Array das uebergeben wird ist definitiv nicht leer. So sieht das etwa bei mir aus: MainDlg.h: CUnterDlg m_dUnterDlg; CString text[10]; UnterDlg.h: CString liste[10]; void CMainDlg::OnUnterDlg() { ... for (int i=0;i<10;i++) { m_dUnterDlg.liste = text[10]; } ... if (m_dUnterDlg.DoModal () == IDOK) { UpdateData(FALSE) } } BOOL CUnterDlg::OnInitDailog() { for (int i=0;i<10;i++) { m_ctrlListe.AddString(liste[10]); } return TRUE; } Gruss Thomas!
  15. ah...ok danke. dann habe ich service pack 5 (0x00000005)
  16. so versiert in C++ bin ich leider nicht. hab keine ahnung wie und wo ich dieses DWORD finde und wie ich es mir anzeigen lassen kann.
  17. Wo sehe ich welches ich hab? ich arbeite nicht an meinem eigenen PC.
  18. Ich benutze VC++ 6.0 und als Benutzerumgebung GUI. Windows 2000 Service Pack 4
  19. also wenn ich die Zeile herausnehme, dann compliliere (wobei ich natuerlich tonnenweisefehler auftretten) und anschliessend die zeile wieder ins programm einfuege, dann funktioniert es wieder. bis ich dann wieder in der klasse CFensterDlg selbst was aendere, dann beginnt das ganze spiel von vorne.
  20. Hallo, bei mir kommen seit heute sehr seltsame Fehlermeldungen bei membervariablen deklarationen: CFensterDlg m_dFensterDlg Es kommen drei fehlermeldungen fuer diese zeile 1. Syntaxfehler: Fehlendes ';' vor Bezeichner 'm_dFensterDlg' 2. 'CFensterDlg' : Fehlende Speicherklasse oder Typbezeichner 3. 'm_dFensterDlg' : Fehlende Speicherklasse oder Typbezeichner Die Klasse CFensterDlg is jedoch definiert und das komische an der sache ist, dass alles gestern noch lief. manchmal hilft es die Varaible "m_dFensterDlg" neuzudefinieren (im klassen-Tab mit "Member-Variable hinzufuegen") Dann funktioniert es auch, aber dann arbeite ich im quellcode an ner komplett anderen stelle und ploetzlich kommt der fehler wieder. gruss
  21. Hi. Habe in einem Dialogenster ein Eingabefeld, dass ich nur unterbestimmten umstaenden aktiviert haben moechte. Dazu moechte ich dann bevor ich das Dialogfenster oeffne das Eingabefeld deaktivieren. Mein Programm stoert sich irgendwie an folgender Programmzeile und ich weiss nicht warum. m_dDlg gehoert zur Klasse CDialog m_cEingabefeld zu CEdit m_dDlg.m_cEingabefeld.EnableWindow(FALSE); // hier tritt der fehler auf if (Bedingung) { m_dDlg.m_cEingabefeld.EnableWindow(TRUE); } if (m_dDlg.DoModal () == IDOK) { UpdateData(FALSE) } Beim Compilieren kommt kein Fehler, beim Ausfuehren wird "Debug Assertion Failed!" gemeldet. gruss

Fachinformatiker.de, 2024 by SE Internet Services

fidelogo_small.png

Schicke uns eine Nachricht!

Fachinformatiker.de ist die größte IT-Community
rund um Ausbildung, Job, Weiterbildung für IT-Fachkräfte.

Fachinformatiker.de App

Download on the App Store
Get it on Google Play

Kontakt

Hier werben?
Oder sende eine E-Mail an

Social media u. feeds

Jobboard für Fachinformatiker und IT-Fachkräfte

×
×
  • Neu erstellen...