冥界3大法王 发表于 2023-8-8 08:16

delphi的.dpr中如何调用主窗体中的function?

.dpr 中(实际是.dll中)有下面一段代码:
function GetDllPath: string;
var
ModuleName: string;
begin
SetLength(ModuleName, 255); // 取得Dll自身路径
GetModuleFileName(HInstance, PChar(ModuleName), Length(ModuleName));
Result := PChar(ModuleName);
end;

Form1主窗体体也有一段相同的
function GetDllPath: string;
var
ModuleName: string;
begin
SetLength(ModuleName, 255); // 取得Dll自身路径
GetModuleFileName(HInstance, PChar(ModuleName), Length(ModuleName));
Result := PChar(ModuleName);
end;


如何 只写一次?
试过了uses 引用下,不行!

咬字分开念 发表于 2023-8-8 08:28

ChatGPT:
如果你想在.dpr文件中调用主窗体中的函数,你可以按照以下步骤进行操作:

1. 在.dpr文件中使用uses语句引入主窗体的单元,确保主窗体的单元已经在uses列表中。

2. 在.dpr文件中创建主窗体的实例。

3. 调用主窗体实例的函数。

下面是一个示例代码:

```delphi
program MyProgram;

uses
Forms,
Unit1; // 主窗体的单元

var
MainForm: TForm1; // 主窗体实例

begin
Application.Initialize;
Application.CreateForm(TForm1, MainForm); // 创建主窗体实例
try
    // 调用主窗体的函数
    ShowMessage(MainForm.GetDllPath);
    // 或者使用下面的方式调用函数
    // ShowMessage(GetDllPath);
    Application.Run;
finally
    MainForm.Free;
end;
end.
```

这样,你就可以在.dpr文件中调用主窗体中的函数了。请确保主窗体的单元已经在uses列表中,并且主窗体的实例已经被创建。

happyxuexi 发表于 2023-8-8 11:59

学习了,大佬分析的对。
页: [1]
查看完整版本: delphi的.dpr中如何调用主窗体中的function?