B
bestsnow
Unregistered / Unconfirmed
GUEST, unregistred user!
1.我用Delphi建了一个best.dll工程,其中包含了test.rc,test.rc的内容如下:
STRINGTABLE
{
10001, "测试1"
10002, "测试2"
10003, "测试3"
}
把这个工程编译得到 best.dll
2.我再建了一个工程test.exe,把best.dll copy到test目录下。在Test中放了一个Label,和一个Button。
在Button1的OnClick中有如下代码:
procedure TForm1.Button1Click(Sender: TObject);
var
hin : THandle;
ch :LPTSTR;
begin
hin := LoadLibrary('chen.dll');
if(hin=0)then
ShowMessage('fail')
else
begin
LoadString(hin,10003,ch,255);
end;
Label1.Caption := ch;
FreeLibrary(hin);
end;
运行正常。
但我在FormCreate中加如上代码时报如下错误:
Access violation at address 00435014 in module 'test.exe'. Read of address DDBEFDB6.
请产生这个问题的原因,如何解决?
STRINGTABLE
{
10001, "测试1"
10002, "测试2"
10003, "测试3"
}
把这个工程编译得到 best.dll
2.我再建了一个工程test.exe,把best.dll copy到test目录下。在Test中放了一个Label,和一个Button。
在Button1的OnClick中有如下代码:
procedure TForm1.Button1Click(Sender: TObject);
var
hin : THandle;
ch :LPTSTR;
begin
hin := LoadLibrary('chen.dll');
if(hin=0)then
ShowMessage('fail')
else
begin
LoadString(hin,10003,ch,255);
end;
Label1.Caption := ch;
FreeLibrary(hin);
end;
运行正常。
但我在FormCreate中加如上代码时报如下错误:
Access violation at address 00435014 in module 'test.exe'. Read of address DDBEFDB6.
请产生这个问题的原因,如何解决?