Monatskalender Steuerelement



  • OK, das mit der Definition "Der Rechner stürzt ab" war echt dumm von mir
    ausgedrückt. sorry.

    es erscheint die Fehlermeldung:

    Debug Error:

    File: i386/chkesp.c
    Line 42.

    er meckert an der 2. Zeile rum.
    SYSTEMTIME sysTime;
    m_kalender.GetCurSel(&sysTime);

    In der MSDN steht drinne das wenn ich GetCurSel() benutze muss ich
    die Adresse eines Objektes von SYSTEMTIME übergeben.
    Und diese kriegt dann die Werte. (sollte)

    Die Mehrfachauswahl habe ich in den Eigenschafte ausgeschaltet. Eigendlich
    sollte es funktionieren!

    Gruß
    -Patrick



  • Ersetz mal

    SYSTEMTIME sysTime;
    m_kalender.GetCurSel(&sysTime);
    

    durch

    CTime sysTime;
    m_kalender.GetCurSel(sysTime);
    

    einfach nur um zu gucken, ob es geht. 🙂



  • hab ich auch schon probiert, aber funktioniert nicht. Aber diemal kommt
    eine andere Fehlermeldung, nämlich von wegen "Problembericht senden".



  • Zu welchem Zeitpunkt versuchst du das GetCurSel? Vor OnInitDialog oder nach OnOK oder so? Kurz: Existiert das Control noch/schon?



  • Danke für die schnelle Antwort!

    Ich benutze es in einem Dialogfeld was ich in mein Hauptprojekt eingebunden
    habe. Habe auch eine Klasse für das neue Dialogfeld erstellt.

    Habe schon in anderen Foren über das Problem gelesen und die lösen es teilweise
    so:

    // must not set multi select style
    void CControl19Dlg::OnGetCurrentSel()
    {
    CTime time;
    m_cal.GetCurSel(time);

    CString str;

    str = time.Format("the current sel is: %Y-%m-%d %H:%M:%S");

    AfxMessageBox(str);
    }

    aber bei der Zeile wo er auf GetCurSel zugreift gibs ne Fehlermeldung!!



  • Ist CControl19Dlg::OnGetCurrentSel() die Funktion in deinem Dialog? Ist das ein Buttonhandler?

    Ich lasse grade mal meine Platte nach chkesp.c durchsuchen. Vielleicht kommen wir weiter, wenn wir wissen, welche Zeile in der MFC bemeckert wird. 🙂
    Edit: Ich finde die nicht, hast du die - oder wie kommen wir da mal dran? 🙂



  • Jo, das ist meine Funktion in der Klasse.

    Und es ist ein Buttonhandler. Ich lasse diese Funktion aufrufen sobald
    man im Monatskalender das Datum ausgewählt hat und auf den Button drückt.

    Ja, zu der Datei.

    komischer Weise finde ich dich auch nicht auf meiner Festplatte.



  • Setz mal Google auf "i386\chkesp.c Line: 42" an und staune.
    Eine Fehlermeldung und so viele verschiedene Probleme dazu. 😮

    Nur leider ist deines nicht dabei - ich weiß echt nicht mehr weiter. 😞



  • Ich suche auch schon die ganze weile im Netz und bin
    eine bischen fündig geworden. Das scheint man wohl nur mit einem
    Trick umgehen zu können. Habe dazu folgende Seite von Microsoft
    gefunden wo sie eine "Lösung" für das Problem haben:

    http://support.microsoft.com/default.aspx?scid=kb;EN-US;235355

    Es wird aber auch nur so gemacht wie ich es schon ausprobiert habe.

    Microsoft:

    SYSTEMTIME sysTime;

    m_MonthCal.GetCurSel(&sysTime);

    sysTime.wHour = sysTime.wMinute = sysTime.wSecond = sysTime.wMilliseconds = 0;

    CTime l_time(sysTime);

    Wenn man es so macht wie es Microsoft vorschlägt bekomme ich folgende
    Fehlermeldung:

    ERROR:
    Timecore.cpp
    Linie: 32

    das sieht ja eigendlich schon mal besser aus. aber naja

    Erstmal vielen Dank für deine Bemühungen!



  • Und welche Fehlermeldung ?! Kanst du es beschreiben ? (Number oder text)

    Die richtige Form ist

    SYSTEMTIME time;
    m_monthcal.GetCurSel (&time);

    aber sie haben ein Problem mit GetCurSel. Wirklich ist es nötig ::SendMessage (...) benützen. Hast du es schon versuchen ?

    (sorry für meine deutche Sprache :-)) )

    Fredy


Anmelden zum Antworten