Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2003.04.24;
Скачать: CL | DM;

Вниз

Как узнать   Найти похожие ветки 

 
Jogger ©   (2003-04-11 09:37) [0]

Выполняется нсколько копий формы MDIChildren. Как узнать [индекс] активного?

MDIChildren[ индекс]


 
Skier ©   (2003-04-11 10:15) [1]

Whenever an MDI child is activated, however, it moves to the front of the list.


 
AlexSV ©   (2003-04-11 10:40) [2]

Может хватит и ActiveMDIChild


 
Jogger ©   (2003-04-14 07:54) [3]

У меня используются 2 массива типа string. Мне надо использовать индекс MDI-окна для определения ячейки массива.
k[ActiveMDIChild] := dm2.requestkod_or.text - не работает.
[Error] Dog.pas(80): Incompatible types: "Integer" and "TForm"


 
Skier ©   (2003-04-14 09:08) [4]

>Jogger
Индекс активной MDI Child формы это всегда - 0 см. Skier © (11.04.03 10:15)
Так что не понятно зачем ты пишешь
k[ActiveMDIChild] := dm2.requestkod_or.text. ?
(кстати компилятор абсолютно прав, в том что говорит тебе
о несовместимости типов, т.к. ActiveMDIChild - это форма, а индекс твоего массива - целое число (Integer) )
Можно просто написать :
k[0] := dm2.requestkod_or.text. ?



 
AlexSV ©   (2003-04-14 10:35) [5]

> У меня используются 2 массива типа string

Как эти массивы связаны с твоими MDI Child формами?



 
Jogger ©   (2003-04-15 06:34) [6]

Мне надо сохранять данные, относящиеся к каждой копии формы лично. Например: На форме используется DBText, который отображает активную ячейку(1) таблицы. Когда я запускаю еще одну копию формы, DBText отображает уже другую активную ячейку(2) этой же таблицы и т.д.
Я активирую предыдущую форму - отображает старые данные, а активная ячейка - не соответствует отображаемой информации.
Т.е. мне надо, чтобы при активизации какой-либо копии формы указатель в таблице переходил на строго определенное место в таблице. Для этого мне надо знать какая именно копия активизирована.
Если кто-то что-нибудь понял из этого бреда... буду благодарен.


 
ЮЮ ©   (2003-04-15 07:30) [7]

>DBText отображает уже другую активную ячейку(2) этой же таблицы

Если DataSource у них один и тот же, то они все будут отображать одно и то же, так как у DataSeta может быть только одна текущая запись


 
Jogger ©   (2003-04-15 08:09) [8]

Это ясно! Мне надо, чтобы при активизации какой-либо копии формы указатель в таблице переходил на строго определенное место в таблице (я сам буду его переводить Lookup, Locate и т.д.)
...какая именно копия активизирована


 
ЮЮ ©   (2003-04-15 08:38) [9]

Сохраняй необходимые коды в MDIChild-форме при создании, а не в главной форме.


 
Jogger ©   (2003-04-15 09:19) [10]

Переменные каждый раз при создании формы меняют свои значения!


 
Skier ©   (2003-04-15 09:26) [11]

>Jogger
В главной форме создай свой собственный список TList или TObjectList (или их потомки...) и при создании MDI Child формы
заноси её в этот список, при уничножении MDI Child формы удаляй
её из списка. Для поиска в списке можно будет использовать
стандартный метод IndexOf(ActiveMDIChild) - и будешь иметь
индекс активной формы...


 
ЮЮ ©   (2003-04-15 09:43) [12]

>Переменные каждый раз при создании формы меняют свои значения!

Поэтому и хранить их логично в MDI Child форме, а не в главной, например через Public property MDI Child формы или Public метод с параметрами для создания экземпляра MDI Child формы


 
Jogger ©   (2003-04-15 10:03) [13]

В главной форме
var
MDIndex: Tlist;


А в событии MDI-формы OnCreate
MDIndex.Add(ActiveMDIChild);

Не получилось!

Project OD.exe raised exception class EAccessViolation with message "Access violation at address 00418A7B in module "OD.exe" и т.д.

Я так понимаю, что из MDI-окна нельзя заносить в этот список.


 
Jogger ©   (2003-04-15 10:08) [14]


> ЮЮ


Спасибо, получилось!


 
Skier ©   (2003-04-15 10:10) [15]

>Jogger

> Я так понимаю, что из MDI-окна нельзя заносить в этот список.

???!!!
А я так понимаю что ты MDIndex не создаешь...


 
Jogger ©   (2003-04-15 10:11) [16]

I>
> Skier

Почему :-)<


 
Smok_er   (2003-04-15 10:32) [17]

А в событии MDI-формы OnCreate
MDIndex.Add(ActiveMDIChild);

И не получится :)
не в том месте заносишь.
заноси в лист в момент после создания в главной форме.



Страницы: 1 вся ветка

Текущий архив: 2003.04.24;
Скачать: CL | DM;

Наверх




Память: 0.5 MB
Время: 0.013 c
1-76931
Tayfun
2003-04-14 14:42
2003.04.24
Как сделать Screen Saver


14-77137
nikkie
2003-04-06 23:46
2003.04.24
Сетевые настройки для дома/офиса


3-76805
Новый
2003-04-04 15:19
2003.04.24
Возможно ли сжать базу данных MSAccess, как это делает сам MSAcce


1-76935
Roller
2003-04-15 11:45
2003.04.24
Подмена функции DLL


7-77204
Andy BitOff
2003-03-08 19:48
2003.04.24
Раскладка клавиатуры