Приветствую участников форума!
Столкнулся я с проблемой: в процессе разработки относительно большого проекта, в одной из функций вызываю чтение bmp-файла. И чаще всего эта функция отрабатывает без проблем.
Но иногда, начиная с некоторого момента (обычно часов через 5 непрерывной работы скрипта) функция начинает возвращать ошибку.
Вот фрагмент кода:
LogDbg это просто обертка для ConsoleWrite, которая также пишет лог в файл.
И вот, функция _GDIPlus_BitmapCreateHBITMAPFromBitmap, на протяжении часов работающая идеально, вдруг начинает возвращать 0 и устанавливать @error.
Почитав справку, нашел, что "@extended may contain GPSTATUS error code ($GPID_ERR*)". После чего, собственно, добавил этот @extended в код.
Сегодня скрипт в очередной раз упал, выдав при этом: extended code: 7.
Как мне понять, что такое код 7, какие еще коды бывают и что делать?
GPSTATUS и $GPID_ERR гуглил, ничего внятного не нашел. GdipCreateHBITMAPFromBitmap тоже смотрел, нашел только ссылку на некие Bitmap Functions на сайте Microsoft. Про коды ошибок - ни слова нет.
Столкнулся я с проблемой: в процессе разработки относительно большого проекта, в одной из функций вызываю чтение bmp-файла. И чаще всего эта функция отрабатывает без проблем.
Но иногда, начиная с некоторого момента (обычно часов через 5 непрерывной работы скрипта) функция начинает возвращать ошибку.
Вот фрагмент кода:
Код:
Local $hBmp = _GDIPlus_BitmapCreateFromFile($imageDir & '\' & $fileName)
If $hBmp = 0 Then
Exit
EndIf
Local $hImg = _GDIPlus_BitmapCreateHBITMAPFromBitmap($hBmp)
If @error Then
LogDbg("_GDIPlus_BitmapCreateHBITMAPFromBitmap failed, extended code: "&@extended)
Exit
EndIf
LogDbg это просто обертка для ConsoleWrite, которая также пишет лог в файл.
И вот, функция _GDIPlus_BitmapCreateHBITMAPFromBitmap, на протяжении часов работающая идеально, вдруг начинает возвращать 0 и устанавливать @error.
Почитав справку, нашел, что "@extended may contain GPSTATUS error code ($GPID_ERR*)". После чего, собственно, добавил этот @extended в код.
Сегодня скрипт в очередной раз упал, выдав при этом: extended code: 7.
Как мне понять, что такое код 7, какие еще коды бывают и что делать?
GPSTATUS и $GPID_ERR гуглил, ничего внятного не нашел. GdipCreateHBITMAPFromBitmap тоже смотрел, нашел только ссылку на некие Bitmap Functions на сайте Microsoft. Про коды ошибок - ни слова нет.