CTabCtrl::GetItem() = FALSE (Nicht genügend speicher)



  • der error code laut GetLastError() ist 8 nachdem ich GetItem() aufrufe. der funktionsaufruf von GetItem() ist gleich dem aufruf in der MSDN für CTabCtrl.

    Fehlerbeschreibung:
    ERROR_NOT_ENOUGH_MEMORY (8): Not enough storage is available to process this command.


  • Mod

    Kann es sein, dass evtl. nicht genügend Platz für den String vorhanden ist?
    Bist Du sicher, dass es sich bei diesem Control auch um ein CTabCtrl handelt?
    Zeig doch mal ein Stück Code!



  • der code:

    TCITEM tItem;
    
    	tItem.mask = TCIF_TEXT;
    
    	BOOL	b1 = tTabs.GetItem(0, &tItem);
    	DWORD	d1 = GetLastError();
    

    b1 ist FALSE
    d1 ist 8

    so wie es da steht habe ich es aus der MSDN. das ganze sieht für mich auch ganz logisch aus 😉

    EDIT:
    seit wann gibt es diese spam-funktion ? die ist ja nervig.


  • Mod

    Wie soll das denn funktionieren?

    Der Zeiger für den Text wurde von Dir nicht initialisiert. Genauswenig wie die maximal zu übertragende Textgröße!
    Du musst alle Bereiche Initialisieren, die evtl. Zeiger enthalten sollen, die gefüllt werden. Hier eben pszText und cchTextMax, wenn Du diese haben möchtest!



  • lol, ich habe mir das beispiel in der MSDN nochmal angeguckt:

    1. du hast recht
    2. das steht da sogar 🙄

    sorry. danke nochmal


Anmelden zum Antworten