Главная страница
    Top.Mail.Ru    Яндекс.Метрика
Форум: "Начинающим";
Текущий архив: 2007.08.12;
Скачать: [xml.tar.bz2];

Вниз

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

 
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;
Скачать: [xml.tar.bz2];

Наверх





Память: 0.5 MB
Время: 0.044 c
11-1166391653
[e]Bu$ter
2006-12-18 00:40
2007.08.12
Вызов CHM справки из MessageBox


3-1177487237
RA
2007-04-25 11:47
2007.08.12
нужно сбросить закешированные записи в базу


2-1184491327
>>DEATH<<
2007-07-15 13:22
2007.08.12
сслки из хтмл кода


2-1184410046
ASSERT
2007-07-14 14:47
2007.08.12
ProcAddress


2-1184846089
Fleg
2007-07-19 15:54
2007.08.12
Форма





Afrikaans Albanian Arabic Armenian Azerbaijani Basque Belarusian Bulgarian Catalan Chinese (Simplified) Chinese (Traditional) Croatian Czech Danish Dutch English Estonian Filipino Finnish French
Galician Georgian German Greek Haitian Creole Hebrew Hindi Hungarian Icelandic Indonesian Irish Italian Japanese Korean Latvian Lithuanian Macedonian Malay Maltese Norwegian
Persian Polish Portuguese Romanian Russian Serbian Slovak Slovenian Spanish Swahili Swedish Thai Turkish Ukrainian Urdu Vietnamese Welsh Yiddish Bengali Bosnian
Cebuano Esperanto Gujarati Hausa Hmong Igbo Javanese Kannada Khmer Lao Latin Maori Marathi Mongolian Nepali Punjabi Somali Tamil Telugu Yoruba
Zulu
Английский Французский Немецкий Итальянский Португальский Русский Испанский