【问题标题】:Memory Error when attempting to load jpeg from resource file Delphi XE7 / OSX尝试从资源文件 Delphi XE7 / OSX 加载 jpeg 时出现内存错误
【发布时间】:2017-02-03 10:37:32
【问题描述】:

我在这个网站上找到了执行以下操作的代码,所以谢谢 但是“logo.Bitmap.LoadFromStream(MyRs);”这一行

访问冲突 - 我认为是某种内存错误。

我用过项目 |资源和图像...添加Jpeg

这是资源未链接的问题,还是我的代码的问题?

谢谢:)

uses
  Classes, FMX.Graphics, FMX.Objects;

procedure MyProvedure();
var
     logo  : TImage;
     MyRS  : TResourceStream;
begin
  MyRS := TResourceStream.Create( HInstance, 'logo_1', RT_RCDATA );
  try
      logo.Bitmap.LoadFromStream( MyRs);
  finally
    MyRS.Free;
  end;
end;

【问题讨论】:

  • 问问自己logo 的生命周期是多少?
  • 此过程打印出带有徽标(位图)的 PDF - 所以生命周期是可以的 - 只要它是第一次创建的! (正如 Ari0nah 所说) - 然后我在 finally 块中释放它。谢谢。

标签: delphi jpeg firemonkey delphi-xe7 timage


【解决方案1】:

您必须在使用之前创建图像:

logo := TImage.Create(nil);

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2014-07-28
    • 1970-01-01
    • 2017-07-08
    • 2011-04-02
    • 1970-01-01
    • 2020-07-09
    • 1970-01-01
    相关资源
    最近更新 更多