| Код |
|---|
//-----------------------------------------------------------------
// Печать карты
// hmap - идентификатор карты
// printer - идентификатор устройства печати
// printparm - параметры диалога печати (поле Length должно
// содержать размер структуры)
// parm - параметры задачи (поле Handle должно содержать
// идентификатор главного окна)
// title - заголовок диалога
// При ошибке возвращает 0
//-----------------------------------------------------------------
long int _EXPORTAPI prnMapPrintEx(HMAP hmap, HPRINTER printer,
MAPPRINTPARMEX* printparm,
TASKPARM* parm, char* title)
{
if (hmap == 0 || printparm == 0 || parm == 0) return 0;
// Проверка размера структуры
if (printparm->Length != (long)sizeof(MAPPRINTPARMEX)) return 0;
// Наличие идентификатора главного окна обязательно
HWND handle = parm->Handle;
if (handle == 0) return 0;
...
} |
parm->Handle не может быть нулевым.
P.S. Поля структуры должны быть сначала обнулены ( типа memset(&PrintParm, 0, sizeof(PrintParm)) ), затем проинициализированы только требуемые. В сообщении достаточно указывать только ненулевые поля.