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

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

Почему один пакет не видит, что в другом пакете есть класс?


Страницы:   1 2

Kolan ©   (2007-07-13 10:40:00) 

Здравствуйте,
 В пакете А, в requires, указан пакет Б. В пакете Б класс есть класс TMyClass.

Добавляю в модуль из пакета А модуль пакета Б где лежит  TMyClass — компилится.

В модуле пакета А пишу: TMyClass— говорит Undeclared identifier: 'TMyClass'. Делаю Ctrl + Click на модуле пакета Б — вижу класс есть.

Почему он не видит класс?

ЗЫ
 С други пакетом, — все нормально :(


Kolan   (2007-07-13 13:59:00) [1]

> я бы не стала компилировать такой код

Ну как оптимизация/не оптимизация может исправить ошибку «хз что за идентификатор Synchronize»

Да лана(да простит меня Игорь Шевченко), что говорить — глюк и все…


Сергей М.   (2007-07-13 13:52:00) [2]


> Причём этот Error он не в Messages(внизу) появляется, а
> там где Structure


Ну а репу почесать пробовал ?)

Я не знаю что там в этом хваленом BDS творится, но судя по этому "бардаку" уккщк тот следует расценивать как предупреждениесреды след.плана :

идентификатор не объявлен, и если бы не моя "продвинутая оптимизация" (ид-р упомянут, но фактически в дальнейшем коде никак не используется и соотв-но не влияет на генерацию результ.кода), я бы не стала компилировать такой код, но в данном случае милостиво закрываю на это глаза


Kolan   (2007-07-13 13:46:00) [3]

> Да Error это.

Причём этот Error он не в Messages(внизу) появляется, а там где Structure.


> Фтопку такой компайлер)

Кому как я вот D7 нанавидеть начинаю потихоньку, после возврашения с BDS…


Сергей М.   (2007-07-13 13:43:00) [4]


> Error это


> притом нормально компилирует


Фтопку такой компайлер)


Kolan   (2007-07-13 13:41:00) [5]

> Не может он именно так говорить !

Прислать скриншот? Да Error это.


> почуму — пишется раздельно.

И впрямь :)


Anatoly Podgoretsky   (2007-07-13 13:26:00) [6]

> Kolan  (13.07.2007 13:21:16)  [16]

почуму - пишется раздельно.


Сергей М.   (2007-07-13 13:26:00) [7]


> Говорит undiclared identifier Synchrinize


Не может он именно такговорить !

Это м.б. либо Error, либо Hint, либо Warning.

А то что ты привел совершенно безлико, поэтому  "ругательством" это при всем желании назвать нельзя.


Kolan   (2007-07-13 13:21:00) [8]

> «Подчеркивает» «ругается».

Как разтаки равно.

Говорит undiclared identifier Synchrinize. И притом нормально компилирует
:)


> Ну если там для тебя ничего нет, то и разговора нет.

Там много всего интересного, но ответа на вопрос «почуму ругается именно в пакете?» там нет.


Сергей М.   (2007-07-13 13:00:00) [9]


> Kolan ©   (13.07.07 12:56) [14]



> BDS его просто подчеркивает если он в пакете


"Подчеркивает" <> "ругается".


> Ну и что там?


Ну если там для тебя ничего нет, то и разговора нет.


Kolan   (2007-07-13 12:56:00) [10]

> А исходники в classes.pas ?

Ну и что там? BDS его просто подчеркивает если он в пакете. Кроме того часто не работает CodeInsite… Такого плана «странностей» много, вот я и пугаюсь :)


Сергей М.   (2007-07-13 12:43:00) [11]


> Думаю ничего


Как это "нечего" ?!
А исходники в classes.pas ?

Или ты не о соотв.методе TThread ?


Kolan   (2007-07-13 11:54:00) [12]

> матчасти

А что можно почитать из мат части по поводу ругани на Synchronize в пакете — причем все компилируется. — Думаю ничего…


Игорь Шевченко   (2007-07-13 11:45:00) [13]


> Я почему-то от пакетов ожидаю всяких гадостей… сам незнаю
> почему.


И все-таки, неужели форум заменяет чтение матчасти ?


Kolan   (2007-07-13 11:42:00) [14]

> Я тоже не знаю, что ты их так боишься)

ХЗ, например пугает, то что часто BDS все поддеркивает красным, и ругается, но при этом все правильно, все компилится и все работает…


Сергей М.   (2007-07-13 11:08:00) [15]


> почему-то от пакетов ожидаю всяких гадостей… сам незнаю
> почему


Я тоже не знаю, что ты их так боишься)

Принципы Паскаля едины для любого Делфи-проекта)


Kolan   (2007-07-13 11:04:00) [16]

> Ну так ведь в юните KMicroTestFormCommandsUnit идентификатор
> «TShowDeviceSettingsCommand» объявлен отнюдь не в интерфейсном
> разделе !

Млин, описался — действительно сам дурак.

ЗЫ
 Я почему-то от пакетов ожидаю всяких гадостей… сам незнаю почему.

Благодарю. :)


Сергей М.   (2007-07-13 11:02:00) [17]


> Kolan ©   (13.07.07 10:58) [5]


Ну так ведь в юните KMicroTestFormCommandsUnit идентификатор "TShowDeviceSettingsCommand" объявлен отнюдь не в интерфейсном разделе !

Чего ж тебе тогда надобно, старче, если ты не обеспечил для него глобальной области видимости, каковой обладают только интерфейсные разделы юнитов в составе проекта ?


Kolan   (2007-07-13 10:59:00) [18]

> [4] Kolan ©   (13.07.07 10:56)

Причем если убрать обращение к классу, что компилится все ок. и не выдает предупреждений никаких…


Kolan   (2007-07-13 10:58:00) [19]

> В упор не вижу …


В пакете A:

unit KMicroTesterDeviceColleagueUnit;

interface
uses
 …
   KMicroTestFormCommandsUnit …


implementation

…

if Command is TShowDeviceSettingsCommandthen
 begin

 end;

…


В пакете B:

unit KMicroTestFormCommandsUnit;

interface
uses
 KCustomCommand;

implementation

type
…

  TShowDeviceSettingsCommand= class(TCustomShowCommand)
 public
   function CommandName: string; override;
 end;


Kolan   (2007-07-13 10:56:00) [20]

Кстати при первом Ctrl + Click выдаётся:

Could not compile package ''
При втором:
E2225 Never-build package '' must be recompiled
А при третьем отрывается Модуль из пакета B.
И C и D тоже в requires пакета А, как и пакет B.


Страницы:   1 2

Наверх

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