Я пытаюсь создать procedure
, который создает TDataModule
в Application
в качестве своего родителя.
Проблема в том, что во второй раз, когда я вызываю procedure
, параметр dm
все еще nil
. Я ожидаю чего-то другого от nil
, учитывая, что он был создан раньше.
Вот код, который я пытаюсь:
procedure UseDataModule(dm : TDataModule; cClass:TcomponentClass);
begin
if dm = nil then
cClass.Create(Application);
end;
Есть некоторые требования, которые я хочу для этого procedure
:
Данный
TDataModule
должен быть создан один разОн должен быть создан
procedure
, потому что я хочу иногда использовать его, поэтому я не помещаю его в формы автоматического создания.- Его родителем всегда будет
Application
cClass.Create(Application)
чему-либо. Если вы хотите, чтобы результат был назначенdm
, тогда, а также ваш код, выполняющий фактическое назначение,dm
должен быть параметромvar
, иначе результат будет отброшен после выхода из UseDataModule. - person MartynA   schedule 04.01.2019