Verzögerte Datenübernahme



  • Grüsse nochmals 🙂 vermutlich letzte Frage vorm Wochenende 😉

    Ich habe bei 2 Funktionen einen komischen Effekt. Ich muss die Funktion 2fach ausführen, um Änderungen zu übernehmen.

    Beim ersten Button handelt es sich um eine einfach "Einfügen in Tabelle" Funktion. Ich schreibe den Wert in dein Editfeld und übernehm auf einen Klick auf den Button den Wert aus dem Editfeld in die Tabelle. Übernahme klappt, aber nur bei 2fachen klicken des Buttons. Code dazu:

    void PropertyPageSeiteA::OnButtonInsert()
    {
    	char eingabe1[128];
    
    	strncpy(eingabe1, m_edit7, 127);
    
    	UpdateData(TRUE);
    
    	LV_ITEM item;
    	item.mask = LVIF_TEXT;
    	item.iItem = nSpalte;
    	item.iSubItem = 2;
    	item.pszText = eingabe1;
    	m_liste.SetItem(&item);
    
    	UpdateData(FALSE);
    
    }
    

    Selbiges passiert mir beim Speichern mittels CStdioFile. Ich rufe das Fenster auf, benenne Datei, drücke Speichern und er tut irgendwas, aber beschreibt die Ausgabe Datei nicht (Dialog SPeichern bleibt auch offen), erst beim 2ten betätigen von Speichern schreibt er in die Datei und schliesst den Dialog. Code hierzu:

    void PropertyPageSeiteA::OnButtonSaveDescription() 
    {
    	CFileDialog cFileDlg(FALSE, NULL, NULL, OFN_HIDEREADONLY | OFN_OVERWRITEPROMPT, "Textdateien (*.txt)|*.txt||", NULL);
    	cFileDlg.m_ofn.lpstrInitialDir = _T("::{20D04FE0-3AEA-1069-A2D8-08002B30309D}"); 
    	cFileDlg.DoModal();
    
    	if (cFileDlg.DoModal() == IDOK) 
    	{ 
    	  CStdioFile file; 
    	  if(file.Open(cFileDlg.GetPathName(), CFile::modeCreate | CFile::modeWrite)) 
    	  { 
    		for (int i=0; i<256; i++)
    		{
    			CListCtrl* pList = (CListCtrl*) GetDlgItem(IDC_LIST1); 
    			CString m_wert;
    			m_wert = pList->GetItemText(i, 2);
    			file.WriteString(m_wert + "\n"); 
    
    		}
    	  file.Close(); 
    	  } 
    	}
    	UpdateData(FALSE);
    }
    

    Gut, nichts weltbewegendes, was die Endfunktion nachhaltig stört, aber ein Bedienungsproblem, welches mit der Zeit einfach nervig wird. Schon wer was ähnliches gehabt und weis Rat? Oder hab ich als Anfänger was übersehen?


Anmelden zum Antworten