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

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Создать constructor с теми же параметрами, что и у потомка 
:(
    Опции темы
Delphist
  Дата 8.1.2011, 22:57 (ссылка)    | (голосов:1) Загрузка ... Загрузка ... Быстрая цитата Цитата


Delphist Эксперт
****


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

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



Существует не безызвестный класс TObjectList, в нем есть:
Код

constructor Create(AOwnsObjects: Boolean); overload;


Я делаю класс наследника от TObjectList  
Код

TMyObjList = class(TObjectList)
...
end;

в своем TMyObjList я хочу создать 2 конструктора один из которых тоже должен иметь один булевский параметр.
Что-т не получается, делфятина ругается smile 
Вообще возможно ли такое замутить?

Это сообщение отредактировал(а) Delphist - 8.1.2011, 23:04


--------------------
ProcessInfo 1-ая моя программа (аналог spyxx.exe с гораздо большим функц-ом - внедрение dll в адр. простр. процесса, перехват API-функций, разбор приложения на окна мн.др).
Когда-то давным-давно использовал это...
PM MAIL ICQ   Вверх
lukas
Дата 8.1.2011, 23:01 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


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

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



А что за текст ошибки?

В крайнем случае:

Код

constructor Create(AOwnsObjects: Boolean = false);


Это сообщение отредактировал(а) lukas - 8.1.2011, 23:02


--------------------
http://code.google.com/p/orionphp/ - opensource скриптовой язык Orion (аналог PHP) для freepascal/delphi.
PM MAIL WWW   Вверх
Delphist
  Дата 8.1.2011, 23:05 (ссылка)    | (голосов:1) Загрузка ... Загрузка ... Быстрая цитата Цитата


Delphist Эксперт
****


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

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



Цитата(lukas @  9.1.2011,  00:01 Найти цитируемый пост)
А что за текст ошибки?

E2250 There is no overloaded version of 'Create' that can be called with these arguments

Это сообщение отредактировал(а) Delphist - 8.1.2011, 23:06


--------------------
ProcessInfo 1-ая моя программа (аналог spyxx.exe с гораздо большим функц-ом - внедрение dll в адр. простр. процесса, перехват API-функций, разбор приложения на окна мн.др).
Когда-то давным-давно использовал это...
PM MAIL ICQ   Вверх
lukas
Дата 8.1.2011, 23:10 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


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

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



Какая версия делфи? У меня прекрасно работает, надо увидеть все объявление класса и где вызывается конструктор в коде. Скорее компилятор не может определить по типам - какой конструктор ему надо вызвать.


--------------------
http://code.google.com/p/orionphp/ - opensource скриптовой язык Orion (аналог PHP) для freepascal/delphi.
PM MAIL WWW   Вверх
Delphist
Дата 8.1.2011, 23:24 (ссылка)    | (голосов:1) Загрузка ... Загрузка ... Быстрая цитата Цитата


Delphist Эксперт
****


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

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



Цитата(lukas @  9.1.2011,  00:10 Найти цитируемый пост)
Какая версия делфи? 

BDS 2006.
А мог бы привести код как у тя выгглядит


--------------------
ProcessInfo 1-ая моя программа (аналог spyxx.exe с гораздо большим функц-ом - внедрение dll в адр. простр. процесса, перехват API-функций, разбор приложения на окна мн.др).
Когда-то давным-давно использовал это...
PM MAIL ICQ   Вверх
БелАмор
Дата 9.1.2011, 09:42 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Бывалый
*


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

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



Код

type
  TMyObjList = class(TObjectList)
  public
    constructor Create; overload;                         // есть в предке
    constructor Create(AOwnsObjects: Boolean); overload;  // есть в предке
    constructor Create(AOwnsObjects: String); overload;   // нет в предке
  end;

implementation

{$R *.dfm}

constructor TMyObjList.Create;
begin
  inherited Create;
  //...
end;

constructor TMyObjList.Create(AOwnsObjects: Boolean);
begin
  inherited Create(AOwnsObjects);
  //...
end;

constructor TMyObjList.Create(AOwnsObjects: String);
var
  Owns: Boolean;
begin
  Owns :=
    (AOwnsObjects = 'True') or
    (AOwnsObjects = 'Да') or
    (AOwnsObjects = 'Конечно') or
    (AOwnsObjects = 'Обязательно');
  inherited Create(Owns);
  //...
end;

PM   Вверх
Delphist
Дата 9.1.2011, 10:50 (ссылка)    | (голосов:1) Загрузка ... Загрузка ... Быстрая цитата Цитата


Delphist Эксперт
****


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

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



Цитата(БелАмор @  9.1.2011,  10:42 Найти цитируемый пост)
  constructor Create(AOwnsObjects: String); overload;   // нет в предке

Вот этот конструктор у меня должен иметь параметр Boolean, а такой же
Код

constructor Create(AOwnsObjects: Boolean); overload;

уже есть в предке, вот в чем вся проблема


--------------------
ProcessInfo 1-ая моя программа (аналог spyxx.exe с гораздо большим функц-ом - внедрение dll в адр. простр. процесса, перехват API-функций, разбор приложения на окна мн.др).
Когда-то давным-давно использовал это...
PM MAIL ICQ   Вверх
БелАмор
Дата 9.1.2011, 12:35 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Бывалый
*


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

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



Цитата(Delphist @  9.1.2011,  10:50 Найти цитируемый пост)
уже есть в предке, вот в чем вся проблема 

Не наблюдаю вообще никакой проблемы в принципе:
Код

procedure TForm1.Button1Click(Sender: TObject);
var
  List: TMyObjList;
begin
  List := TMyObjList.Create(False);
  try
    List.Add(Sender);
    (List[0] as TButton).Caption := 'Всё работает';
  finally
    List.Free;
  end;
end;


Цитата(Delphist @  8.1.2011,  23:05 Найти цитируемый пост)
E2250 There is no overloaded version of 'Create' that can be called with these arguments

Это проблема вызова конструктора, а не самого конструктора. Возможно, вы пытаетесь передать что-то не то в качестве аргумента. Без кода гадать не имеет смысла.

PM   Вверх
Delphist
Дата 9.1.2011, 13:24 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Delphist Эксперт
****


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

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



Цитата(БелАмор @  9.1.2011,  13:35 Найти цитируемый пост)
Не наблюдаю вообще никакой проблемы в принципе:

Ты не понял вопроса, вот здесь решили http://forum.sources.ru/index.php?showtopi...p;#entry2797567


--------------------
ProcessInfo 1-ая моя программа (аналог spyxx.exe с гораздо большим функц-ом - внедрение dll в адр. простр. процесса, перехват API-функций, разбор приложения на окна мн.др).
Когда-то давным-давно использовал это...
PM MAIL ICQ   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
Правила форума "Delphi: Общие вопросы"
SnowyMetalFan
bemsPoseidon
Rrader

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

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

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

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


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

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


 




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


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

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