![]() |
Модераторы: Poseidon, Snowy, bems, MetalFan |
![]() ![]() ![]() |
|
Nic442 |
|
|||
![]() Шустрый ![]() Профиль Группа: Участник Сообщений: 92 Регистрация: 5.4.2006 Где: Советский Союз Репутация: нет Всего: нет |
Вопрос довольно легкий, но я чего-то не досоображаю.
Этот код висит у меня на одной из кнопок mainmenu. Повесил его на Toolbar на одну из Toolbutton в свойство MenuItem. Так при щелчке на этом button и выборе пункта меню он выдаёт ошибку. (Хотя из mainmenu нормально работает). Я проверил Reopen1.IndexOf(Sender as TMenuItem)=-1 при вызове через Toolbar. Но весь прикол в том что если я добавляю MessageDlg('1',mtWarning,[mbOk],0); то все работает. Подскажите, пожалуйста, как исправить ошибку. |
|||
|
||||
seer |
|
|||
Новичок Профиль Группа: Участник Сообщений: 15 Регистрация: 25.4.2006 Репутация: нет Всего: нет |
первое, что напрашивается.. это поставить задержку.. но это непонашенски..
Давай кидай более полную картину. А вообще у меня было нечто такое... в программе память зас%%л и проги выделывали странные штуки. Маловероятно, но бытьтакое может. |
|||
|
||||
Nic442 |
|
|||
![]() Шустрый ![]() Профиль Группа: Участник Сообщений: 92 Регистрация: 5.4.2006 Где: Советский Союз Репутация: нет Всего: нет |
Я то кину. Но ошибка то точно в том коде который я написал сверху. Я даже знаю почему, но как исправить???
Ведь Reopen1.IndexOf(Sender as TMenuItem)=-1 А он не может удалить несуществующий пункт меню (Reopen1.Delete[-1]) Но как только я ставлю сообщение, то даже пр -1 всё делает правильно.
|
|||
|
||||
Sunvas |
|
||||
![]() Соль и сахар ![]() ![]() ![]() ![]() Профиль Группа: Участник Сообщений: 3388 Регистрация: 12.3.2006 Где: Тосно Репутация: 28 Всего: 89 |
Нужно так
Че-то я не совесем понял - куда добавишь?? -------------------- Воспитывая детей по своему образу и подобию, родители почему-то надеются, что они будут лучше их. |
||||
|
|||||
Nic442 |
|
|||
![]() Шустрый ![]() Профиль Группа: Участник Сообщений: 92 Регистрация: 5.4.2006 Где: Советский Союз Репутация: нет Всего: нет |
Sunvas, В коде на самом верху закоментарено куда,,,
Ошибка не исправилась :-( Это сообщение отредактировал(а) Nic442 - 30.4.2006, 00:56 |
|||
|
||||
Sunvas |
|
|||
![]() Соль и сахар ![]() ![]() ![]() ![]() Профиль Группа: Участник Сообщений: 3388 Регистрация: 12.3.2006 Где: Тосно Репутация: 28 Всего: 89 |
Да. Не увидел.. Ну а с моим кодом-то работает? -------------------- Воспитывая детей по своему образу и подобию, родители почему-то надеются, что они будут лучше их. |
|||
|
||||
Nic442 |
|
|||
![]() Шустрый ![]() Профиль Группа: Участник Сообщений: 92 Регистрация: 5.4.2006 Где: Советский Союз Репутация: нет Всего: нет |
Не, тоже самое. Вообще непонятно.
Ошибка не исправилась :-( |
|||
|
||||
Sunvas |
|
||||
![]() Соль и сахар ![]() ![]() ![]() ![]() Профиль Группа: Участник Сообщений: 3388 Регистрация: 12.3.2006 Где: Тосно Репутация: 28 Всего: 89 |
Ну так проверяй - если не равен -1 то удаляй.
Видать глюк какой-то.. -------------------- Воспитывая детей по своему образу и подобию, родители почему-то надеются, что они будут лучше их. |
||||
|
|||||
Nic442 |
|
|||
![]() Шустрый ![]() Профиль Группа: Участник Сообщений: 92 Регистрация: 5.4.2006 Где: Советский Союз Репутация: нет Всего: нет |
Не могу, иначе кнопка в баре будет не нужна. Так дело в том что -1 идёт от ToolButton при нажатии на Toolbutton на любом пункте выдвигающегося меню. |
|||
|
||||
Демо |
|
|||
![]() Эксперт ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 1278 Регистрация: 3.11.2005 Репутация: 30 Всего: 50 |
Что такое Reopen1?
-------------------- |
|||
|
||||
Nic442 |
|
|||
![]() Шустрый ![]() Профиль Группа: Участник Сообщений: 92 Регистрация: 5.4.2006 Где: Советский Союз Репутация: нет Всего: нет |
Файл-->Reopen1-->NewItem
Reopen1 находится в меню, и включает в себя Items |
|||
|
||||
Демо |
|
|||
![]() Эксперт ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 1278 Регистрация: 3.11.2005 Репутация: 30 Всего: 50 |
Выполни вот это и исходи из того, что Sendere у тебя не TMenuItem:
-------------------- |
|||
|
||||
Sunvas |
|
|||
![]() Соль и сахар ![]() ![]() ![]() ![]() Профиль Группа: Участник Сообщений: 3388 Регистрация: 12.3.2006 Где: Тосно Репутация: 28 Всего: 89 |
Знаешь Nic442, я думаю это 1 из реальных глюков Борланда.. Попробуй другие компоненты поиспользовать или пойти другим путем..
ЗЫ. У меня даже банальный текст
на тулбаттоне показывает -1. Добавлено @ 01:56 Да нет! Именно Tmenuitem! Зачем это ![]() -------------------- Воспитывая детей по своему образу и подобию, родители почему-то надеются, что они будут лучше их. |
|||
|
||||
Nic442 |
|
|||
![]() Шустрый ![]() Профиль Группа: Участник Сообщений: 92 Регистрация: 5.4.2006 Где: Советский Союз Репутация: нет Всего: нет |
ShowMessage(Sender.ClassName);
Имя класса я тоже решил поглядеть. При нажатии на ToolButton и выборе у него пункта меню выдаёт TMenuItem Добавлено @ 02:07 Я думаю такая фигня происходит. При нажатии на ToolButton и выборе у него пункта меню. Он посылает какое-то сообщение в меню. Но индекс остаётся -1 Это сообщение отредактировал(а) Nic442 - 30.4.2006, 02:03 |
|||
|
||||
Sunvas |
|
|||
![]() Соль и сахар ![]() ![]() ![]() ![]() Профиль Группа: Участник Сообщений: 3388 Регистрация: 12.3.2006 Где: Тосно Репутация: 28 Всего: 89 |
Токо меню ведь одно и тоже самое! Я проверял. -------------------- Воспитывая детей по своему образу и подобию, родители почему-то надеются, что они будут лучше их. |
|||
|
||||
Демо |
|
|||
![]() Эксперт ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 1278 Регистрация: 3.11.2005 Репутация: 30 Всего: 50 |
Nic442,
Ничего не понятно - как у тебя организовано. понял, чего ты навесил... Это сообщение отредактировал(а) Демо - 30.4.2006, 02:17 -------------------- |
|||
|
||||
Nic442 |
|
|||
![]() Шустрый ![]() Профиль Группа: Участник Сообщений: 92 Регистрация: 5.4.2006 Где: Советский Союз Репутация: нет Всего: нет |
Объясняю: При открытии файла в Reopen1 добавляется путь к нему. При открытии его через Reopen1 этот пункт становится на первое место(удаляется со своего места и становится в на первое).
|
|||
|
||||
Демо |
|
|||
![]() Эксперт ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 1278 Регистрация: 3.11.2005 Репутация: 30 Всего: 50 |
Вот такой код у меня возвращает не -1:
Похоже, что без конкретных данных не разобрать, что происходит... -------------------- |
|||
|
||||
Sunvas |
|
|||
![]() Соль и сахар ![]() ![]() ![]() ![]() Профиль Группа: Участник Сообщений: 3388 Регистрация: 12.3.2006 Где: Тосно Репутация: 28 Всего: 89 |
Демо, вот смотри:
1. Бросаешь на форму tmainmenu и ttoolbar 2. В tmainmenu создаешь 2 tmenuitem (воторое - субменю первого) - n1 и n2, а на toolbar-e создаешь кнопочку. 3. В свойсте кнопки tmenuitem ставишь n1 4. В онклике n2 пишешь
Теперь парадокс - если мы кликаем по n2 с меню то получаем сообщение 0, а если с кнопки, то сообщение -1.. -------------------- Воспитывая детей по своему образу и подобию, родители почему-то надеются, что они будут лучше их. |
|||
|
||||
Nic442 |
|
|||
![]() Шустрый ![]() Профиль Группа: Участник Сообщений: 92 Регистрация: 5.4.2006 Где: Советский Союз Репутация: нет Всего: нет |
N21 Включает в себя подпункты??
Теперь совсем непонятно становится.... |
|||
|
||||
Sunvas |
|
|||
![]() Соль и сахар ![]() ![]() ![]() ![]() Профиль Группа: Участник Сообщений: 3388 Регистрация: 12.3.2006 Где: Тосно Репутация: 28 Всего: 89 |
-------------------- Воспитывая детей по своему образу и подобию, родители почему-то надеются, что они будут лучше их. |
|||
|
||||
Nic442 |
|
|||
![]() Шустрый ![]() Профиль Группа: Участник Сообщений: 92 Регистрация: 5.4.2006 Где: Советский Союз Репутация: нет Всего: нет |
Еще раз как у меня
|
|||
|
||||
Демо |
|
|||
![]() Эксперт ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 1278 Регистрация: 3.11.2005 Репутация: 30 Всего: 50 |
Вот проект, который именно так себя и ведет, как я написал:
Присоединённый файл ( Кол-во скачиваний: 4 ) ![]() -------------------- |
|||
|
||||
Sunvas |
|
|||
![]() Соль и сахар ![]() ![]() ![]() ![]() Профиль Группа: Участник Сообщений: 3388 Регистрация: 12.3.2006 Где: Тосно Репутация: 28 Всего: 89 |
Вот проект для понятливости: Присоединённый файл ( Кол-во скачиваний: 8 ) ![]() -------------------- Воспитывая детей по своему образу и подобию, родители почему-то надеются, что они будут лучше их. |
|||
|
||||
Демо |
|
|||
![]() Эксперт ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 1278 Регистрация: 3.11.2005 Репутация: 30 Всего: 50 |
Это только название осталось такое. -------------------- |
|||
|
||||
Sunvas |
|
|||
![]() Соль и сахар ![]() ![]() ![]() ![]() Профиль Группа: Участник Сообщений: 3388 Регистрация: 12.3.2006 Где: Тосно Репутация: 28 Всего: 89 |
Демо, посмотри, чего мой реализ не работает
-------------------- Воспитывая детей по своему образу и подобию, родители почему-то надеются, что они будут лучше их. |
|||
|
||||
Демо |
|
|||
![]() Эксперт ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 1278 Регистрация: 3.11.2005 Репутация: 30 Всего: 50 |
Вопрос дополнительно:
На ToolButton навешено меню с подменю, или же только один пункт меню? -------------------- |
|||
|
||||
Nic442 |
|
|||
![]() Шустрый ![]() Профиль Группа: Участник Сообщений: 92 Регистрация: 5.4.2006 Где: Советский Союз Репутация: нет Всего: нет |
Чего-то не кочаются примеры...
|
|||
|
||||
Демо |
|
|||
![]() Эксперт ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 1278 Регистрация: 3.11.2005 Репутация: 30 Всего: 50 |
По разному навешены пункты меню, и связка не та, что нужно. По поводу уточнения вот автор скажет - посмотрим... -------------------- |
|||
|
||||
Sunvas |
|
|||
![]() Соль и сахар ![]() ![]() ![]() ![]() Профиль Группа: Участник Сообщений: 3388 Регистрация: 12.3.2006 Где: Тосно Репутация: 28 Всего: 89 |
-------------------- Воспитывая детей по своему образу и подобию, родители почему-то надеются, что они будут лучше их. |
|||
|
||||
Nic442 |
|
|||
![]() Шустрый ![]() Профиль Группа: Участник Сообщений: 92 Регистрация: 5.4.2006 Где: Советский Союз Репутация: нет Всего: нет |
РИСУЮ
ФАЙЛ--> REOPEN1--> ЕГО ПОДМЕНЮ | TOLLBUTTON--------->Показывается подменю |
|||
|
||||
Демо |
|
|||
![]() Эксперт ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 1278 Регистрация: 3.11.2005 Репутация: 30 Всего: 50 |
Тогда понятно. Вот возьми обратно исправленный проект: Добавлено @ 02:48 Ясно, у тебя другая ситуация. Минут через 5 попробую решить такую же задачку. Присоединённый файл ( Кол-во скачиваний: 6 ) ![]() -------------------- |
|||
|
||||
Sunvas |
|
|||
![]() Соль и сахар ![]() ![]() ![]() ![]() Профиль Группа: Участник Сообщений: 3388 Регистрация: 12.3.2006 Где: Тосно Репутация: 28 Всего: 89 |
Ясно, ясно! У меня просто и ща мозги кипят от чего же так.. Добавлено @ 02:50 а ты правой кнопкой мыши и "сохранить объект как.." Сможешь исправить? Добавлено @ 02:53 Демо, в моем коде добавить onclick это немного не то... -------------------- Воспитывая детей по своему образу и подобию, родители почему-то надеются, что они будут лучше их. |
|||
|
||||
Nic442 |
|
|||
![]() Шустрый ![]() Профиль Группа: Участник Сообщений: 92 Регистрация: 5.4.2006 Где: Советский Союз Репутация: нет Всего: нет |
Да вот
Да это я файл хотел прикрепить. Чего-то не прикрепился. Но в общем так как у тебя только при нажатии на toolbutton показывается submenu1 и submenu2 Это сообщение отредактировал(а) Nic442 - 30.4.2006, 03:06 |
|||
|
||||
Sunvas |
|
|||
![]() Соль и сахар ![]() ![]() ![]() ![]() Профиль Группа: Участник Сообщений: 3388 Регистрация: 12.3.2006 Где: Тосно Репутация: 28 Всего: 89 |
-------------------- Воспитывая детей по своему образу и подобию, родители почему-то надеются, что они будут лучше их. |
|||
|
||||
Демо |
|
|||
![]() Эксперт ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 1278 Регистрация: 3.11.2005 Репутация: 30 Всего: 50 |
Nic442,
У тебя OnClick на подпункты меню навешен? Добавлено @ 03:10 Уже понял.. -------------------- |
|||
|
||||
Nic442 |
|
|||
![]() Шустрый ![]() Профиль Группа: Участник Сообщений: 92 Регистрация: 5.4.2006 Где: Советский Союз Репутация: нет Всего: нет |
Конечно, ведь они через меню работают.
Reopen1.Items[c].OnClick:=Reopen1_files; |
|||
|
||||
Sunvas |
|
|||
![]() Соль и сахар ![]() ![]() ![]() ![]() Профиль Группа: Участник Сообщений: 3388 Регистрация: 12.3.2006 Где: Тосно Репутация: 28 Всего: 89 |
Но мой глюк так и остался глюком.. -------------------- Воспитывая детей по своему образу и подобию, родители почему-то надеются, что они будут лучше их. |
|||
|
||||
Nic442 |
|
|||
![]() Шустрый ![]() Профиль Группа: Участник Сообщений: 92 Регистрация: 5.4.2006 Где: Советский Союз Репутация: нет Всего: нет |
Да и глюк такой же.
![]() Я ещё пробовал через Toolbutton.MenuItem.IndexOf..... Но так тоже не катит Добавлено @ 03:23 Демо Так попробовал или как?? Какие результаты? |
|||
|
||||
Демо |
|
|||
![]() Эксперт ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 1278 Регистрация: 3.11.2005 Репутация: 30 Всего: 50 |
Вот работающий вариант на OnClick:
Неохота разбираться, глюк это Delphi или так и должно работать...
-------------------- |
|||
|
||||
Nic442 |
|
|||
![]() Шустрый ![]() Профиль Группа: Участник Сообщений: 92 Регистрация: 5.4.2006 Где: Советский Союз Репутация: нет Всего: нет |
Можешь написать работающий вариант, чтобы он удалял пункт и всталял в начало без message
|
|||
|
||||
Демо |
|
||||
![]() Эксперт ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 1278 Регистрация: 3.11.2005 Репутация: 30 Всего: 50 |
Так сейчас IndexOf не -1 возвращает... Добавлено @ 03:39
-------------------- |
||||
|
|||||
Nic442 |
|
|||
![]() Шустрый ![]() Профиль Группа: Участник Сообщений: 92 Регистрация: 5.4.2006 Где: Советский Союз Репутация: нет Всего: нет |
ВООООООООООООООООООООООООООООООООо !!!!!!!!!!!!!!!! ЗАРАБОТАЛО КАЖИСЬ...
![]() СПАСИБО ВАМ ОБОИМ. Я уже хотел сдаваться и спать.... Добавлено @ 03:49 ТЕМУ ПОМЕЧАЮ :-) |
|||
|
||||
![]() ![]() ![]() |
Правила форума "Delphi: Общие вопросы" | |
|
Запрещается! 1. Публиковать ссылки на вскрытые компоненты 2. Обсуждать взлом компонентов и делиться вскрытыми компонентами
Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, Snowy, MetalFan, bems, Poseidon, Rrader. |
1 Пользователей читают эту тему (1 Гостей и 0 Скрытых Пользователей) | |
0 Пользователей: | |
« Предыдущая тема | Delphi: Общие вопросы | Следующая тема » |
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |