여러분, 사이트에 나타나는 간헐적 인 버그를 추적하려고합니다. 몇 가지 GDI 코드에서 필자가 함께 사용하여 집계 프린터를 작동시키는 느낌이 들었습니다.이 CDC를 삭제해야합니까?
필자는이 CDC를 삭제하는 방법에 대해 잘 알고 있지만 내 코드는 괜찮은 것처럼 보입니다.
// Create a device context for printing
CDC* dc = new CDC();
if(! dc->CreateDC(safeDriverName.AsBSTR(), safePrinterName.AsBSTR(), NULL, NULL))
{
throw . . .
}
// as I finish with the CDC
dc->DeleteDC();
delete dc;
내가
dc->DeleteDC();
후
delete dc
가 필요하십니까?
감사
당신은 힙에dc
를 할당하기 때문에
에 비해, 정신 나간 소리는이에 따라,'DeleteDC'를 호출 할 필요가 없습니다 http://msdn.microsoft.com/en-us/library/40y7h98e.aspx –
@Fred : 감사합니다. –
@Fred : @ 브라이언 : 고마워요. 나는 이걸 보면서 십자가에 달리기 시작했고, 내 이름은 확신하지 못했습니다. 추신 'delete * dc'는 dtor에서 발생하므로 예외가 발생하면 잡히게됩니다. 프레드, 링크 메이트에게 고마워. –