Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2007.08.12;
Скачать: CL | DM;

Вниз

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

 
Kolan ©   (2007-07-13 10:40) [0]

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

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

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

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

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


 
Сергей М. ©   (2007-07-13 10:48) [1]


> вижу класс есть


и именно в интерфейсном разделе ?


 
Kolan ©   (2007-07-13 10:53) [2]

> и именно в интерфейсном разделе ?

Да:
interface
uses
 <Имя модуля>


 
Сергей М. ©   (2007-07-13 10:55) [3]


> interface
> uses
>  <Имя модуля>
>


И где здесь декларация того самого идентификатора "TMyClass" ?

В упор не вижу ..


 
Kolan ©   (2007-07-13 10:56) [4]

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

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


 
Kolan ©   (2007-07-13 10:58) [5]

> В упор не вижу &#133


В пакете A:

unit KMicroTesterDeviceColleagueUnit;

interface
uses
 &#133
   KMicroTestFormCommandsUnit &#133;


implementation

&#133

if Command is TShowDeviceSettingsCommand then
 begin

 end;

&#133


В пакете B:

unit KMicroTestFormCommandsUnit;

interface
uses
 KCustomCommand;

implementation

type
&#133

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


 
Kolan ©   (2007-07-13 10:59) [6]

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

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


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


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


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

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


 
Kolan ©   (2007-07-13 11:04) [8]

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

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

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

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


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


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


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

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


 
Kolan ©   (2007-07-13 11:42) [10]

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

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


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


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


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


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

> матчасти

А что можно почитать из мат части по поводу ругани на Synchronize в пакете &#151; причем все компилируется. &#151; Думаю ничего&#133


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


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


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

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


 
Kolan ©   (2007-07-13 12:56) [14]

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

Ну и что там? BDS его просто подчеркивает если он в пакете. Кроме того часто не работает CodeInsite&#133 Такого плана &laquo;странностей&raquo; много, вот я и пугаюсь :)


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


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



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


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


> Ну и что там?


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


 
Kolan ©   (2007-07-13 13:21) [16]

> &laquo;Подчеркивает&raquo; <> &laquo;ругается&raquo;.

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

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


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

Там много всего интересного, но ответа на вопрос &laquo;почуму ругается именно в пакете?&raquo; там нет.


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


> Говорит undiclared identifier Synchrinize


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

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

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


 
Anatoly Podgoretsky ©   (2007-07-13 13:26) [18]

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

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


 
Kolan ©   (2007-07-13 13:41) [19]

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

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


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

И впрямь :)


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


> Error это


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


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


 
Kolan ©   (2007-07-13 13:46) [21]

> Да Error это.

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


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

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


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


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


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

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

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


 
Kolan ©   (2007-07-13 13:59) [23]

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

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

Да лана(да простит меня Игорь Шевченко), что говорить &#151; глюк и все&#133



Страницы: 1 вся ветка

Текущий архив: 2007.08.12;
Скачать: CL | DM;

Наверх




Память: 0.53 MB
Время: 0.058 c
11-1150264932
MZUser
2006-06-14 10:02
2007.08.12
Создание DLL


15-1184597966
TStas
2007-07-16 18:59
2007.08.12
Длинные ветки в поболталовке


11-1167329054
Thaddy
2006-12-28 21:04
2007.08.12
site problems


2-1184297161
Riply
2007-07-13 07:26
2007.08.12
Объявление структур по-русски :)


4-1172228437
jTommy
2007-02-23 14:00
2007.08.12
Различный цвет фона контрола и его владельца