zoukankan      html  css  js  c++  java
  • 资源封装进dll

    有时候开发一个dll,需要使用到模型资源,传统的做法都是放到特定地方去加载,或者放到服务器上去加载。

    虽然前者方便,但资源与组件分离,常常会发生资源与控件不匹配的问题出现。

    后者就更麻烦了,修改的时候通常需要加解密,上传下载。不仅无端增加了网络代码,还增加延迟。

    这时,如果将模型资源打包进dll,将省去下载相关代码,交互也变得极其简单。

    过程如下:

    一、添加数据、资源

      在resource(资源)中 通过 “Add resource -> Import...”选择需要添加的 数据/资源,其中的 resource type 可以自己命名。

    二、访问数据、资源

      使用FindResource,LoadResource查找并加载资源。这与从文件中加载模型的方式区别较大,但在调用CreateStreamOnHGlobal 获取到流之后的操作便相同了。

      传统的调用CreateFile、ReadFile、CreateStreamOnHGlobal 即可完成文件到流的转换。需要注意使用GlobalLock、GlobalUnlock。

      这里调用GetModuleHandleEx(如果是本dll中资源则可以省去)、FindResource、LoadResource、CreateStreamOnHGlobal即可完成流获取。

  • 相关阅读:
    input 正则
    .net ashx Session 未将对象引用到实例
    js 时间和时间对比
    c# Repeater 和 AspNetPager
    c#后台 极光推送到Android 和IOS客户端
    select scope_identity()
    redhat7.4安装git(按照官网从源码安装)
    redhat7.4安装gitlab
    ES6模板字符串
    初次接触webpack
  • 原文地址:https://www.cnblogs.com/ice-arrow/p/12172905.html
Copyright © 2011-2022 走看看