如何动态调用DLL窗体

葫芦老四 2011-11-19 11:27:44
我现有一个DLL文件(Bak_Data.dll),dll文件中包含一个窗体(BakForm)

DLL中输出的过程为:

procedure BakForm_Show;stdcall;
begin
if BAKForm=nil then
BAKForm:=TBAKForm.Create(Application);
BAKForm.Show;
end;

请问如何在EXE程序中动态调用这个DLL窗体,静态的方式我会,动态的老是不成功,请高手指点下!
...全文
176 3 打赏 收藏 转发到动态 举报
写回复
用AI写文章
3 条回复
切换为时间正序
请发表友善的回复…
发表回复
葫芦老四 2011-11-19
  • 打赏
  • 举报
回复
我在主程序中是这样写的:

procedure TMainForm.N1Click(Sender: TObject);
var
BakDll:THandle;

begin

BakDll:=LoadLibrary('Bak_Data.dll');
try
begin
if BakDll<>0 then
begin
BakForm_Show:= GetProcAddress(BakDll,'BakForm_Show')

end else
RaiseLastWin32Error;
end;
finally
FreeLibrary(BakDll);

end;
end;

这中间还差点代码来调用窗体,请问该如何写呢
葫芦老四 2011-11-19
  • 打赏
  • 举报
回复
搞出来了,原来是如此简单的一件事,搞明白了差点撞墙.
OO_is_just_P 2011-11-19
  • 打赏
  • 举报
回复
在DLL中写一个导出函数
function SelectName(const Names:PChar):PChar;stdcall;export;
begin
FrmSelName :=TFrmSelName.Create(nil);
Try
frmSelName.Listbox1.Items.clear;
frmSelName.Listbox1.Items.AddStrings(Names);
....
ShowModal;
Finally
FrmSelName.Free;
end;
end;
内容概要:本文围绕可变桨叶四旋翼无人机的规范控制与点对点运动模拟展开,重点研究优化推力分配策略在翻转动作中的应用与性能比较。通过Matlab代码实现,构建了四旋翼动力学模型,并设计了多种控制算法以实现精确的姿态调整与轨迹跟踪。研究对比了不同推力分配方案在执行高机动性翻转动作时的稳定性、能耗效率与响应速度,旨在提升无人机在复杂飞行任务中的动态性能与控制精度。该仿真研究为无人机飞控系统的设计与优化提供了理论依据和技术支持。; 适合人群:具备一定自动控制理论基础和Matlab编程能力,从事无人机控制、飞行器动力学或机器人系统研究的科研人员及研究生。; 使用场景及目标:① 实现四旋翼无人机在三维空间中的精确点对点运动控制;② 对比分析不同推力分配策略在执行翻转等高难度动作时的控制效果与能耗表现,优化飞行性能;③ 为无人机自主飞行、特技飞行及复杂环境下的机动控制提供算法验证平台。; 阅读建议:此资源以Matlab仿真为核心,建议读者结合相关控制理论知识,深入理解代码实现细节,重点关注动力学建模、控制律设计与推力分配模块。在学习过程中,应动手调试参数,复现文中翻转动作的仿真结果,并尝试拓展至其他复杂飞行任务,以加深对无人机控制机理的理解。

5,943

社区成员

发帖
与我相关
我的任务
社区描述
Delphi 开发及应用
社区管理员
  • VCL组件开发及应用社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧