DLL窗体怎么加载到cxPageControl中,谢谢!

水向东流时光怎么偷 水向东流时光怎么偷 墨衍会员 · AI 创作全网分发 墨衍智能分发 通过墨衍一键同步至各平台 可同步平台 CSDN微信公众号微博知乎掘金百家号博客园抖音小红书 你的文章也可以这样分发 墨衍会员 ¥399起/年,写一次发全网 我也要 + 加入社区
怎么把dll载入到cxpagecontrol中?
现在用的方法只能打一个个打开,怎么能多个显示到page页上?:
 
function ShowDllForm(DLLName: string; ProcName: string; Owner: TForm): Boolean;
var
DllHd: THandle;
ShowDllFormProc: Pointer;
OwnerHandle: HWND;
begin

if Owner = nil then
OwnerHandle := 0
else
OwnerHandle := Owner.Handle;

//ShowMessage(DLLName );
if not FileExists(ExtractFilePath(Application.ExeName) + DLLName) then
begin

MessageBox(OwnerHandle, PChar('找不到文件' + DLLName + ',请检查该模块!'), '提示',
MB_OK or MB_ICONEXCLAMATION);
Result := False;
Exit;
end;
DllHd := LoadLibrary(PChar(DLLName));
if DllHd = 0 then
begin
ShowMessage(DLLName);
MessageBox(OwnerHandle, PChar('加载' + DLLName + '错误,请检查该模块!'), '提示',
MB_OK or MB_ICONEXCLAMATION);
FreeLibrary(DllHd);
Result := False;
Exit;
end;

ShowDllFormProc := GetProcAddress(DllHd, PChar(ProcName));
// ShowMessage('test');
if ShowDllFormProc = nil then
begin

MessageBox(OwnerHandle,
PChar('查找' + DLLName + '中函数' + ProcName + '出错,请检查该模块!'), '提示',
MB_OK or MB_ICONEXCLAMATION);
FreeLibrary(DllHd);
Result := False;
Exit;
end;
// ShowMessage('test2');

try
Result := TShowDllFormProc(ShowDllFormProc)(Owner);
except
MessageBox(OwnerHandle,
PChar('执行' + DLLName + '中函数' + ProcName + '出错,请检查该模块!'), '提示',
MB_OK or MB_ICONEXCLAMATION);
FreeLibrary(DllHd);
Result := False;
Exit;
end;
FreeLibrary(DllHd);

end;
//调用
ShowDllForm('Sys.dll','ShowSYSParamsSetForm',Self);

//SYS.dll中ShowSYSParamsSetForm 写法

function ShowSYSParamsSetForm(Owner : TForm ) : Boolean;stdcall ;
var
frmParamsSet : TfrmParamsSet ;
begin

Application.Handle := CommData.ApplicationHandle ;
frmParamsSet := TfrmParamsSet.Create(Owner );
frmParamsSet.ShowModal;
Result := True ;
FreeAndNil(frmParamsSet);

end;

...全文

相关推荐

exe+dll插件开发生成tabsheet

exe+dll插件开发模式,dll封装窗体生成主窗体的tabsheet

wanlinshan

Delphi下DevExpress VCL安装配置全指南:版本识别与实战避坑

在桌面应用开发中,组件库的引入能显著提升界面开发效率,而IDE与组件库的版本匹配是保证工程顺利推进的前提。Delphi作为经典的Windows桌面开发工具,其VCL框架提供了强大的原生控件支持;DevExpress VCL则是一套企业级控件套件,通过表格、编辑框、页面控件等丰富组件,可快速构建专业业务界面。不同版本线之间存在命名差异,如Delphi跳过13版本,DevExpress以年份加半年命名,理解对应关系可避免安装失败。安装时需确认支持矩阵、清理旧版环境、正确配置Library路径。合理选用cxGri

weixin_33801856

Delphi 13.1下DevExpress VCL 25.2.7安装配置与实战指南

在桌面应用开发领域,Delphi以稳定的编译生态和高效的VCL框架持续服务制造业、医疗与金融等企业级场景。DevExpress VCL Controls作为成熟控件库,覆盖cxGrid、导航、报表等组件,成为Windows桌面开发的重要基座。本文从版本匹配原理切入,解析Delphi 13.1与DevExpress 25.2.7的适配逻辑,介绍安装部署全流程、核心组件配置技巧、控件丢失与编译报错排查方法,并延伸至皮肤统一、Excel/JSON交互及团队版本协作等工程实践。通过系统化梳理,帮助开发者避免版本冲突

weixin_34049948

Delphi 7 经典控件之DevExpress VCL v2011 vol2.6.rar

Delphi 7 经典控件之DevExpress VCL v2011 vol2.6.rar

tjsoft

三相四桥臂电压不对称跌落补偿动态电压恢复器DVR(Simulink仿真实现)

内容概要:本文介绍了一种基于三相四桥臂拓扑结构的动态电压恢复器(DVR),用于补偿电网中由电压不对称跌落引起的电能质量问题。通过Simulink平台构建仿真模型,重点研究了在不平衡负载和电网电压跌落工况下,DVR对负载侧电压的快速补偿能力。系统采用多准PR(Proportional Resonant)并联控制策略,实现对各相电压的独立精确控制,有效抑制负序分量,提升系统在复杂工况下的稳定性和响应性能。仿真结果验证了所提控制方法在电压幅值、相位补偿及波形质量改善方面的有效性,适用于对供电连续性和电能质量要求较高的工业场景。; 适合人群:电力电子、电气工程及其自动化等相关专业的研究生、科研人员及从事电能质量治理的工程技术人员。; 使用场景及目标:①研究动态电压恢复器在电压跌落、三相不平衡等典型电能质量问题中的补偿机制;②掌握三相四桥臂逆变器的建模与多准PR控制策略的设计与实现;③为高精度电能质量调节装置的研发提供理论依据和仿真验证手段。; 阅读建议:建议结合提供的参考文献和说明文档,深入理解控制算法的设计原理,并在Simulink环境中动手复现仿真模型,通过调整故障条件和控制器参数,观察系统动态响应,从而全面掌握DVR的工作特性与优化方法。

大龙不吃小鱼干
评论 2
收藏 已收藏
分享
返回顶部