我不知你这段程序的目的,要调用资源中的BMP图象,只须调用TBitmap的方法:procedure TBitmap.LoadFromResourceName(Instance: THandle; const ResName: string);即可,何必绕这么大的圈!

解决方案 »

  1.   

    pgc3000:谢谢你的答复
     我的意思是想要创建一个BMP图像的文件
      

  2.   

    我大概看了一下,是不是你的res析构的太早了,是不是loadfromstream只传了个指针,而你析构调RES后bmps就指向空了,你可以在生成文件后析构res或不知道那个类有没有ASSIGN方法。我也没去做一下,不知对不对。
      

  3.   

        估计是res : TResourceStream发生错误,你的流定义的太广,要生成特定的流就需要定义相应的流,这里定义为BMP流就可解决问题。
      

  4.   

    要创建一个BMP图象的文件也简单,只须调用TBitmap的方法:SaveToFile即可。
      

  5.   

    估计是这样的,在你的这一句话中要求系统从当前的实例中装载一个名为BMPPHEADER的数据到TResourceStream中,这个数据的类型为DATA.如果你的当前实例中没有这个资源那就会出这个错误。首先你应该检查一下你的程序中是否包含了相关的资源,以及是否资源的名称正确。你的写法是没有问题的,初步你的程序的目的是讲Hinstance指向的资源存储为一个外部文件。至于在Delphi是如何使用除了BMP,ICON,CURSOR之外的资源你可以看一些例程或者帮助信息。