![]() |
|
|
|||||||
| Регистрация | << Правила форума >> | FAQ | Пользователи | Календарь | Поиск | Сообщения за сегодня | Все разделы прочитаны |
![]() |
|
|
Опции темы | Поиск в этой теме | Опции просмотра |
|
|
|
#1
|
|||
|
|||
Привет всем. Помогите решить проблему. Я создал два отдельных юнита, но так получилось, что во втором вызывается первый, а в первом второй. И это вызывает ошибку. Как быть? |
|
#2
|
||||
|
||||
|
Поместите вызовы после implementation.
|
|
#3
|
|||
|
|||
|
Цитата:
На это несколько причин. Я приведу их описание и куски кода для наглядности. Итак, в модуле GLCustomShader.pas есть класс TGLFragmentProgram, который нужен мне для создания поля другом юните и в другом классе: Код:
//юнит GLShaderMaterialAndLighting
TGLMaterial = class ()
private
FFragmentProgram: TGLFragmentProgram;
...Что теперь делать? Последний раз редактировалось DungeonLords, 16.01.2010 в 15:43. |
|
#4
|
|||
|
|||
|
Пересмотри логику юнтов, скорее всего ты слишком мудришь)
В крайнем случае, вынеси в третий модуль, все что объединяет эти два модуля. |
|
#5
|
||||
|
||||
|
Вижу несколько решений.
1. Поместить описания связаных классов в одном модуле. 2. Как я понял в модуле GLCustomShader вызов TGLMaterial происходит после implementation. Если так, то можно в GLCustomShader вызов делать после implementation, а в другом модуле до implementation тоже должно прокатить. Есть еще один способ, но я его хочу проверить т.к. сам не пробовал. |