Код: Выделить всё
HWND __stdcall ShowForm(LPCSTR phone, HWND hndl, LPCSTR name)
{
AFX_MANAGE_STATE(AfxGetStaticModuleState());
OfficeForm* pdlg;
pdlg = new OfficeForm();
if (pdlg!=NULL)
{
BOOL ret = pdlg->Create(IDD_OFFICEFORM_DIALOG, pdlg->FromHandlePermanent(hndl));
if(!ret) //Create failed.
{
AfxMessageBox("Error creating Dialog");
return NULL;
}
pdlg->SetWindowPos(pdlg->FromHandlePermanent(hndl), 100, 100, 10, 10, SWP_NOSIZE | SWP_NOZORDER | SWP_SHOWWINDOW);
pdlg->parenthwnd=hndl;
pdlg->ShowWindow(SW_SHOW);
return (pdlg->GetSafeHwnd());
}
else
return NULL;
}
Код: Выделить всё
EndDialog(0);
::SendMessage(parenthwnd,WM_USER+97, 0,0);
Вопрос: должно ведь где-то быть delete pdlg;
Обязательно ли для этого писать новую функцию, которую будет эткпортировать длл, или это можно сделать в имеющейся (очень не хочется изменять интерфейс).
И вообще, что вы посоветуете предпринять, чтоб очистить выделенную память.