Вниз
Скачать: CL | DM;

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 вся ветка

Скачать: CL | DM;



Память: 0.46 MB
Время: 0.032 c
2-1156924527
graf
2006-08-30 11:55
2006.09.17
Преобразование буквенного кода в числовое


1-1154340156
abhtr
2006-07-31 14:02
2006.09.17
Как изменить меню "Вид" в OpenDialog


3-1152866718
KygECHuK
2006-07-14 12:45
2006.09.17
Работа с правами


2-1156769635
AlexanderMS
2006-08-28 16:53
2006.09.17
Добавить новую кнопку TToolButton к панели инструментов TToolBar.


2-1157042328
Sele
2006-08-31 20:38
2006.09.17
запуск с параметром




   Наверх