吾爱破解 - 52pojie.cn

 找回密码
 注册[Register]

QQ登录

只需一步,快速开始

查看: 554|回复: 2
收起左侧

[求助] delphi的.dpr中如何调用主窗体中的function?

[复制链接]
冥界3大法王 发表于 2023-8-8 08:16
.dpr 中(实际是.dll中)有下面一段代码:
[Asm] 纯文本查看 复制代码
function GetDllPath: string;
var
  ModuleName: string;
begin
  SetLength(ModuleName, 255); // 取得Dll自身路径
  GetModuleFileName(HInstance, PChar(ModuleName), Length(ModuleName));
  Result := PChar(ModuleName);
end;


Form1主窗体体也有一段相同的
[Asm] 纯文本查看 复制代码
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. 调用主窗体实例的函数。

下面是一个示例代码:

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
您需要登录后才可以回帖 登录 | 注册[Register]

本版积分规则

返回列表

RSS订阅|小黑屋|处罚记录|联系我们|吾爱破解 - LCG - LSG ( 京ICP备16042023号 | 京公网安备 11010502030087号 )

GMT+8, 2024-11-24 20:49

Powered by Discuz!

Copyright © 2001-2020, Tencent Cloud.

快速回复 返回顶部 返回列表