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