我希望快一点 - 我即将钻研Delphi 5遗留应用程序,该应用程序调用DLL(也用D5编写),传递DLL可以根据需要修改的字符串.
我有DLL和应用程序的代码.粘贴在DLL源代码顶部的是关于使用ShareMem的注释,它需要是项目的uses子句中的第一行等.
如果我将这一切移植到D2007,是否有更好的(或更现代的)方法来获得Delphi应用程序与Delphi DLL共享字符串数据?D5 ShareMem的东西是否仍适用于Delphi 2007应用程序(使用FastMM等)?我还没有重新编译整个事情的bash - 只是想知道这一点是否会成为一个问题,是否有替代/推荐的方法这样做?
FWIW,DLL完全是第一方(它只被这个特定的应用程序使用 - 所以在D2007下重新编译它也不会有问题).
简单的任务:我想制作一个程序(parent.exe).有三个按钮.当我单击Button1时,出现Form1; 按钮2,Form2出现时; 当Button3,Form3出现时......
Form1,Form2,Form3存储在三个不同的dll(Form1dll.dll,Form2dll.dll,Form3dll.dll)中.
我想让父程序(parent.exe)运行模块化.我计划添加和删除dll,但Parent.exe要求所有dll都存在,否则会发生异常.
我该如何解决这个问题?
感谢名单
这是来自parent.exe的代码:
procedure ShowForm1;stdcall;external 'Project1dll.dll' name 'ShowForm1';
procedure ShowForm2;stdcall;external 'Project2.dll' name 'ShowForm2';
procedure ShowForm3;stdcall;external 'Project3.dll' name 'ShowForm3';
var
ParentForm: TParentForm;
implementation
{$R *.DFM}
procedure TParentForm.Button1Click(Sender: TObject);
begin
ShowForm1;
end;
procedure TParentForm.Button2Click(Sender: TObject);
begin
ShowForm2;
end;
procedure TParentForm.Button3Click(Sender: TObject);
begin
ShowForm3;
end;
Run Code Online (Sandbox Code Playgroud)