Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

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

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

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 14.08.2008, 10:56   #1
Turbine
Пользователь
 
Регистрация: 13.08.2008
Сообщений: 76
Восклицание Взаимодействие ListView с рукописными объектами.

Доброго времени.
Существует некий объект и ListView ( оба принадлежат Form1), содержащий указатель на листвью
В начале идет присвоение:

Код:
tGlobal_.pListview:=@ListView1;
Обработчик ListView.onMouseDown вызывает метод объекта tGlobal_., в котором пытается определить номер выбранного элемента или выдать значение -1 (если не выбрано ничего).


Код:
    function tGlobal_.Selected:integer;
    begin
    selected:=-1;
    if Assigned(prListview^.Selected) then
    selected:=prListview^.Selected.Index+1;
    end;
Но как я ни крутился вылезает "Stack overflow"

Существует ли другой способ взаимодействия?

Вот, например, большинству компонентов может "приписан" Popup (Менюшка по правой кнопке). Как правильно это реализовывается обычно в самих компонентах, чтобы можно было присвоить простым :=popup1?

From Stilet: Темы попрошу называть адекватно! Ану бегом читать правила!!

Последний раз редактировалось Stilet; 15.08.2008 в 11:35.
Turbine вне форума Ответить с цитированием
Старый 15.08.2008, 11:27   #2
mutabor
Телепат с дипломом
Старожил
 
Аватар для mutabor
 
Регистрация: 10.06.2007
Сообщений: 4,929
По умолчанию

Что-то ты перемудрил, залезь в исходники Дельфи и посмотри как там реалиовано то же присвоение PopupMenu. И сделай у себя также.

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

Переменная-объект и так содержит указатель. Не нужно их явно использовать.

Должно получиться что-то типа этого
Код:
TMyClass = class
  public
  MyListView: TListView;
  ...
потом в коде
Код:
MyClass.MyListView:=ListView1;
Обработчики его событий опиши в своем классе.
The future is not a tablet with a 9" screen no more than the future was a 9" black & white screen in a box. It’s the paradigm that survives. (Kroc Camen)
Проверь себя! Онлайн тестирование | Мой блог

Последний раз редактировалось mutabor; 15.08.2008 в 11:35.
mutabor вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Работа с классами и объектами Shavminator Общие вопросы Delphi 7 18.12.2009 04:11
Как заполнить форму 6-иугольными объектами DeKot Gamedev - cоздание игр: Unity, OpenGL, DirectX 3 26.08.2008 21:59
Взаимодействие ListView с другими объектами. Передача Turbine Компоненты Delphi 0 13.08.2008 22:40
Какие языки (системы разработки) имеют встроенные сложные операции над объектами? asmc Общие вопросы C/C++ 1 26.06.2008 09:01
Управление Программно созданными объектами dars73 Помощь студентам 14 19.11.2007 01:42