救命啊~!(50分)

  • 主题发起人 主题发起人 qbtxx
  • 开始时间 开始时间
Q

qbtxx

Unregistered / Unconfirmed
GUEST, unregistred user!
如下是一段很简短的流操作~没有什么语法语句上的错误,可不知为什么老是要提示!并且释放不了dll文件到指定的目录里?程序Delphi编译通过了,可就是没用!
怎么样能不提示跳过去,并且然程序能自由释放我那DLL文件???急~!
unit Unit1;
interface
uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, StdCtrls;
type
TForm1 = class(TForm)
procedure FormCreate(Sender: TObject);
private
{ Private declarations }
public
{ Public declarations }
end;
var
Form1: TForm1;
implementation
{$R *.dfm}
{$R abc.res}
procedure pojie;
var
MM:TResourceStream;
begin
MM:= TResourceStream.Create(HInstance,'dll1','RC_Dll');
MM.SaveToFile('C:/Program Files/abc/aaa/abc.DLL');
MM.Free;
end;
procedure TForm1.FormCreate(Sender: TObject);
begin
pojie;
end;
end.
======================================================================
提示如下:
Debugger Exception Notfication
-------------------------------
Project Project1.exe raised exception class EResNotFound with message'Resource Dll1
not found'.Process stopped Use Step or Run to continue.
-------------------------------
View CPU Window [OK] [Help]
 
在资源中Dll1 没有找到,是不是你写错了
 
重建你的资源文件abc.res,严格对照一下标识字
 
{$R abc.res}
变量类型或者BCC编译出错, .RC-> .RES 文件真的做好了没?
 
1:编辑一个resource.rc文件,里面类似如下:
hookdll RC_Dll YourHookDllFileName.Dll
2:然后用Brcc32.exe编译:
brcc32 resource.rc
结果生成resource.res文件
3:修改窗体Pas或者Dpr文件,添加下面的代码:
{$R *.res}
{$R resource.res}
4:关键的代码:
在窗体初始化或者工程的开头部分添加代码:
var
res:tresourcestream;
....
res:=tresourcestream.create(instance,'hookdll','RC_Dll');
res.SaveToFile('YourHookDllFileName.Dll');
res.Free;
5:你的程序退出的时候:
DeleteFile('YourHookDllFile.Dll');
6:End
看来是Brcc32文件坏了吧~!郁闷~
 
答的中肯,放分!
 

Similar threads

I
回复
0
查看
526
import
I
I
回复
0
查看
726
import
I
S
回复
0
查看
842
SUNSTONE的Delphi笔记
S
I
回复
0
查看
775
import
I
后退
顶部