加载资源文件出错,这是什么原因????(100分)

  • 主题发起人 主题发起人 yeath
  • 开始时间 开始时间
Y

yeath

Unregistered / Unconfirmed
GUEST, unregistred user!
{$R *.RES}

begin
Application.Initialize;
在我的工程中引用资源文件,单步执行到Begin就报内存出错,我在资源文件中
加了图片(资源文件大小778KB),把{$R *.RES}注释了就没问题了,是不是资源
文件太大的原因?
 
{$R *.RES}

资源文件的名称要和程序文件名一样。
不一样这样写

{$R AA.RES}
 
那当然是一样的,要不然加载不了资源文件。
 
应该不是文件太大的原因,或者你换个小点的文件试试
 
不要修改这里的{$R *.RES},将你的图片编译成另外一个资源文件,如下就行了:
{$R *.RES}
{$R PIC.RES}
 
不一定是资源文件的问题,
我想起来了,你的程序是不是需要加载dll文件?
如果找不到,那么在begin之后,就会报内存错
 
提供两种方法,你选对的用,当然,全错就……,呵呵,权当骗点分吧,想问别人
问题却快没有分了,身不由已呀!
:)
procedure TForm1.Button2Click(Sender: TObject);
var
i : integer;
s : string;
begin
s := '请问1<2吗';
for i := 1 to length(s) do
begin
if ByteType(s,i) = mbSingleByte then
ShowMessage(s + ' 的第' + inttostr(i) + '个字符是西文')
else
ShowMessage(s + ' 的第' + inttostr(i) + '个字符是中文');
end;

end;

procedure TForm1.Button3Click(Sender: TObject);
var
i : integer;
s : WideString;
begin
s := '请问1<2吗';
for i := 1 to length(s) do
begin
if Ord(s)<=127 then
ShowMessage(s + ' 的第' + inttostr(i) + '个字符是西文')
else
ShowMessage(s + ' 的第' + inttostr(i) + '个字符是中文');
end;

end;
 
我知道原因了,是我资源文件里换了MAINICON的原因,可能选择的ico格式不符合。多谢大家!
 
多人接受答案了。
 
后退
顶部