Создание компонентов в Delphi
От: Михаил Голованов  
Дата: 24.06.03 10:30
Оценка: 141 (8)
Статья:
Создание компонентов в Delphi
Автор(ы): Михаил Голованов
Дата: 27.05.2003
В статье рассматриваются основные стадии построения компонентов Delphi на примере создания собственного controla-а.


Авторы:
Михаил Голованов

Аннотация:
В статье рассматриваются основные стадии построения компонентов Delphi на примере создания собственного controla-а
Re: Создание компонентов в Delphi
От: starosta_rk6  
Дата: 24.08.04 19:47
Оценка:
Здравствуйте, Михаил Голованов, Вы писали:

МГ>Статья:



МГ>Авторы:

МГ> Михаил Голованов

МГ>Аннотация:

МГ>В статье рассматриваются основные стадии построения компонентов Delphi на примере создания собственного controla-а


Берем пример из статьи один в один:


unit uCoolLabel;

interface

uses
  SysUtils, Classes, Controls, StdCtrls;

type
  TmgCoolLabel = class(TLabel)
  private
    { Private declarations }
  protected
    { Protected declarations }
  public
    { Public declarations }
    constructor Create(AOwner:TComponent);override;
  published
    { Published declarations }
    property Height default 30;
    property Width default 85;
  end;

procedure Register;

implementation
код вырезан для экономии места
end.


и при попытке установить компонент Component-Install component...

получаем следующую ошибку:
[Fatal Error] uCoolLabel.pas(1): Program or unit 'uCoolLabel.pas' recursively uses itself


Delphi 7, все настройки по умолчанию, установка полная.
Re[2]: Создание компонентов в Delphi
От: sailorman  
Дата: 24.08.04 21:06
Оценка:
starosta_rk6 wrote:

> Берем пример из статьи один в один:

> unit uCoolLabel;

[skip]

> implementation


Вот тут случайно uses uCoolLabel не стоит?

> /код вырезан для экономии места/

> end.
>
> и при попытке установить компонент Component-Install component...
> получаем следующую ошибку:
> *[Fatal Error] uCoolLabel.pas(1): Program or unit 'uCoolLabel.pas'
> recursively uses itself*

--
WBR, Denis Basargin
ICQ: 33681277
Mail: sailorman(at)rin.ru
Origin: Hедовольные были, но мы их пофиксили
Posted via RSDN NNTP Server 1.9 beta
Re[3]: Создание компонентов в Delphi
От: starosta_rk6  
Дата: 25.08.04 05:19
Оценка: -1
Здравствуйте, sailorman, Вы писали:

>> Берем пример из статьи один в один:

>> unit uCoolLabel;

[skip]

>> implementation


S> Вот тут случайно uses uCoolLabel не стоит?

Нет. Uses в модуле только один, в interface:
uses
SysUtils, Classes, Controls, StdCtrls;

(забыл что в Pascal модули в двух местах можно объявлять, поэтому и не привел часть implementation)


То есть явных ссылок не себя нет. Может ли еще где-нибуть подключатся модуль??
Ощибка возникает если созданный компонет (uCoolLabel.pas) установить (Component-Install) и даже не размещая на форме попытаться откомпилировать проект.

*[Fatal Error] uCoolLabel.pas(1): Program or unit 'uCoolLabel.pas' recursively uses itself*
Re[4]: Создание компонентов в Delphi
От: p0stscripter  
Дата: 07.11.07 13:59
Оценка:
Здравствуйте, starosta_rk6, Вы писали:

_>Здравствуйте, sailorman, Вы писали:


>>> Берем пример из статьи один в один:

>>> unit uCoolLabel;

_>[skip]


>>> implementation


S>> Вот тут случайно uses uCoolLabel не стоит?

_>Нет. Uses в модуле только один, в interface:
_>uses
_> SysUtils, Classes, Controls, StdCtrls;

_>(забыл что в Pascal модули в двух местах можно объявлять, поэтому и не привел часть implementation)



_>То есть явных ссылок не себя нет. Может ли еще где-нибуть подключатся модуль??

_>Ощибка возникает если созданный компонет (uCoolLabel.pas) установить (Component-Install) и даже не размещая на форме попытаться откомпилировать проект.

_>*[Fatal Error] uCoolLabel.pas(1): Program or unit 'uCoolLabel.pas' recursively uses itself*


Где-то вы ошиблись... о чем-то умалчиваете или что-то не учитываете. Я повторил ваш код — работает (компилируется и инсталлится) — Delphi 7 (Build 8.1)
Re[5]: Создание компонентов в Delphi
От: Brutal_Force Россия  
Дата: 09.11.07 13:13
Оценка:
Здравствуйте, p0stscripter, Вы писали:

_>>То есть явных ссылок не себя нет. Может ли еще где-нибуть подключатся модуль??

_>>Ощибка возникает если созданный компонет (uCoolLabel.pas) установить (Component-Install) и даже не размещая на форме попытаться откомпилировать проект.

_>>*[Fatal Error] uCoolLabel.pas(1): Program or unit 'uCoolLabel.pas' recursively uses itself*


P>Где-то вы ошиблись... о чем-то умалчиваете или что-то не учитываете. Я повторил ваш код — работает (компилируется и инсталлится) — Delphi 7 (Build 8.1)


Я думаю, они уже разобрались все-таки больше трех лет прошло...
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.