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

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> передача объекта в другую форму, из основной как параметр 
:(
    Опции темы
redmadhat
Дата 15.1.2009, 16:33 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



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

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



В главной форме я создаю объект. Когда нажимаю на кнопку КН1 открывается окно с ListView, которое должно отбразить часть данный этого объекта. Нажатием на кнопку КН2 еще одно окно с данными и тд. Вопрос Как передать форме, после нажитя кнопки, параметр в качестве объекта. Создал поле в второй форме под хранение (агрегация) и метод 
Код

SetObj(obj : TMyObj)

Но в форме два он видит только 3 метода:
  • Конструктор
  • ClassName
  • MethodName



В чем проблема?

Это сообщение отредактировал(а) redmadhat - 15.1.2009, 16:34
PM MAIL   Вверх
skyboy
Дата 15.1.2009, 16:45 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


неОпытный
****


Профиль
Группа: Модератор
Сообщений: 9820
Регистрация: 18.5.2006
Где: Днепропетровск

Репутация: нет
Всего: 260



Цитата(redmadhat @  15.1.2009,  15:33 Найти цитируемый пост)
Но в форме два он видит только 3 метода:

что значит "видит"? может, приведешь больше кода?
PM MAIL   Вверх
bems
Дата 15.1.2009, 16:53 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Комодератор
Сообщений: 3400
Регистрация: 5.1.2006

Репутация: 18
Всего: 88



SetObj объявлен public?


--------------------
Обижено школьников: 8
PM MAIL   Вверх
Bose
Дата 15.1.2009, 17:19 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
***


Профиль
Группа: Участник Клуба
Сообщений: 1458
Регистрация: 5.3.2005
Где: Riga, Latvia

Репутация: 8
Всего: 51



Цитата(redmadhat @  15.1.2009,  15:33 Найти цитируемый пост)
Создал поле в второй форме под хранение (агрегация) и метод 

метод SetObj должен быть объявлен в секции public


PM MAIL WWW Skype   Вверх
redmadhat
Дата 15.1.2009, 17:23 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



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

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



Я имею в виду то что при написании выражения 
Код

myObj.
, после точки видны эти 3 метода (конструктор понятно, а вот ClassName и
MethodName их нет в определени класса). У меня в классе есть 4 метода типа get (нпр. getAI_value()). Мне кажется что он не видит эти методи так как не инициализован.
Но в основном окне (форме) я создал объект:

Код

var
  dxMainWindow: TdxMainWindow;
  myObj : TObj;


procedure TdxMainWindow.FormCreate(Sender: TObject);
begin
  myObj:=nil;
  myObj:=TObj.Create(self);  
end;


И когда нажимаю на кнопку должно открытся окно для вывода значений из объекта
Код

procedure TdxMainWindow.Button1Click(Sender: TObject);
begin   
    secondWindow.Show;
    secondWindow.SetObj(myObj);
end;


В втором окне
Код

var
  secondWindow: TsecondWindow;
  objLocal:TObj;

implementation
 uses Unit1;

procedure TsecondWindow.SetObj(objRef:TObj);
begin
    objLocal := objRef;
end;


И когда хочу вывести значение из объекта

Код

procedure TsecondWindow.FormCreate(Sender: TObject);
begin
    label3.Caption:=objLocal. {вот здесь он показывает эти три метода} 
end;




Это сообщение отредактировал(а) redmadhat - 15.1.2009, 17:36
PM MAIL   Вверх
bems
Дата 15.1.2009, 17:37 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Комодератор
Сообщений: 3400
Регистрация: 5.1.2006

Репутация: 18
Всего: 88



то что у тебя видно, это методы класса TObject. Они есть у любого объекта. Ты читать умеешь?
Цитата
метод SetObj должен быть объявлен в секции public


Это сообщение отредактировал(а) bems - 15.1.2009, 17:38


--------------------
Обижено школьников: 8
PM MAIL   Вверх
skyboy
Дата 15.1.2009, 17:39 (ссылка) |    (голосов:1) Загрузка ... Загрузка ... Быстрая цитата Цитата


неОпытный
****


Профиль
Группа: Модератор
Сообщений: 9820
Регистрация: 18.5.2006
Где: Днепропетровск

Репутация: нет
Всего: 260



Цитата(redmadhat @  15.1.2009,  16:23 Найти цитируемый пост)
Мне кажется что он не видит эти методи так как не инициализован.

а мне кажется, что intellisence не выдает твои методы, потому как они не возвращают значение типа string. но откуда мне знать? ты не же не привел описательную часть своего класса.
PM MAIL   Вверх
redmadhat
Дата 15.1.2009, 17:55 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



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

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



Все прошло на ура. Он все видит теперь. может какой то глюк с Delphi 7 smile 
Только когда хочу вывести значение в 
Код

label3.caption := myObj.getAI_value(2);

Он не выводит! Странно. Буду разбиратся smile 

PM MAIL   Вверх
Bose
Дата 15.1.2009, 18:03 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
***


Профиль
Группа: Участник Клуба
Сообщений: 1458
Регистрация: 5.3.2005
Где: Riga, Latvia

Репутация: 8
Всего: 51



Цитата(skyboy @  15.1.2009,  16:39 Найти цитируемый пост)
а мне кажется, что intellisence не выдает твои методы, потому как они не возвращают значение типа string. но откуда мне знать? ты не же не привел описательную часть своего класса. 

Мне тоже так кажется.

Добавлено через 42 секунды
Code Completion частенько подглючивает. 
PM MAIL WWW Skype   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
Правила форума "Delphi: Для новичков"
SnowyMetalFan
bemsPoseidon
Rrader

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

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

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

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


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

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


 




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


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

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