太简单了,你可以按下面这个步骤做:
一、使用一个纯文本编辑器,编辑 abcd.rc
在里面这样定义:
/********
abcd.rc
*********/
#define IDS_STRING1 1
#define IDS_STRING2 2
#define IDS_STRING3 3
STRINGTABLE
{
IDS_STRING1, "你需要写的内容"
IDS_STRING2, "ddddd"
IDS_STRING3, "ggghhhh"
}
然后用 Delphi 安装目录下Bin子目录的 Brcc32.exe 编译这个文件
假设abcd.rc 在当前目录下
C:/Delphi/Bin>brcc32 abcd
然后运行 Delphi
建立一个 Dll 的工程,你可以这样写:
library ddd;
{ Important note about DLL memory management: ShareMem must be the
first unit in your library's USES clause AND your project's (select
View-Project Source) USES clause if your DLL exports any procedures or
functions that pass strings as parameters or function results. This
applies to all strings passed to and from your DLL--even those that
are nested in records and classes. ShareMem is the interface unit to
the DELPHIMM.DLL shared memory manager, which must be deployed along
with your DLL. To avoid using DELPHIMM.DLL, pass string information
using PChar or ShortString parameters. }
uses
SysUtils,
Classes;
{$R abcd.res}
begin
end.
直接编译这个工程后可以得到 ddd.DLL 文件
二、在 Delphi 中调用
你可以在一个方法中使用下面这段代码
procedure TForm1.Button1Click(Sender: TObject);
var
hDll:HMODULE;
cChar:array[0..254] of char;
begin
hDll:=LoadLibrary('ddd.dll')
//载入 DLL 文件
LoadString(hDll, 1, cChar, 254)
//读取字符资源,1表示资源文件中定义的1
freeLibrary(hdll)
//释放 DLL
showmessage(aChar)
//显示你需要的数据
end;
不知道这样的回答你是否满意?