TUInt8 ImagFile_Buffer[261174]; static int _GetData(void * p, const U8 ** ppData, unsigned NumBytesReq, U32 Off) { TUInt32 error; TUInt32 NumBytesRead; TUInt32 FileLength = 0; T_uezFile * phFile; phFile = (T_uezFile *)p; /* * Check buffer size */ if (NumBytesReq > sizeof(ImagFile_Buffer)) { NumBytesReq = sizeof(ImagFile_Buffer); } // SetFilePointer(*phFile, Off, 0, FILE_BEGIN); //How to replace it error = UEZFileRead(*phFile, ImagFile_Buffer, NumBytesReq, &NumBytesRead); *ppData = ImagFile_Buffer; return NumBytesRead; } void LoadSelScreen_Action (WM_HWIN hItem, TUInt16 extraBytes) { TUInt32 error; char string[20]; char FileName[15]; T_uezFile file; TUInt32 aNumBytes; TUInt32 FileLength = 0; //===============Draw loading image=================================// hItem = WM_GetDialogItem(hComList, ID_LISTVIEW); LISTVIEW_GetItemText( hItem, 0, (LISTVIEW_GetSelUnsorted(hItem)), FileName, 15); sprintf(string, "%s%s", Loadfrom_directory, FileName); error = UEZFileOpen(string, FILE_FLAG_READ_ONLY, &file); if (error == UEZ_ERROR_NONE) { error = UEZFileRead(file, ImagFile_Buffer, sizeof(ImagFile_Buffer), &aNumBytes); error = GUI_BMP_Draw(ImagFile_Buffer, 0, 0); // error = GUI_BMP_DrawEx(_GetData, &file, 100, 100); while(1) { GUI_Delay(4000); GUI_Exec(); UEZTaskDelay(100); } free(ImagFile_Buffer); UEZFileClose(file); //===============Draw loading image=================================// } }