Panel użytkownika
Nazwa użytkownika:
Hasło:
Nie masz jeszcze konta?

[ADO C++] Obsluga Event'ow.( Obiekt - Connection, Event - ExecuteComplete)

Ostatnio zmodyfikowano 2013-12-11 14:24
Autor Wiadomość
pekfos
» 2013-12-10 19:57:41
Bo nie zwalniasz pamięci.
P-98929
Monika90
» 2013-12-10 21:36:24
A ściślej, to alokujesz dwa razy, a zwalniasz tylko raz. Pierwsza alokacja jest oczywiście zbędna...
P-98945
berkov
Temat założony przez niniejszego użytkownika
» 2013-12-11 07:25:03
hmmm... nie za bardzo rozumiem..

temp musze zaalokowac zeby wartosc zwracana z ConvertBSTRToString sie zmiescila...
druga zmienna ktorej uzywam to wynik (_bstr_t) ktory a - nie moge uwolnic bo go zwracam, b - _bstr_t same o siebie "dbaja" i zwalniaja sie jak juz nie sa uzywane (no chyba ze cos zle zalapalem)....  co innego w takim razie przegapilem?
P-98960
DejaVu
» 2013-12-11 13:20:17
To nie jest obiekt, tylko wskaźnik. Nie kopiujesz tekstu lecz przypisujesz po prostu inny wskaźnik do zmiennej.
P-98968
berkov
Temat założony przez niniejszego użytkownika
» 2013-12-11 14:24:35
czyli innymi slowy moj kod po wywolaniu delete[] by zwolnil pamiec tylko stringu z ConvertBSTRToString(source) a nie pierwotnego do ktorego bezpowrotnie stracilem wskaznik w momencie przepisania go przez temp = _com_util::ConvertBSTRToString(source);

innymi slowy nastepujacy kod powinien juz byc prawidlowy:
C/C++
int dl = source.length(); // - potrzebne juz tylko do mojej petli for
char * temp;
temp = _com_util::ConvertBSTRToString( source );
//...
delete[] temp;




btw... dalej nie wiem jak uzywac eventow  hahhaa
P-98977
1 « 2 »
Poprzednia strona Strona 2 z 2