Schriften in Listen im Release-Modus
-
Hallo,
kann mir vieleicht jemand bei folgendem Problem helfen ?
Also ich habe da eine Liste im Release-Modus die mehrere Zeilen Text enthält.
Wenn ich das Programm kompiliere und es ausführe zeigt mir mir bei jeder neucompilation eine andere Breite und höhe an also wechselt die Schriftatribute ständig mal klein mal gross. Woran liegt das bzw. wie kann ich das beheben ?vielen Dank schon mal
-
Hi!
Meist gibts probleme mit uninitialisierten Variablen.
Beispiel:
int i;
im Debugmodus mit 0 Initialisiert kann es im release jeden beliebigen Wert haben.
int i = 0;
Nun ist es sauber definiert.
-
Ja das ist schon klar nur welche Variable sorgt denn für dieses Problem wenn sie nicht initialisiert ist ?
-
Die die Du Verwendest.
Kristallkugeln haben wir keine,zeig doch mal Source.
-
Ok hier, LOGFONT lF4; CFont m_fontList1; lF4.lfHeight = 14; lF4.lfWidth = 7; lF4.lfWeight = FW_NORMAL; lF4.lfEscapement = 0; lF4.lfStrikeOut = FALSE; lF4.lfUnderline = FALSE; lF4.lfItalic = FALSE; lF4.lfPitchAndFamily = FIXED_PITCH; lF4.lfOrientation = 0; CString str = "Arial"; lstrcpy(lF4.lfFaceName, str); m_fontList.CreateFontIndirect(&lF4); CWnd* pList = GetDlgItem(IDC_LIST); pList->SetFont(&m_fontList, FALSE); m_strLog.SetDlgItemText(IDC_LIST, "");
-
ups sorry ganz oben steht m_fontList natürlich
-
wahrscheinlich ist dein m_fontList eine lokale Variable.
-
Nein sie ist eine Membervariable also global in der Klasse deklariert. Ich habe es nu so oben hingeschrieben damit ich aufzeige welche variablen ich alle benutze sorry mein fehler hätte noch hinzu schreiben müssen das m_fontList in der Klasse deklariert ist.
Es muss an einer anderen Variablen liegen vermute ich aber die Frage ist an welche.
Das Problem habe ich auch bei anderen Feldern bemerkt bzw. auch bei Static-feldern, wer hat da eine Idee wär echt super von euch
-
Vielleicht solltest Du LOGFONT am Anfang mal auf 0 initialisieren.
-
scheint zu funzen jedenfalls habe ich nach 10 maligen compilieren und neustart des programms die selbe formatierung gehabt.
Danke Renè und den anderen natürlich auch