社区
其他数据库
帖子详情
怎样在程序开始之前启动Interbase服务,在程序关闭时也关闭Interbase服务?
TourAn
2003-05-12 03:20:53
怎样在程序开始之前启动Interbase服务,在程序关闭时也关闭Interbase服务?
客户这样要求,真tmd没有办法 :(
...全文
242
10
打赏
收藏
怎样在程序开始之前启动Interbase服务,在程序关闭时也关闭Interbase服务?
怎样在程序开始之前启动Interbase服务,在程序关闭时也关闭Interbase服务? 客户这样要求,真tmd没有办法 :(
复制链接
扫一扫
分享
转发到动态
举报
写回复
配置赞助广告
用AI写文章
10 条
回复
切换为时间正序
请发表友善的回复…
发表回复
打赏红包
lxy6080
2003-06-17
打赏
举报
回复
gz
Acquarius
2003-05-20
打赏
举报
回复
承蒙楼上夸奖。
chngoing
2003-05-20
打赏
举报
回复
你想法是不错,不过最好还能在系统托盘中隐藏ib server的图标,而且在进程管理器中隐藏ib server 的进程。
Acquarius
2003-05-20
打赏
举报
回复
启动代码如上。
Acquarius
2003-05-20
打赏
举报
回复
String __fastcall TMainForm::GetIBRootDir()
{
String Res;
TRegistry *R=new TRegistry();
R->RootKey=HKEY_LOCAL_MACHINE;
if(R->OpenKey("\Software\Borland\Interbase\CurrentVersion", false))
Res=R->ReadString("RootDirectory");
else
Res="";
delete R;
return Res;
}
Acquarius
2003-05-20
打赏
举报
回复
呵呵。其实我也不是想要分,不过这个问题确实太难了。我先把启动服务的代码给你:
void __fastcall TMainForm::StartIB()
{
String PathToGuardian;
HINSTANCE Res;
SC_HANDLE ServiceHandle;
if(Win32Platform==VER_PLATFORM_WIN32_NT) //NT/XP Platform
{
ServiceHandle=GetIBHandle();
if(ServiceHandle==NULL) //fatal error, cannot get service handle
Application->Terminate();
if(!StartService (ServiceHandle, 0, NULL))
{
ShowMessage("Service start error: "+GetErrorMsg());
//error: cannot start service, maybe already running?
}
}
else // Win9X platform
{
PathToGuardian=GetIBDir()+"ibguard.exe";
Res=ShellExecute(this->Handle,NULL, PathToGuardian.c_str(), "", GetIBRootDir().c_str(), SW_NORMAL);
if((int)Res<=32)
ShowMessage("Unable to start IB server!");
}
}
//---------------------------------------------------------------------------
SC_HANDLE __fastcall TMainForm::GetIBHandle()
{
SC_HANDLE SCMHandle;
SC_HANDLE Res=NULL;
SCMHandle=OpenSCManager(NULL, NULL, GENERIC_EXECUTE);
if(SCMHandle==NULL)
{
ShowMessage("SCM Error: "+GetErrorMsg());
}
else
{
Res=OpenService(SCMHandle, "InterBaseGuardian", SERVICE_ALL_ACCESS);
if(Res==NULL)
{
ShowMessage("Service open error: "+GetErrorMsg());
}
}
return Res;
}
String __fastcall TMainForm::GetIBDir()
{
TRegistry *R=new TRegistry();
String Res;
R->RootKey=HKEY_LOCAL_MACHINE;
if(R->OpenKey("\Software\Borland\Interbase\CurrentVersion", false))
Res=R->ReadString("ServerDirectory");
else
Res="";
delete R;
return Res;
}
erickleung
2003-05-19
打赏
举报
回复
FB 1.5新加入了embedded firebird, 你的程式可以直接使用其 700K的fbembedd.dll来连上本地数据库. 相信会是最方便的方式.
TourAn
2003-05-18
打赏
举报
回复
Acquarius(大管家)
分不够可以再加!!!
耙子
2003-05-13
打赏
举报
回复
看看 FAQ,类似的问题我问过。
Acquarius
2003-05-12
打赏
举报
回复
你需要用API调用并根据不同的操作系统进行操作,不过20分太少。
RAD Studio 12安装全攻略:从下载到破解
Inte
r
Base
的完整流程(附KeyPatch使用技巧)
本文详述RAD Studio 12在Windows平台上的完整安装流程,涵盖环境检查、ISO解压、管理员运行、组件选择(含Delphi、C++ Builder及
Inte
r
Base
),以及
Inte
r
Base
服务
启停、连接配置、端口调试与性能调优。同
时
介绍FireDAC数据库访问、LiveBindings绑定机制和跨平台开发基础配置,强调合法授权与开发环境优化实践。
RAD Studio 12(Delphi 12)安装与配置全攻略
本文详细讲解RAD Studio 12(Delphi 12)在Windows 9/11上的完整安装流程,涵盖安装前系统要求校验、ISO文件完整性验证、以管理员身份运行安装
程序
、许可证授权处理、组件选择策略,重点解析
Inte
r
Base
数据库
服务
的手动
启动
与授权修补方法,并给出首次运行权限配置、库路径设置、Git集成及四大典型故障(授权失败、端口冲突、错误码2503/2502、DPI显示异常)的排查方案。
RAD Studio 10.4.2 安装避坑指南:从镜像加载到首次运行的全流程解析
本文详细解析RAD Studio 10.4.2从镜像获取、校验、本地解压到分步安装、内存级激活(Patch)、
Inte
r
Base
专项处理及首次管理员运行的完整技术流程。强调ISO完整性验证(SHA-1)、禁止虚拟光驱直载、
关闭
安全软件防拦截、安装与激活严格
时
序配合、IDE权限配置与基础功能验证等关键技术要点,适用于Delphi/C++Builder开发者部署稳定开发环境。
RAD Studio 12(Delphi 12)安装与配置全指南
本文详述RAD Studio 12(Delphi 12)的完整安装与配置流程,涵盖系统准备、管理员权限安装、补丁与序列号应用、组件选择、
Inte
r
Base
数据库配置、多版本共存、移动开发环境搭建及常见问题排错。重点强调安装顺序规范、权限要求、路径约束、安全软件规避及性能调优措施,适用于Windows平台下的原生桌面与移动端Delphi开发环境部署。
RAD Studio 10.4.2完整安装流程:从下载镜像到首次运行
本文详述RAD Studio 10.4.2从ISO镜像下载、加载、管理员权限安装,到许可证激活、
Inte
r
Base
组件选择、首次运行配置及开发环境验证的全流程。涵盖系统准备、UAC/.NET/VC++依赖处理、FireMonkey跨平台编译测试、dbExpress数据库连接等关键技术环节,适用于Delphi与C++Builder混合开发场景。
其他数据库
2,209
社区成员
9,519
社区内容
发帖
与我相关
我的任务
其他数据库
其他数据库开发 其他数据库
复制链接
扫一扫
分享
社区描述
其他数据库开发 其他数据库
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
暂无公告
试试用AI创作助手写篇文章吧
+ 用AI写文章