    [OnInitDialog][MP_MODE_ON] LOCAL_MODE_MP
    [GetCurrentProductIdxFromTxt] currentProduct: 13, currentPidIdx: 2
    [checkProductListExist] Check: FTP_XLS
    [checkProductListExist] => Exist
    [LoadExcelFile] File: .//DATA/List.dll
    [OnInitDialog][MP_MODE_ON] mpModeIsSelected == true
    [OnPaint] STATUS_OF_PNG: -101
    => GUI_SAY_WAITING_FOR_VIDPID
    [OnPaint] STATUS_OF_PNG: -101
    => GUI_SAY_WAITING_FOR_VIDPID
    [OnBnClickedButton2][GUI_SAY_WAITING_FOR_VIDPID] Clicked
    [OnPaint] STATUS_OF_PNG: -101
    [DownloadProductListFromFtp] updateMode != SERVER_MODE, checkProductListExist()
    [checkProductListExist] checkProductListExistChecked == true
    => GUI_SAY_WAITING_FOR_VIDPID
    [searchVidPidFromExcel] =============================================================
    [searchVidPidFromExcel] retry: 0, retryMax: 3
    [searchVidPidFromExcel] =============================================================
    [searchVidPidFromExcel] PID-1, Row: 1, Col: 2, VID: 054C, PID: 05C4
     => Not exist
    [searchVidPidFromExcel] PID-2, Row: 1, Col: 3, VID: 054C, PID:
     => Skip
    [searchVidPidFromExcel] PID-3, Row: 1, Col: 4, VID: 054C, PID:
     => Skip
    [searchVidPidFromExcel] PID-1, Row: 2, Col: 2, VID: 054C, PID: 05C4
     => Not exist
    [searchVidPidFromExcel] PID-2, Row: 2, Col: 3, VID: 054C, PID:
     => Skip
    [searchVidPidFromExcel] PID-3, Row: 2, Col: 4, VID: 054C, PID:
     => Skip
    [searchVidPidFromExcel] PID-1, Row: 3, Col: 2, VID: 054C, PID: 05C4
     => Not exist
    [searchVidPidFromExcel] PID-2, Row: 3, Col: 3, VID: 054C, PID:
     => Skip
    [searchVidPidFromExcel] PID-3, Row: 3, Col: 4, VID: 054C, PID:
     => Skip
    [searchVidPidFromExcel] PID-1, Row: 4, Col: 2, VID: 054C, PID: 05C4
     => Not exist
    [searchVidPidFromExcel] PID-2, Row: 4, Col: 3, VID: 054C, PID:
     => Skip
    [searchVidPidFromExcel] PID-3, Row: 4, Col: 4, VID: 054C, PID:
     => Skip
    [searchVidPidFromExcel] PID-1, Row: 5, Col: 2, VID: 054C, PID: 05C4
     => Not exist
    [searchVidPidFromExcel] PID-2, Row: 5, Col: 3, VID: 054C, PID:
     => Skip
    [searchVidPidFromExcel] PID-3, Row: 5, Col: 4, VID: 054C, PID:
     => Skip
    [searchVidPidFromExcel] PID-1, Row: 6, Col: 2, VID: 054C, PID: 05C4
     => Not exist
    [searchVidPidFromExcel] PID-2, Row: 6, Col: 3, VID: 054C, PID:
     => Skip
    [searchVidPidFromExcel] PID-3, Row: 6, Col: 4, VID: 054C, PID:
     => Skip
    [searchVidPidFromExcel] PID-1, Row: 7, Col: 2, VID: 054C, PID: 09CC
    [OpenDeviceUsb][Success] Vid: 054c, Pid: 09cc
     => Found
    [searchVidPidFromExcel] =============================================================
    [NewGetVersion] START
    [NewGetVersion] count: 1, retry: 20
    [NewGetVersion] Run_WriteFileB() == TRUE, retryStatus = read
    [Run_ReadFileB][SUCCESS] Run_ReadFileB() return TRUE
    [NewGetVersion] Run_ReadFileB() == TRUE
    [NewGetVersion][SUCCESS] NewGetVersion Done, newGetVersionReadIdx: 48
    [OpenDeviceUsb][Success] Vid: 054c, Pid: 09cc
    [NewGetVersion] START
    [NewGetVersion] count: 1, retry: 20
    [NewGetVersion] Run_WriteFileB() == TRUE, retryStatus = read
    [Run_ReadFileB][SUCCESS] Run_ReadFileB() return TRUE
    [NewGetVersion] Run_ReadFileB() == TRUE
    [NewGetVersion][SUCCESS] NewGetVersion Done, newGetVersionReadIdx: 48
    [CheckIcNumFromAPROM] productIdx: 1
    [CheckIcNumFromAPROM] serverIc: ZPJ21011, strlen(serverIc): 8
    [CheckIcNumFromAPROM] deviceIc: ZPJ211A0, strlen(deviceIc): 8
    [CheckIcNumOneByOne] serverIc[0]: Z, deviceIc[0]: Z
    [CheckIcNumOneByOne] serverIc[1]: P, deviceIc[1]: P
    [CheckIcNumOneByOne] serverIc[2]: J, deviceIc[2]: J
    [CheckIcNumOneByOne] serverIc[3]: 2, deviceIc[3]: 2
    [CheckIcNumOneByOne] serverIc[4]: 1, deviceIc[4]: 1
    [CheckIcNumOneByOne] serverIc[5]: 0, deviceIc[5]: 1
    [CheckIcNumOneByOne][ERROR] This device's IC is incorrect!
    [CheckIcNumFromAPROM] productIdx: 2
    [CheckIcNumFromAPROM] serverIc: ZPJ21050, strlen(serverIc): 8
    [CheckIcNumFromAPROM] deviceIc: ZPJ211A0, strlen(deviceIc): 8
    [CheckIcNumOneByOne] serverIc[0]: Z, deviceIc[0]: Z
    [CheckIcNumOneByOne] serverIc[1]: P, deviceIc[1]: P
    [CheckIcNumOneByOne] serverIc[2]: J, deviceIc[2]: J
    [CheckIcNumOneByOne] serverIc[3]: 2, deviceIc[3]: 2
    [CheckIcNumOneByOne] serverIc[4]: 1, deviceIc[4]: 1
    [CheckIcNumOneByOne] serverIc[5]: 0, deviceIc[5]: 1
    [CheckIcNumOneByOne][ERROR] This device's IC is incorrect!
    [CheckIcNumFromAPROM] productIdx: 3
    [CheckIcNumFromAPROM] serverIc: ZPJ21070, strlen(serverIc): 8
    [CheckIcNumFromAPROM] deviceIc: ZPJ211A0, strlen(deviceIc): 8
    [CheckIcNumOneByOne] serverIc[0]: Z, deviceIc[0]: Z
    [CheckIcNumOneByOne] serverIc[1]: P, deviceIc[1]: P
    [CheckIcNumOneByOne] serverIc[2]: J, deviceIc[2]: J
    [CheckIcNumOneByOne] serverIc[3]: 2, deviceIc[3]: 2
    [CheckIcNumOneByOne] serverIc[4]: 1, deviceIc[4]: 1
    [CheckIcNumOneByOne] serverIc[5]: 0, deviceIc[5]: 1
    [CheckIcNumOneByOne][ERROR] This device's IC is incorrect!
    [CheckIcNumFromAPROM] productIdx: 4
    [CheckIcNumFromAPROM] serverIc: ZPJ21071, strlen(serverIc): 8
    [CheckIcNumFromAPROM] deviceIc: ZPJ211A0, strlen(deviceIc): 8
    [CheckIcNumOneByOne] serverIc[0]: Z, deviceIc[0]: Z
    [CheckIcNumOneByOne] serverIc[1]: P, deviceIc[1]: P
    [CheckIcNumOneByOne] serverIc[2]: J, deviceIc[2]: J
    [CheckIcNumOneByOne] serverIc[3]: 2, deviceIc[3]: 2
    [CheckIcNumOneByOne] serverIc[4]: 1, deviceIc[4]: 1
    [CheckIcNumOneByOne] serverIc[5]: 0, deviceIc[5]: 1
    [CheckIcNumOneByOne][ERROR] This device's IC is incorrect!
    [CheckIcNumFromAPROM] productIdx: 5
    [CheckIcNumFromAPROM] serverIc: ZPJ21072, strlen(serverIc): 8
    [CheckIcNumFromAPROM] deviceIc: ZPJ211A0, strlen(deviceIc): 8
    [CheckIcNumOneByOne] serverIc[0]: Z, deviceIc[0]: Z
    [CheckIcNumOneByOne] serverIc[1]: P, deviceIc[1]: P
    [CheckIcNumOneByOne] serverIc[2]: J, deviceIc[2]: J
    [CheckIcNumOneByOne] serverIc[3]: 2, deviceIc[3]: 2
    [CheckIcNumOneByOne] serverIc[4]: 1, deviceIc[4]: 1
    [CheckIcNumOneByOne] serverIc[5]: 0, deviceIc[5]: 1
    [CheckIcNumOneByOne][ERROR] This device's IC is incorrect!
    [CheckIcNumFromAPROM] productIdx: 6
    [CheckIcNumFromAPROM] serverIc: ZPJ21073, strlen(serverIc): 8
    [CheckIcNumFromAPROM] deviceIc: ZPJ211A0, strlen(deviceIc): 8
    [CheckIcNumOneByOne] serverIc[0]: Z, deviceIc[0]: Z
    [CheckIcNumOneByOne] serverIc[1]: P, deviceIc[1]: P
    [CheckIcNumOneByOne] serverIc[2]: J, deviceIc[2]: J
    [CheckIcNumOneByOne] serverIc[3]: 2, deviceIc[3]: 2
    [CheckIcNumOneByOne] serverIc[4]: 1, deviceIc[4]: 1
    [CheckIcNumOneByOne] serverIc[5]: 0, deviceIc[5]: 1
    [CheckIcNumOneByOne][ERROR] This device's IC is incorrect!
    [CheckIcNumFromAPROM] productIdx: 7
    [CheckIcNumFromAPROM] serverIc: ZPJ210F0, strlen(serverIc): 8
    [CheckIcNumFromAPROM] deviceIc: ZPJ211A0, strlen(deviceIc): 8
    [CheckIcNumOneByOne] serverIc[0]: Z, deviceIc[0]: Z
    [CheckIcNumOneByOne] serverIc[1]: P, deviceIc[1]: P
    [CheckIcNumOneByOne] serverIc[2]: J, deviceIc[2]: J
    [CheckIcNumOneByOne] serverIc[3]: 2, deviceIc[3]: 2
    [CheckIcNumOneByOne] serverIc[4]: 1, deviceIc[4]: 1
    [CheckIcNumOneByOne] serverIc[5]: 0, deviceIc[5]: 1
    [CheckIcNumOneByOne][ERROR] This device's IC is incorrect!
    [CheckIcNumFromAPROM] productIdx: 8
    [CheckIcNumFromAPROM] serverIc: ZPJ210J0, strlen(serverIc): 8
    [CheckIcNumFromAPROM] deviceIc: ZPJ211A0, strlen(deviceIc): 8
    [CheckIcNumOneByOne] serverIc[0]: Z, deviceIc[0]: Z
    [CheckIcNumOneByOne] serverIc[1]: P, deviceIc[1]: P
    [CheckIcNumOneByOne] serverIc[2]: J, deviceIc[2]: J
    [CheckIcNumOneByOne] serverIc[3]: 2, deviceIc[3]: 2
    [CheckIcNumOneByOne] serverIc[4]: 1, deviceIc[4]: 1
    [CheckIcNumOneByOne] serverIc[5]: 0, deviceIc[5]: 1
    [CheckIcNumOneByOne][ERROR] This device's IC is incorrect!
    [CheckIcNumFromAPROM] productIdx: 9
    [CheckIcNumFromAPROM] serverIc: ZPJ210J1, strlen(serverIc): 8
    [CheckIcNumFromAPROM] deviceIc: ZPJ211A0, strlen(deviceIc): 8
    [CheckIcNumOneByOne] serverIc[0]: Z, deviceIc[0]: Z
    [CheckIcNumOneByOne] serverIc[1]: P, deviceIc[1]: P
    [CheckIcNumOneByOne] serverIc[2]: J, deviceIc[2]: J
    [CheckIcNumOneByOne] serverIc[3]: 2, deviceIc[3]: 2
    [CheckIcNumOneByOne] serverIc[4]: 1, deviceIc[4]: 1
    [CheckIcNumOneByOne] serverIc[5]: 0, deviceIc[5]: 1
    [CheckIcNumOneByOne][ERROR] This device's IC is incorrect!
    [CheckIcNumFromAPROM] productIdx: 10
    [CheckIcNumFromAPROM] serverIc: ZPJ210J2, strlen(serverIc): 8
    [CheckIcNumFromAPROM] deviceIc: ZPJ211A0, strlen(deviceIc): 8
    [CheckIcNumOneByOne] serverIc[0]: Z, deviceIc[0]: Z
    [CheckIcNumOneByOne] serverIc[1]: P, deviceIc[1]: P
    [CheckIcNumOneByOne] serverIc[2]: J, deviceIc[2]: J
    [CheckIcNumOneByOne] serverIc[3]: 2, deviceIc[3]: 2
    [CheckIcNumOneByOne] serverIc[4]: 1, deviceIc[4]: 1
    [CheckIcNumOneByOne] serverIc[5]: 0, deviceIc[5]: 1
    [CheckIcNumOneByOne][ERROR] This device's IC is incorrect!
    [CheckIcNumFromAPROM] productIdx: 11
    [CheckIcNumFromAPROM] serverIc: ZPJ210Q0, strlen(serverIc): 8
    [CheckIcNumFromAPROM] deviceIc: ZPJ211A0, strlen(deviceIc): 8
    [CheckIcNumOneByOne] serverIc[0]: Z, deviceIc[0]: Z
    [CheckIcNumOneByOne] serverIc[1]: P, deviceIc[1]: P
    [CheckIcNumOneByOne] serverIc[2]: J, deviceIc[2]: J
    [CheckIcNumOneByOne] serverIc[3]: 2, deviceIc[3]: 2
    [CheckIcNumOneByOne] serverIc[4]: 1, deviceIc[4]: 1
    [CheckIcNumOneByOne] serverIc[5]: 0, deviceIc[5]: 1
    [CheckIcNumOneByOne][ERROR] This device's IC is incorrect!
    [CheckIcNumFromAPROM] productIdx: 12
    [CheckIcNumFromAPROM] serverIc: ZPJ210Q1, strlen(serverIc): 8
    [CheckIcNumFromAPROM] deviceIc: ZPJ211A0, strlen(deviceIc): 8
    [CheckIcNumOneByOne] serverIc[0]: Z, deviceIc[0]: Z
    [CheckIcNumOneByOne] serverIc[1]: P, deviceIc[1]: P
    [CheckIcNumOneByOne] serverIc[2]: J, deviceIc[2]: J
    [CheckIcNumOneByOne] serverIc[3]: 2, deviceIc[3]: 2
    [CheckIcNumOneByOne] serverIc[4]: 1, deviceIc[4]: 1
    [CheckIcNumOneByOne] serverIc[5]: 0, deviceIc[5]: 1
    [CheckIcNumOneByOne][ERROR] This device's IC is incorrect!
    [CheckIcNumFromAPROM] productIdx: 13
    [CheckIcNumFromAPROM] serverIc: ZPJ211D0, strlen(serverIc): 8
    [CheckIcNumFromAPROM] deviceIc: ZPJ211A0, strlen(deviceIc): 8
    [CheckIcNumOneByOne] serverIc[0]: Z, deviceIc[0]: Z
    [CheckIcNumOneByOne] serverIc[1]: P, deviceIc[1]: P
    [CheckIcNumOneByOne] serverIc[2]: J, deviceIc[2]: J
    [CheckIcNumOneByOne] serverIc[3]: 2, deviceIc[3]: 2
    [CheckIcNumOneByOne] serverIc[4]: 1, deviceIc[4]: 1
    [CheckIcNumOneByOne] serverIc[5]: 1, deviceIc[5]: 1
    [CheckIcNumOneByOne] serverIc[6]: D, deviceIc[6]: A
    [CheckIcNumOneByOne][ERROR] This device's IC is incorrect!
    [CheckIcNumFromAPROM] productIdx: 14
    [CheckIcNumFromAPROM] serverIc: ZPJ211D0, strlen(serverIc): 8
    [CheckIcNumFromAPROM] deviceIc: ZPJ211A0, strlen(deviceIc): 8
    [CheckIcNumOneByOne] serverIc[0]: Z, deviceIc[0]: Z
    [CheckIcNumOneByOne] serverIc[1]: P, deviceIc[1]: P
    [CheckIcNumOneByOne] serverIc[2]: J, deviceIc[2]: J
    [CheckIcNumOneByOne] serverIc[3]: 2, deviceIc[3]: 2
    [CheckIcNumOneByOne] serverIc[4]: 1, deviceIc[4]: 1
    [CheckIcNumOneByOne] serverIc[5]: 1, deviceIc[5]: 1
    [CheckIcNumOneByOne] serverIc[6]: D, deviceIc[6]: A
    [CheckIcNumOneByOne][ERROR] This device's IC is incorrect!
    [CheckIcNumFromAPROM] productIdx: 15
    [CheckIcNumFromAPROM] serverIc: ZPJ210T2, strlen(serverIc): 8
    [CheckIcNumFromAPROM] deviceIc: ZPJ211A0, strlen(deviceIc): 8
    [CheckIcNumOneByOne] serverIc[0]: Z, deviceIc[0]: Z
    [CheckIcNumOneByOne] serverIc[1]: P, deviceIc[1]: P
    [CheckIcNumOneByOne] serverIc[2]: J, deviceIc[2]: J
    [CheckIcNumOneByOne] serverIc[3]: 2, deviceIc[3]: 2
    [CheckIcNumOneByOne] serverIc[4]: 1, deviceIc[4]: 1
    [CheckIcNumOneByOne] serverIc[5]: 0, deviceIc[5]: 1
    [CheckIcNumOneByOne][ERROR] This device's IC is incorrect!
    [CheckIcNumFromAPROM] productIdx: 16
    [CheckIcNumFromAPROM] serverIc: ZPJ210V0, strlen(serverIc): 8
    [CheckIcNumFromAPROM] deviceIc: ZPJ211A0, strlen(deviceIc): 8
    [CheckIcNumOneByOne] serverIc[0]: Z, deviceIc[0]: Z
    [CheckIcNumOneByOne] serverIc[1]: P, deviceIc[1]: P
    [CheckIcNumOneByOne] serverIc[2]: J, deviceIc[2]: J
    [CheckIcNumOneByOne] serverIc[3]: 2, deviceIc[3]: 2
    [CheckIcNumOneByOne] serverIc[4]: 1, deviceIc[4]: 1
    [CheckIcNumOneByOne] serverIc[5]: 0, deviceIc[5]: 1
    [CheckIcNumOneByOne][ERROR] This device's IC is incorrect!
    [AdjustCurrentProductFromAPROM][ERROR] NOT FOUND: currentProduct
    [OnTimer][GUI_SAY_WAITING_FOR_VIDPID] Controller's VID PID is in list, but AdjustCurrentProductFromAPROM == FALSE
    [OnPaint] STATUS_OF_PNG: -108
    => GUI_SAY_FAIL
    => FAILED_REASON_CANT_SEARCH_VIDPID
    [OnBnClickedCancel][Exit]STATUS_OF_PNG: -108