Guten Abend,
leider habe ich mit einem Vector in einer Funktion Probleme,
welche sich in einer regulären DLL befindet.
Aus meiner Anwendung heraus starte ich die pUtmDLL. Diese
exportiert die Funktion GetAnt(), welche ich aus meiner An-
wendung heraus aufrufe.
void CRmDlg::OnBnClickedGenerateBtn()
{
char szAnt[50];
std::vector<size_t> vuiAddr;
vuiAnt.push_back(4);
if (!theApp.m_pUtmDLL->GetAnt(szAnt, &vuiAddr))
{
...
return;
}
m_scMpEdit = CString(szMp);
UpdateData(false);
}
bool CUtmDLL::GetKAnt(char* p_szAnt, vector<size_t>* p_pvuiAddr)
{
size_t i;
size_t uiAddr;
CRIRandom* pRIRandom;
...
...
p_pvuiAddr->clear();
pRIRandom = new CRIRandom;
for (i = 0; i < 4; i++)
{
memset(szKeypart, NULL, 9);
uiAddr = pRIRandom->RandomNumber(0, 16708);
...
...
p_pvuiAddr->push_back(uiAddr); // <<--------------
}
delete pRIRandom
return true;
}
es funktioniert alles einwandfrei bis auf die push_back Funktion,
zwar wird das erste push_back ausgeführt, aber bei dem zweiten
kommt die Fehlermeldung:
"Windows hat einen Haltepunkt in Rm.exe ausgelöst.
Dies kann auf eine Beschädigung des Heaps zurückzuführen sein,
die auf ein Problem in Rm.exe oder in einer der geladenen DLLs
hinweist.
..."
mit der ich leider nichts anfangen kann. Weiß irgend jemand da weiter?
Gruß
Klaus.
M. Thaddaeus