我对旧的 Delphi程序(D7)的维护有问题.很多程序逻辑都在DPR文件中(这不是一个窗口程序),有些单元提供了访问数据库的功能.我们需要从DB单元中进行一些调试,但调试功能在DPR中.我们不能轻易剥离调试功能,因为它使用DPR独有的东西,比如它的主管道.把它分开就像试图分开意大利面和肉丸酱.
那么我们如何从下级使用单元调用在DPR范围内声明的函数?什么是C++中的::运算符的等价物?
请不要告诉我重新设计应用程序.我很乐意,但我们不会得到必要的时间.此外,如果我们重新设计这只小狗,它将不会在德尔福.
Uwe*_*abe 14
您可以在单元中声明与DPR中函数的签名匹配的方法变量.在程序的最开始,您将方法变量设置为函数.在单元内部,您可以调用方法变量.
例:
(DPR)
uses
Unit1;
function DoSomething(Par: Integer): Integer;
begin
...
end;
...
begin
DoSomethingVar := DoSomething;
...
end;
Run Code Online (Sandbox Code Playgroud)
(单元)
unit Unit1;
interface
...
var
DoSomethingVar: function(Par1: Integer): Integer;
...
implementation
...
SomeResult := DoSomethingVar(SomeParameter);
...
Run Code Online (Sandbox Code Playgroud)