powered by simpleCommunicator - 2.0.37     © 2025 Programmizd 02
Форумы / Delphi [игнор отключен] [закрыт для гостей] / одинаковые имена класса TButton
8 сообщений из 8, страница 1 из 1
одинаковые имена класса TButton
    #40094525
bzums
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Есть стандартный компонент, TButton.
Есть eго потомок, у корого единственное отличие - наличие метода MakeHappy (Но имя то же - TButton).

В проекте при добавлении на форму кнопки в uses добавляется атвоматом ссылка на pas - StdCrtls.
Несмотря на то, что я указал (и выше по коду) в uses мой модуль - HappyButton, метод мне этот недоступен (Delphi сообщает - для TButton не доступен метод MakeHappy).
Как мне получить результат - вызвать у своей кнопки HappyButton?
В одном проекте при нажатии на методе вываливаюсь в родной компонент StdCrtls, в другом - в HappyButton.
Как?
Срасибо.

Код: pascal
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
unit HappyButton;

interface

uses classes,
  stdctrls;

type
  TButton = class( stdctrls.TButton )
  public
    function MakeHappy: string;
...
Рейтинг: 0 / 0
одинаковые имена класса TButton
    #40094531
bzums
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
второй вопрос, который в принципе с первым не связан.
Код: pascal
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
22.
23.
24.
25.
26.
27.
28.
29.
30.
31.
32.
unit Unit0;

interface

uses
  Winapi.Windows, Winapi.Messages, System.SysUtils, System.Variants, System.Classes, Vcl.Graphics,
  Vcl.Controls, Vcl.Forms, Vcl.Dialogs, Vcl.StdCtrls, Unit2, Unit1;

type
  TForm0 = class(TForm)
    Button1: TButton;
    procedure Button1Click(Sender: TObject);
  private
    { Private declarations }
  public
    { Public declarations }
  end;

var
  Form0: TForm0;

implementation


{$R *.dfm}

procedure TForm0.Button1Click(Sender: TObject);
begin
  x;
end;

end.


Код: pascal
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
unit Unit1;

interface

uses Dialogs;

procedure x;

implementation

procedure x;
begin
  ShowMessage('1');
end;

end.


Код: pascal
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
unit Unit2;

interface

uses Dialogs;

procedure x;

implementation

procedure x;
begin
  ShowMessage('2');
end;

end.


В форме пытаюсь вызвать метод x.
Этот метод есть в двух модулях.
Изменение порядка в uses:
Unit1, Unit2; на Unit2, Unit1; не приносит результата. Вызыввется всегда из первого модуля.
В dpr тоже менял, не помогает
program Project;

uses
Vcl.Forms,
Unit0 in 'Unit0.pas' {Form12},
Unit2 in 'Unit2.pas',
Unit1 in 'Unit1.pas';

Можно както этим управлять, не используя Namespaces ?

Спасибо
...
Рейтинг: 0 / 0
одинаковые имена класса TButton
    #40094532
Dimitry Sibiryakov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
bzumsКак мне получить результат - вызвать у своей кнопки HappyButton?

Перестань баловаться ерундой и назови её THappyButton.
Posted via ActualForum NNTP Server 1.5
...
Рейтинг: 0 / 0
одинаковые имена класса TButton
    #40094540
bzums
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Не могу
...
Рейтинг: 0 / 0
одинаковые имена класса TButton
    #40094542
bzums
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Не моя она
И используется во многих местах.
...
Рейтинг: 0 / 0
одинаковые имена класса TButton
    #40094546
Фотография _Vasilisk_
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
bzums
Изменение порядка в uses:
Unit1, Unit2; на Unit2, Unit1; не приносит результата. Вызыввется всегда из первого модуля.
Не верю. Сделайте ребилд приложения
bzums
Несмотря на то, что я указал (и выше по коду) в uses мой модуль - HappyButton
Модуль HappyButton должен идти в uses после StdCtrls
...
Рейтинг: 0 / 0
одинаковые имена класса TButton
    #40094556
Фотография softwarer
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
bzums
Есть eго потомок, у корого единственное отличие - наличие метода MakeHappy (Но имя то же - TButton)

Людям, которым остро хочется выстрелить себе в ногу, стоит брать для этого более подходящие инструменты.

bzums
Как мне получить результат - вызвать у своей кнопки HappyButton?

Тебе нужно править архитектуру и учиться решать задачи адекватными инструментами.
...
Рейтинг: 0 / 0
одинаковые имена класса TButton
    #40094583
bzums
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Что должен идти последним - не догадался.
И очередность, естественно, играет роль.
Вопрос закрыт.
Спасибо большое!
...
Рейтинг: 0 / 0
8 сообщений из 8, страница 1 из 1
Форумы / Delphi [игнор отключен] [закрыт для гостей] / одинаковые имена класса TButton
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]