Модераторы: Snowy, MetalFan, bems, Poseidon
  

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Как описать класс не распространяя все модули 
:(
    Опции темы
gesper
Дата 12.9.2014, 20:56 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


"Shарфик"
*


Профиль
Группа: Участник
Сообщений: 183
Регистрация: 23.2.2005

Репутация: 1
Всего: 2



Как сделать модуль с классом, в котором часть переменных это другие мои классы, прикрепленные через uses. Как то их описать без передачи того что идет посде implementation можно?
--------------------
...И приколется обломившийся и oбломится приколовшийся...
PM MAIL   Вверх
northener
Дата 13.9.2014, 01:38 (ссылка)  | (голосов:1) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
***


Профиль
Группа: Завсегдатай
Сообщений: 1361
Регистрация: 2.9.2010

Репутация: 12
Всего: 20



Цитата(gesper @  12.9.2014,  20:56 Найти цитируемый пост)
Как сделать модуль с классом, в котором часть переменных это другие мои классы, прикрепленные через uses. Как то их описать без передачи того что идет посде implementation можно? 

Секций Uses может быть в каждом модуле две.  Одна в секции interface и ещё одна в секции Implemantation.
P.S. А лучше не умничать, а приводить код и сообщение об ошибке.


--------------------
Но только лошади летают вдохновенно.
Иначе лошади разбились бы мгновенно!
PM MAIL   Вверх
kami
Дата 13.9.2014, 11:45 (ссылка) |    (голосов:1) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
***


Профиль
Группа: Завсегдатай
Сообщений: 1806
Регистрация: 25.8.2007
Где: Санкт-Петербург

Репутация: 22
Всего: 72



Цитата(gesper @  12.9.2014,  20:56 Найти цитируемый пост)
Как то их описать без передачи того что идет посде implementation можно?

Можно. Если сделать "часть переменных других классов" интерфейсами.
PM MAIL WWW   Вверх
gesper
Дата 13.9.2014, 12:48 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


"Shарфик"
*


Профиль
Группа: Участник
Сообщений: 183
Регистрация: 23.2.2005

Репутация: 1
Всего: 2



Цитата(kami @  13.9.2014,  11:45 Найти цитируемый пост)
Можно. Если сделать "часть переменных других классов" интерфейсами. 

Т.е. технология из моих вариантов только одна - клепать интерфейсы? Надеялся, что еще есть варианты)

Цитата(northener @  13.9.2014,  01:38 Найти цитируемый пост)
Секций Uses может быть в каждом модуле две.  Одна в секции interface и ещё одна в секции Implemantation.
P.S. А лучше не умничать, а приводить код и сообщение об ошибке. 

спасибо, ошибок в коде нет. выкладывать часть кода которую пытаюсь от лишних глаз скрыть не собираюсь. 
--------------------
...И приколется обломившийся и oбломится приколовшийся...
PM MAIL   Вверх
drkot
Дата 13.9.2014, 13:10 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Ищущий
***


Профиль
Группа: Завсегдатай
Сообщений: 1042
Регистрация: 5.5.2006

Репутация: нет
Всего: 8



Код

unit myclass;

interface

uses
  Controls;

type
  TMyButton = TButton;



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

Добавлено через 1 минуту и 29 секунд
Цитата(gesper @  13.9.2014,  13:48 Найти цитируемый пост)
лишних глаз скрыть не собираюсь

тогда наверно и вопросы задавать не надо... а то еще догадаются


--------------------
Ошибка не становится истиной по причине широкого распространения,
как и Истина не становится Ошибкой из-за того, что никто её не видит.
PM   Вверх
gesper
Дата 13.9.2014, 16:04 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


"Shарфик"
*


Профиль
Группа: Участник
Сообщений: 183
Регистрация: 23.2.2005

Репутация: 1
Всего: 2



Цитата(drkot @ 13.9.2014,  13:10)
Код

unit myclass;

interface

uses
  Controls;

type
  TMyButton = TButton;



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

Добавлено @ 13:12
Цитата(gesper @  13.9.2014,  13:48 Найти цитируемый пост)
лишних глаз скрыть не собираюсь

тогда наверно и вопросы задавать не надо... а то еще догадаются

Если вместо классов будут мои, то без модуля описывающего TButton компилятор не скомпилирует программу.

Это сообщение отредактировал(а) gesper - 13.9.2014, 16:05
--------------------
...И приколется обломившийся и oбломится приколовшийся...
PM MAIL   Вверх
drkot
Дата 13.9.2014, 18:29 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Ищущий
***


Профиль
Группа: Завсегдатай
Сообщений: 1042
Регистрация: 5.5.2006

Репутация: нет
Всего: 8



Цитата(gesper @  13.9.2014,  17:04 Найти цитируемый пост)
Если вместо классов будут мои,

мои что? кто? как?

если Вы не можете поставить вопрос, то как вы ожидаете увидеть ответ?


--------------------
Ошибка не становится истиной по причине широкого распространения,
как и Истина не становится Ошибкой из-за того, что никто её не видит.
PM   Вверх
kami
Дата 13.9.2014, 22:04 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
***


Профиль
Группа: Завсегдатай
Сообщений: 1806
Регистрация: 25.8.2007
Где: Санкт-Петербург

Репутация: 22
Всего: 72



Цитата(gesper @  13.9.2014,  12:48 Найти цитируемый пост)
Т.е. технология из моих вариантов только одна - клепать интерфейсы? Надеялся, что еще есть варианты)

Хм... Варианты есть. Это варианты smile
Например:
Код

uses
  ObjComAuto;

type
  {$METHODINFO ON}
  TSampleObject = class(TObject)
  published
    function MyMethod: integer;
    procedure MyMethod1(i, j, k: Integer);
  end;
  {$METHODINFO OFF}

procedure TForm2.btn2Click(Sender: TObject);
var
  V: OLEVariant;
begin
    V := TObjectDispatch.Create(TSampleObject.Create) as IDispatch;
    V.MyMethod;  // несмотря на то, что OLEVariant понятия не имеет ни о каких методах TSampleObject, это не мешает ему их выполнить.
    V.MyMethod1(0, 1, 2);
end;

Переменные, которые "эти другие ваши классы" объявляем как OLEVariant, снабжаем документацией и вперед.
Только сразу смиритесь с меньшей скоростью работы...

Это сообщение отредактировал(а) kami - 13.9.2014, 22:06
PM MAIL WWW   Вверх
stanilar
Дата 15.9.2014, 23:06 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 20
Регистрация: 9.2.2010

Репутация: нет
Всего: нет



Не знаю, поможет или нет, но можно возвратить класс через функцию.
PM MAIL   Вверх
gesper
Дата 17.9.2014, 02:11 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


"Shарфик"
*


Профиль
Группа: Участник
Сообщений: 183
Регистрация: 23.2.2005

Репутация: 1
Всего: 2



Цитата(stanilar @  15.9.2014,  23:06 Найти цитируемый пост)
Не знаю, поможет или нет, но можно возвратить класс через функцию. 

Как? Есть пример из dll в exe такой функции?
--------------------
...И приколется обломившийся и oбломится приколовшийся...
PM MAIL   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
Правила форума "Delphi: Для новичков"
SnowyMetalFan
bemsPoseidon
Rrader

Запрещается!

1. Публиковать ссылки на вскрытые компоненты

2. Обсуждать взлом компонентов и делиться вскрытыми компонентами

  • Литературу по Дельфи обсуждаем здесь
  • Действия модераторов можно обсудить здесь
  • С просьбами о написании курсовой, реферата и т.п. обращаться сюда
  • Вопросы по реализации алгоритмов рассматриваются здесь
  • 90% ответов на свои вопросы можно найти в DRKB (Delphi Russian Knowledge Base) - крупнейшем в рунете сборнике материалов по Дельфи


Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, Snowy, MetalFan, bems, Poseidon, Rrader.

 
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | Delphi: Для новичков | Следующая тема »


 




[ Время генерации скрипта: 0.0926 ]   [ Использовано запросов: 22 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.