OpenEdv-开源电子网

 找回密码
 立即注册
正点原子全套STM32/Linux/FPGA开发资料,上千讲STM32视频教程免费下载...
查看: 1952|回复: 0

_filelistbox_obj 申请内存失败

[复制链接]

1

主题

4

帖子

0

精华

初级会员

Rank: 2

积分
140
金钱
140
注册时间
2018-10-22
在线时间
50 小时
发表于 2019-8-14 14:09:11 | 显示全部楼层 |阅读模式
u8 notepad_play(u8*caption)
{
        FIL* f_txt=0;                                        //文件
        DIR notepaddir;                                        //notepaddir专用          
        FILINFO notepadinfo;                           
          _btn_obj* rbtn=0;                                //返回按钮控件
           _filelistbox_obj * flistbox=0;
        _filelistbox_list * filelistx=0;//文件表
        u8 *pname=0;
        u8 *fn;         
        u8 res;
        u8 rval=0;
        u8 i;
            //展示文件列表
     // app_filebrower(caption,0X07);

      //选择一个文本文件打开
                //        flistbox=filelistbox_creat(0,32,800,480-24*2,1,24);//创建一个filelistbox
                        flistbox=filelistbox_creat(0,gui_phy.tbheight,lcddev.width,lcddev.height-gui_phy.tbheight*2,1,gui_phy.listfsize);//创建一个filelistbox

                        if(flistbox==NULL)
                        {       
                        rval=1;                                                        //申请内存失败.
                           LED1=0;
                        }
                        else  
                        {
                                                          LED1=0;
                                flistbox->fliter=FLBOX_FLT_TEXT|FLBOX_FLT_LRC;        //查找TEXT文件
                                filelistbox_add_disk(flistbox);        //添加磁盘路径
                                filelistbox_draw_listbox(flistbox);
                        }          
                        //为长文件名申请缓存区
                         notepadinfo.lfsize = _MAX_LFN * 2 + 1;
                        notepadinfo.lfname = gui_memin_malloc(notepadinfo.lfsize);
                        if(notepadinfo.lfname==NULL)rval=1;//申请内存失败
                           else gui_memset((u8*)notepadinfo.lfname,0,notepadinfo.lfsize);
                                f_txt=(FIL *)gui_memin_malloc(sizeof(FIL));        //开辟FIL字节的内存区域
              if(f_txt==NULL)rval=1;                                        //申请失败
                        rbtn=btn_creat(770-(2*gui_phy.tbfsize+8),400-(gui_phy.tbheight-1),2*gui_phy.tbfsize+8,gui_phy.tbheight-1,0,0x03);//创建文字按钮
                        if(rbtn==NULL)rval=1;        //没有足够内存够分配
                        else
                        {                                                                                                                                                               
                                rbtn->caption=(u8*)ok_table[0][2];//返回
                                rbtn->font=24;
                                rbtn->bcfucolor=BLACK;//松开时为黑色
                                rbtn->bcfdcolor=WHITE;//按下时为白色       
                                btn_draw(rbtn);//画按钮        
                        }       



红色部分flistbox申请内存失败,不知道为什么。


正点原子逻辑分析仪DL16劲爆上市
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则



关闭

原子哥极力推荐上一条 /2 下一条

正点原子公众号

QQ|手机版|OpenEdv-开源电子网 ( 粤ICP备12000418号-1 )

GMT+8, 2025-6-8 00:27

Powered by OpenEdv-开源电子网

© 2001-2030 OpenEdv-开源电子网

快速回复 返回顶部 返回列表