Форум программистов, компьютерный форум, киберфорум
Наши страницы
Delphi для начинающих
Войти
Регистрация
Восстановить пароль
 
Рейтинг 4.60/5: Рейтинг темы: голосов - 5, средняя оценка - 4.60
Sluchayno
30 / 30 / 20
Регистрация: 22.09.2013
Сообщений: 312
1

Получение компонентов из unit

01.05.2015, 15:37. Просмотров 856. Ответов 4
Метки нет (Все метки)

Здравствуйте, помогите с такой, казалось бы, простой проблемой.
Создаю Новый Unit

Delphi
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
unit base;
 
interface
 
uses
  Windows, Messages, Dialogs, SysUtils, Variants, Classes, Graphics, Controls, Forms,
  ExtCtrls;
 
Type
  test= class
  private
   procedure MouseDown(Sender: TObject; Button: TMouseButton;
  Shift: TShiftState; X, Y: Integer);
   procedure MouseMove(Sender: TObject; Shift: TShiftState; X,
  Y: Integer);
  public
   Procedure test(NewWidth:Integer);
end;
 
implementation
 
Procedure test(NewWidth:Integer);
begin
 Form1.Image1.width:=NewWidth;
end;
end.
Естественно создаю new application прописываю в uses строчку base. НА форме так же расположен компонент Image. Собственно вопрос как получить доступ к свойствам Image из созданного мной Unit?(Не формы)
0
Лучшие ответы (1)
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
01.05.2015, 15:37
Ответы с готовыми решениями:

Получение значений параметров динамически созданных компонентов
Имеется следующая проблема: динамически создаю компонент groupbox, с несколькими Label и кнопкой....

Возможно ли как-то перевести unit C++ в unit delphi
Возможно ли как-то перевести unit C++ в unit delphi?

Компоненты, типы компонентов, классы компонентов в Delphi
Какие есть типы и классы компонентов в Delphi?

Создание Delphi-компонентов. Правила создания компонентов
Текстовый файл содержит несколько вопросов и 4 варианта ответа , из которых только один...

Unit
Как пользоваться в Unit3 переменной f:text из Unit 1

4
Verevkin
Заблокирован
01.05.2015, 15:47 2
Можно, конечно, сделать криво и по-дилетантски, вот так:
Delphi
1
2
3
4
5
6
7
8
9
implementation
 
uses Unit1; // <---------
 
Procedure test.test(NewWidth:Integer);
begin
 Form1.Image1.width:=NewWidth;
end;
end.
Однако, есть более другие способы.
Я бы, например, передавал ссылку на картинку в конструктор в качестве параметра. Это сделало бы класс независимым от остального кода, что есть гут.
0
Sluchayno
30 / 30 / 20
Регистрация: 22.09.2013
Сообщений: 312
01.05.2015, 16:16  [ТС] 3
Как например заставить реагировать Image на событие клика по нему?


Delphi
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
33
34
35
36
37
38
39
40
41
42
43
44
45
unit base;
 
interface
 
uses
  Windows, Messages, Dialogs, SysUtils, Variants, Classes, Graphics, Controls, Forms,
  ExtCtrls;
 
Type
  TTest= class
  private
   img:TImage;
   newText:String;
   procedure MouseDown(Sender: TObject; Button: TMouseButton;
  Shift: TShiftState; X, Y: Integer);
   procedure MouseMove(Sender: TObject; Shift: TShiftState; X,
  Y: Integer);
  public
   constructor Create(Screen:TImage; Text:String);
   Procedure test();
end;
 
implementation
 
constructor test.Create(Screen:TImage; Text:String);
begin
 img:=Screen;
 newText:=Text;
end;
 
Procedure TTest.test();
begin
 with img do
 begin
  OnMouseDown:=MenuMouseDown;
  OnMouseMove:=MenuMouseMove;
 end;
end;
 
procedure TTest.MenuMouseMove(Sender: TObject; Shift: TShiftState; X,
  Y: Integer);
begin
 ShowMessage(newText);
end;
end.
Так естественно не срабатывает (
0
Verevkin
Заблокирован
01.05.2015, 16:50 4
Лучший ответ Сообщение было отмечено Sluchayno как решение

Решение

Цитата Сообщение от Sluchayno Посмотреть сообщение
Так естественно не срабатывает (
ты не весь код показал. Где ты вызываешь метод TTest.test()?
1
Sluchayno
30 / 30 / 20
Регистрация: 22.09.2013
Сообщений: 312
01.05.2015, 17:48  [ТС] 5
Ох еп..... Я что то совсем туплю. Действительно. Я же не вызывал процедуру TEST. Big thx )))
0
01.05.2015, 17:48
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
01.05.2015, 17:48

Подключение unit
Всем привет, есть две программы с использованием процедуры и функции,требуется объединить эти две...

Прикрипить unit
Проблема такова, создал програму из 3 форм роботает, но дали задание прикрипить к ним четвертую...

Подработать UNIT
в общем есть рабочий юнит рисования окружности,нужно сделать аналогично для рисования...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
5
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2018, vBulletin Solutions, Inc.
Рейтинг@Mail.ru