Большинство устройств, над которыми я работаю, используют модуль данных. Одна из самых раздражающих вещей, с которыми я сталкиваюсь, это сообщение об ошибке, сообщающее мне
Модуль X ссылается на другой модуль и не может быть сохранен, пока модуль Y не загружен.
Теперь я уверен, что есть очень веская причина, по которой CheckNoFixups
вызывает эту ошибку при попытке WriteRootStream
и не может сохранить то, что фактически является текстовым файлом (и, надеюсь, за этим не следует Catastrophic Failure
где я должен затем перезапустить IDE, пока не могу сохранить свою работу.) Но в чем причина?
Почему я не могу нажать «Сохранить», не открыв ничего текстового файла, содержащего различные функции и объекты, как у любого другого устройства? Что такого особенного в модуле DataModule, который означает, что я не могу сохранить источник, над которым я работаю, до тех пор, пока он не будет открыт, почему 45 других модулей в предложении использования не настолько важны, чтобы они были открыты?
EDIT:
Это Delphi 2007
Объявление DataModule:
unit DataMD;
TRepDataMod = class(TDataModule)
...
var
RepDataMod: TRepDataMod;