Форум: "Начинающим";
Текущий архив: 2006.09.17;
Скачать: [xml.tar.bz2];
ВнизDataModule и иже с ним... Найти похожие ветки
← →
Percent (2006-08-29 15:31) [0]Файл проекта:
library Conf;
uses
//...
unitConsoleDataModule in "unitConsoleDataModule.pas" {CDM: TDataModule},
unitConfConsole in "unitConfConsole.pas" {ConfConsole: TConfConsole},
//...
Файл unitConsoleDataModule:unit unitConsoleDataModule;
interface
//...
type
TCDM = class(TDataModule)
{...}
end;
var
CDM: TCDM;
Файл unitConfConsole:unit unitConfConsole;
interface
uses
Windows,{...} unitConsoleDataModule;
type
TConfConsole = class(TForm, {...})
{...}
constructor Create(Owner: TComponent); override;
end;
implemetation
constructor TConfConsole.Create(Owner: TComponent);
begin
CDM := TCDM.Create(Self);
inherited Create(Owner);
{...}
end;
В момент компиляции проекта возникает ошибка:
Module "ConfConsole" links to module "CDM" which cannot be found in the current project.
Do you wish to remove/redirect the links to another module?
Если ответить No, начинают сыпаться Access Violation с произвольных адресов.
Если ответить Yes, иногда (не всегда, порой - опять же Access Violation) предлагает список DataModule"й, в котором CDM присутствует, и при выборе его - опять то же сообщение, мол, не найден модуль CDM.
Если ответить Cancel - Сообщает, что не может дальше компилировать.
Уж и не знаю, с какой стороны подступиться...
Какие-то смутные неясные мысли по поводу того, что в проекте нет модулей "ConfConsole" и "CDM",
а есть "unitConfConsole" и "unitConsoleDataModule". Но толку никакого...
← →
Anatoly Podgoretsky © (2006-08-29 15:44) [1]Файл проекта:
library Conf;
uses
//...
unitConsoleDataModule in "unitConsoleDataModule.pas" {CDM: TDataModule},
unitConfConsole in "unitConfConsole.pas" {ConfConsole: TConfConsole},
Не уверен, что подобное возможно в файле библиотеки, а именно он у тебя, а не файл проекта.
← →
Percent (2006-08-29 15:54) [2]Библиотеки суть проекты. :-)
Такое возможно.
Вопрос только в том, что сам датамодуль не "виден" до тех пор, пока его не откроешь визуально; в смысле - саму "форму" датамодуля, та, которая *.dfm. То есть , если датамодуль не открыт - система отказывается его видеть, говорит: из формы ConfConsole есть ссылки на несуществующие компоненты в CDM. Более того, говорит, мол, в объявлении класса TCDM указаны несуществующие компоненты, даже удалить их предлагает автоматически. Но ничего такого не происходит при открытой "форме" датамодуля. Дополнительный вопрос: почему он не "открывается" "автоматически"?
← →
Reindeer Moss Eater © (2006-08-29 15:56) [3]>Дополнительный вопрос: почему он не "открывается" "автоматически"?
Вопрос бессмысленный, так как ошибка не в том, что модуль не открыт в IDE. Косяк в чем-то другом
← →
Reindeer Moss Eater © (2006-08-29 16:07) [4]Я бы на твоем месте проверил папки, перечисленные в Library Path у IDE и в свойствах проекта на предмет наличия в них старых версий модулей, перечисленных в uses всех модулей проекта.
Страницы: 1 вся ветка
Форум: "Начинающим";
Текущий архив: 2006.09.17;
Скачать: [xml.tar.bz2];
Память: 0.45 MB
Время: 0.043 c