Zum Inhalt springen

Empfohlene Beiträge

Geschrieben

Guten Tag Allerseits,

ich initialisiere in der OnInitialUpdate-Funktion einige Sachen. Initialisiert werden alle Sachen. Leider popt aber wenn ich diese Formview lade eine Popupmeldung auf mit "Enter an integer". Diese Warnmeldung "Enter an integer" bezieht sich auf das Editfeld. Es erscheint aber die 9 im Editfeld.

Wie bekomme ich diese Popupmeldung weg?

void CScanObjectView::OnInitialUpdate()

{

CView::OnInitialUpdate();

UpdateData(true);

m_editfeld_value = (int)9;

UpdateData(false);

//// Initialisiere andere Sachen...

// ...

// ...

}

Vielen Dank im Voraus.

Gruß Carsten

Geschrieben
Wie bekomme ich diese Popupmeldung weg?
Indem du nicht UpdateData(TRUE) aufrufst. Es gibt zu diesem Zeitpunkt doch gar keine gültigen Werte in den Steuerelementen, die in die Variablen übertragen werden könnten. Und daher kommt auch die Meldung.
Geschrieben

Stimmt, das habe ich total übersehen. Wenn ich UpdateData(true)- wegnehme dann zeigt er leider nicht mehr die Zahl im Editfeld an. Hm... was kann ich den jetzt machen. Der Konstruktor CScanObjectView() wird nicht aufgerufen, da ich OnIntialUpdate() überschreibe, sonst hätte ich das Editfeld mit dem Konstruktor initialisieren können.

ScanObjectView::CScanObjectView()

: CFormView(CScanObjectView::IDD)

, m_membufs(7) // Works only when I not overwrite the OnInitialUpdate()-Function

{

}

void CScanObjectView::DoDataExchange(CDataExchange* pDX)

{

CFormView::DoDataExchange(pDX);

DDX_Text(pDX, IDC_MEMBUFS, m_membufs);

...

}

void CScanObjectView::OnInitialUpdate()

{

CView::OnInitialUpdate();

m_membufs = (int)8; // Don't work because UpdateData is not true

//CScanObjectView();

// Other initialization

// ....

}

Kann man das Editfeld vielleicht anders setzen?

//CEdit *z_Membufs = (CEdit *)GetDlgItem(IDC_MEMBUFS); //z_Membufs->...

Geschrieben
Der Konstruktor CScanObjectView() wird nicht aufgerufen, da ich OnIntialUpdate() überschreibe,
Das ist Quatsch. Der Konstruktor wird immer aufgerufen. Allenfalls machst du das, was dort passiert, an anderer Stelle rückgängig.

sonst hätte ich das Editfeld mit dem Konstruktor initialisieren können.
Zum Zeitpunkt des Konstruktoraufrufs existiert das Eingabefeld noch gar nicht. Du kannst dort höchstens die mit dem Eingabefeld verknüpfte Variable initialisieren.

Hast du in OnInitialUpdate etwa auch das UpdateData(FALSE) weggelassen? Das sollte schon drinbleiben.

Dein Kommentar

Du kannst jetzt schreiben und Dich später registrieren. Wenn Du ein Konto hast, melde Dich jetzt an, um unter Deinem Benutzernamen zu schreiben.

Gast
Auf dieses Thema antworten...

×   Du hast formatierten Text eingefügt.   Formatierung wiederherstellen

  Nur 75 Emojis sind erlaubt.

×   Dein Link wurde automatisch eingebettet.   Einbetten rückgängig machen und als Link darstellen

×   Dein vorheriger Inhalt wurde wiederhergestellt.   Editor leeren

×   Du kannst Bilder nicht direkt einfügen. Lade Bilder hoch oder lade sie von einer URL.

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...