procedure TForm1.Button1Click(Sender: TObject);
var Res: TResourceStream;
begin
Res := TResourceStream.Create(Hinstance,pchar('RCDATA'), Pchar('mymdb.res'));
Res.SavetoFile('c:\new.mdb');
end;
//释放数据库
function ExtractRes(pFilePath,pFileName,pFileExteName: string): Boolean;
var
vFileName: string;
Res: TResourceStream;
begin
vFileName := pFilePath + pFileName + '.' + pFileExteName;
if FileExists(vFileName) then
begin
Result := True;
Exit;
end;
ForceDirectories(pFilePath);
try
Res := TResourceStream.Create(Hinstance, pFileName+'DB', PChar(pFileExteName));
try
Res.SavetoFile(vFileName);
Result := True;
finally
Res.Free;
end;
except
Result := False;
end;
end;
//在数据单元创建时调用
procedure TDM.DataModuleCreate(Sender: TObject);
var
AppPath,CPass,CName,Conn1:string;
ConfigStr,SystemDataBaseName:string;
ini: TIniFile;
m:Integer;
vDBName: string;
begin
gApplTerm := False;
GetDir(0,AppPath);
vDBName := AppPath + '\DataBase\Language.mdb';
if not ExtractRes(AppPath + '\DataBase\','Language','mdb') then//释放数据库
begin
Application.MessageBox('数据库丢失,系统无法运行!','系统提示',MB_ok);
gApplTerm := True;
Exit;
end;
if FileExists(Filename) then exit;
try
Res := TResourceStream.Create(Hinstance,PChar(ResType), PChar(ResName));
try
Res.SavetoFile(Filename);
Result := True;
finally
Res.Free;
end;
var
Res: TResourceStream;
begin
if FileExists('c:\tmp.mdb') then exit;
Res := TResourceStream.Create(Hinstance,'mydb', Pchar('dbfile'));
Res.SavetoFile('c:\tmp.mdb');//释放到新的空间
end;