Как получить доступ к функции Дельфи в объеме DPR

Я не был бы. Что-либо, что могло измениться на "пользователя", обычно не хорошо в управлении исходным кодом. .suo, .user, obj/bin каталоги

5
задан Bob Moore 27 July 2009 в 10:30
поделиться

3 ответа

Вы можете объявить переменную метода в модуле, который соответствует сигнатуре функции в DPR. В самом начале программы вы устанавливаете переменную метода в функцию. Внутри модуля вы вызываете переменную метода.

Пример:

(DPR)

uses
  Unit1;

function DoSomething(Par: Integer): Integer;
begin
...
end;

...
begin
  DoSomethingVar := DoSomething;
  ...
end;

(unit)

unit Unit1;

interface
...
var
  DoSomethingVar: function(Par1: Integer): Integer;
...
implementation
...
  SomeResult := DoSomethingVar(SomeParameter);
...
14
ответ дан 18 December 2019 в 07:31
поделиться

Вы не можете. Иерархия модулей жесткая.

Есть два возможных варианта:

  • вытащить соответствующие части .dpr в новый модуль. Имейте в виду, что перенос использования в реализацию может нарушить циклы импорта. Материал createform *, вероятно, небезопасно перемещать, что, вероятно, расстроило бы менеджера проекта.
  • или определите несколько функций обратного вызова (функции, типы методов, такие как указатель функций в C) и переместите код из инициализации соответствующего модуля в процедуру, которую вы вызываете из .dpr при необходимости.
4
ответ дан 18 December 2019 в 07:31
поделиться

Я не знаю, как использовать функции из .dpr в других модулях, но если вам нужно просто изменить код измените .dpr на обычный модуль, а затем используйте его функции / процедуры в новом .dpr и других модулях.

3
ответ дан 18 December 2019 в 07:31
поделиться
Другие вопросы по тегам:

Похожие вопросы: