Top.Mail.Ru
Мастера DELPHI, Delphi programming community Титульная страница Поиск, карта сайта Написать письмо 
| Новости | Поиск | FAQ | Статьи | Книги | Новости VCL |
| Форумы ЧАТ | Орешник | KOL и MCK |
Форумы -» Основная («Начинающим»)/ Базы / WinAPI / Компоненты / Сети / Media / Игры / Corba и COM / KOL / FreePascal / .Net / Прочее / RSDN.ORG

« предыдущая ветвь | форум | следующая ветвь »

DataModule и иже с ним...


Percent ©   (2006-08-29 15:31:00) 

Файл проекта:

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'. Но толку никакого...


Reindeer Moss Eater   (2006-08-29 16:07:00) [1]

Я бы на твоем месте проверил папки, перечисленные в Library Path у IDE и в свойствах проекта на предмет наличия в них старых версий модулей, перечисленных в uses всех модулей проекта.


Reindeer Moss Eater   (2006-08-29 15:56:00) [2]

>Дополнительный вопрос: почему он не "открывается" "автоматически"?

Вопрос бессмысленный, так как ошибка не в том, что модуль не открыт в IDE. Косяк в чем-то другом


Percent   (2006-08-29 15:54:00) [3]

Библиотеки суть проекты. :-)

Такое возможно.

Вопрос только в том, что сам датамодуль не "виден" до тех пор, пока его не откроешь визуально; в смысле - саму "форму" датамодуля, та, которая *.dfm. То есть , если датамодуль не открыт - система отказывается его видеть, говорит: из формы ConfConsole есть ссылки на несуществующие компоненты в CDM. Более того, говорит, мол, в объявлении класса TCDM указаны несуществующие компоненты, даже удалить их предлагает автоматически. Но ничего такого не происходит при открытой "форме" датамодуля. Дополнительный вопрос: почему он не "открывается" "автоматически"?


Anatoly Podgoretsky   (2006-08-29 15:44:00) [4]

Файл проекта:

library Conf;

uses
//...
unitConsoleDataModule in 'unitConsoleDataModule.pas'{CDM: TDataModule},
unitConfConsole in 'unitConfConsole.pas' {ConfConsole: TConfConsole},

Не уверен, что подобное возможно в файле библиотеки, а именно он у тебя, а не файл проекта.


Наверх

Титульная страница Поиск, карта сайта Написать письмо