Форум программистов
 
Контакты: о проблемах с регистрацией, почтой и по другим вопросам пишите сюда - alarforum@yandex.ru, проверяйте папку спам! Обязательно пройдите активизацию e-mail.

Вернуться   Форум программистов > Delphi > Общие вопросы Delphi
Регистрация

Восстановить пароль
Повторная активизация e-mail

Ответ
 
Опции темы
Старый 08.01.2018, 19:24   #1
diakin
 
Регистрация: 20.04.2007
Сообщений: 6
Репутация: 10
По умолчанию sender

Hi,All!
Непонятно, так и должно не работать?
Есть одна форма с chart1 и другая форма с chart1
Есть процедура
procedure RunSpkClick(Sender: TObject); //
в которой производится обработка и вывод графика на chart.
Хотелось бы вызывать как-то так

FormIzm1.RunSpkClick(FormB11); // из формы FormB11
или
FormIzm1.RunSpkClick(FormIzm1); // из формы FormIzm1

а внутри писать так например
...
Sender.Chart1.Series[3].Clear;

чтобы работа происходила с chart из вызвавшей формы

Но что-то ругается на Sender.Chart1 - undeclared identifier Chart1
---------
Понятно, что можно проверять
if sender=FormB11 then
FormB11.Chart1.Series[3].Clear;
else if sender=FormIzm1 then
FormIzm1.Chart1.Series[3].Clear;
итд

но хотелось бы покороче Sender.Chart1.Series[3].Clear;
Почему так не работает? Может из-за какой ерунды?
__________________
WBR, Andrew
diakin вне форума   Ответить с цитированием
Старый 08.01.2018, 19:33   #2
p51x
Профессионал
 
Регистрация: 15.02.2010
Сообщений: 11,324
Репутация: 1855

icq: 216409213
По умолчанию

Потому что в TObject нет ваших полей.
__________________
Запомните раз и навсегда: помочь != "решите за меня"!
p51x на форуме   Ответить с цитированием
Старый 08.01.2018, 19:41   #3
diakin
 
Регистрация: 20.04.2007
Сообщений: 6
Репутация: 10
По умолчанию

То есть остается проверять?
if sender=FormB11 then
??
__________________
WBR, Andrew
diakin вне форума   Ответить с цитированием
Старый 08.01.2018, 19:43   #4
Аватар
Модератор
Заслуженный модератор
 
Аватар для Аватар
 
Регистрация: 17.11.2010
Адрес: Северодонецк.ua
Сообщений: 17,599
Репутация: 6210
По умолчанию

Передавай Chart1 параметром, а в процедуре обращайся так например TChart(Sender).Series[3].Clear;
__________________
Если бы архитекторы строили здания так, как программисты пишут программы, то первый залетевший дятел разрушил бы цивилизацию
Аватар на форуме   Ответить с цитированием
Старый 08.01.2018, 19:44   #5
p51x
Профессионал
 
Регистрация: 15.02.2010
Сообщений: 11,324
Репутация: 1855

icq: 216409213
По умолчанию

Ну если ООП вы совсем не знаете, то да... А так предок с полями, наследование и as.
__________________
Запомните раз и навсегда: помочь != "решите за меня"!
p51x на форуме   Ответить с цитированием
Старый 08.01.2018, 21:44   #6
diakin
 
Регистрация: 20.04.2007
Сообщений: 6
Репутация: 10
По умолчанию

Цитата:
Сообщение от Аватар Посмотреть сообщение
Передавай Chart1 параметром, а в процедуре обращайся так например TChart(Sender).Series[3].Clear;
С параметрами наверное разумней всего. По крайней мере не как сейчас - для каждой формы своя процедура, отличающаяся только чартами )))
Спасибо за ответ.
__________________
WBR, Andrew
diakin вне форума   Ответить с цитированием
Старый 08.01.2018, 21:47   #7
diakin
 
Регистрация: 20.04.2007
Сообщений: 6
Репутация: 10
По умолчанию

Цитата:
Сообщение от p51x Посмотреть сообщение
Ну если ООП вы совсем не знаете, то да... А так предок с полями, наследование и as.
Ой, нет, это слишком сложно. ) Да и смысл какой.
__________________
WBR, Andrew
diakin вне форума   Ответить с цитированием
Старый 09.01.2018, 11:03   #8
evg_m
Профессионал
 
Регистрация: 20.04.2008
Сообщений: 4,643
Репутация: 2097
По умолчанию

сага X-Y-Z
опишите задачу БЕЗ "хочу вызывать".
есть две формы
1. у них есть одинаковые Chart
2. и есть РАЗНЫЕ ....
3. надо по разным ... одинаково заполнить chart(построить ОДИНАКОВЫЙ график).

а так
1.делаем FrameX
1.1.на него Chart
1.2. пишем одну и более
Код:

procedure RunChart1  
procedure RunChart2
....

2. делаем две и более Form
2.1. на каждую из них ранее сделанный FrameX
2.2. из каждой формы делаем нужный вызов
Код:

  self.frameX1.runChart?

P.S. возможно с передачей как параметра ФУНКЦИИ РАСЧЕТА.
__________________
программа — запись алгоритма на языке понятном транслятору
evg_m вне форума   Ответить с цитированием
Старый 09.01.2018, 16:16   #9
min@y™
Цифровой кот
Профессионал
 
Аватар для min@y™
 
Регистрация: 29.08.2014
Адрес: 1600, пенсильвания-авеню, п.г.т. верхний Вашингтонск, 8126 км от МКАД, от поста ГАИ - налево.
Сообщений: 7,597
Репутация: 2281

icq: 100500
skype: kick-ass
По умолчанию

Чо б не передавать Series как параметр-то, бть?
__________________
Расскажу я вам, дружочки, как выращивать грибочки: нужно в поле утром рано сдвинуть два куска урана...
min@y™ вне форума   Ответить с цитированием
Старый 12.01.2018, 00:25   #10
diakin
 
Регистрация: 20.04.2007
Сообщений: 6
Репутация: 10
По умолчанию

Цитата:
Сообщение от evg_m Посмотреть сообщение
сага X-Y-Z
опишите задачу БЕЗ "хочу вызывать".
есть две формы
1. у них есть одинаковые Chart
...
Да, есть две формы, есть процедура которая выводит результаты вычислений в chart. По нажатию кнопки на форме 1 - результаты должны выводиться в chart на форму 1, на кнопку в форме 2 - выводиться в chart на форму 2.
Можно в эту процедуру вычисления передавать чарты параметром. Соответственно она будет выводить в нужный чарт.
Да, можно чарты разместить на панели\фрейме и потом у панели менять родителя - или форму 1 или форму 2.

зы. Нет, с фреймами как Вы сказали, это другая история ))
__________________
WBR, Andrew

Последний раз редактировалось diakin; 12.01.2018 в 00:44.
diakin вне форума   Ответить с цитированием
Ответ

Опции темы

Ваши права в разделе
Вы не можете создавать новые темы
Вы не можете отвечать в темах
Вы не можете прикреплять вложения
Вы не можете редактировать свои сообщения

BB коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.

Быстрый переход

Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Sender и объект danka123 Общие вопросы Delphi 24 27.09.2013 12:11
Sender(TObject); Claster Помощь студентам 3 22.06.2011 16:53
sender as nark03 Общие вопросы Delphi 5 19.01.2009 18:11
sender as.. nark03 Помощь студентам 2 18.01.2009 17:13
TObject *Sender sergei64_89 Общие вопросы C/C++ 1 06.06.2008 13:36


15:48.


Powered by vBulletin® Version 3.8.8 Beta 2
Copyright ©2000 - 2018, Jelsoft Enterprises Ltd.

RusProfile.ru


Справочник российских юридических лиц и организаций.
Проекты отопления, пеллетные котлы, бойлеры, радиаторы
интернет магазин respective.ru