laifik |
Отправлено: 24.11.2004, 11:47 |
|
Дежурный стрелочник
Группа: Участник
Сообщений: 70
|
Методом долгих поисков накопала.
DBGridEh1->Columns->Items[1]->ButtonStyle=Dbgrids::cbsAuto;
Всплывает предупреждение:"Assigning TColumnButtonStyle to TColumnButtonStyleEh". А как от этого избавиться? |
|
Guest |
Отправлено: 24.11.2004, 12:09 |
|
Не зарегистрирован
|
Преобразовать тип / заблокировать сообщение / забыть |
|
laifik |
Отправлено: 24.11.2004, 13:44 |
|
Дежурный стрелочник
Группа: Участник
Сообщений: 70
|
А как это сделать? Я с таким сталкиваюсь впервые. |
|
Konstantine |
Отправлено: 24.11.2004, 14:12 |
|
Мастер участка
Группа: Модератор
Сообщений: 545
|
преобразовывать тип не нада... а нада в хелпе порыться и узнать что такое первое, а что такое второе..
|
|
laifik |
Отправлено: 24.11.2004, 14:25 |
|
Дежурный стрелочник
Группа: Участник
Сообщений: 70
|
Уж где я только не рылась. Поверьте, по всему Интернету практически по этому вопросу нет никакой информации. Впору кричать "SOS"!
Я уже столько намучилась, что мечтаю о конкретном ответе, а не приблизительном.
Работая с навигатором, фигурировала такая фраза:
CODE |
Navigator_Calc->VisibleButtons=(Dbctrls::TButtonSet)btnShow;
|
Я попробовала по аналогии:
CODE |
DBGridEh1->Columns->Items[6]->ButtonStyle=(Dbgrids::TColumnButtonStyleEh)cbsAuto;
|
И не проходит. Но может, кого-нибудь на какие-то мысли натолкнет? Ошибка такая, что TColumnButtonStyleEh не член Dbgrids.
Отредактировано laifik — 24/11/2004, 16:11 |
|
Konstantine |
Отправлено: 24.11.2004, 15:28 |
|
Мастер участка
Группа: Модератор
Сообщений: 545
|
Эх, ладна, дома посмотрю, и если до завтра никто ни ответит — напишу....
|
|
laifik |
Отправлено: 24.11.2004, 15:39 |
|
Дежурный стрелочник
Группа: Участник
Сообщений: 70
|
А я уже сама догадалась! Видимо, от безисходности...
Grid_Crew->Columns->Items[6]->ButtonStyle=TColumnButtonStyleEh(Dbgrids::cbsAuto);
Да, а форум, действительно, вяло работает. Или всем все понятно?
Все равно, спасибо за помощь. Если не трудно, посмотрите мой второй вопрос по Footer.
|
|
Gedeon |
Отправлено: 24.11.2004, 16:49 |
|
Ветеран
Группа: Модератор
Сообщений: 1742
|
QUOTE (laifik @ 24/11/2004, 16:41) | Grid_Crew->Columns->Items[6]->ButtonStyle=TColumnButtonStyleEh(Dbgrids::cbsAuto);
Да, а форум, действительно, вяло работает. Или всем все понятно?
|
Ну и что? Вы привели тип к TColumnButtonStyleEh, что вам и посоветовали в первом же ответе, а раз уж тип преобразовываете, то уж тогда так пишите:
CODE |
DBGridEh1->Columns->Items[1]->ButtonStyle = (TColumnButtonStyleEh)Dbgrids::cbsAuto; |
При этом Вы добились того, что компилятор просто перестал выдавать предупреждение, с таким же успехом можно его либо просто игнорировать, либо подавить Warning.
Работать будет все правильно, только такие вещи могут привести к очень неожиданным результатам, кто знает кому как нравится называть значения своих свойств и у кого какую смысловую нагрузку они несут и как это реализовано.
ЗЫ значение cbsAuto является для колонок EhLib используемым по умолчанию — это 1, а 2 — мне что-то с трудом представляется необходимость менять стиль кнопок в рантайм, что мешает их выставить в дизайне?
Отредактировано Gedeon — 24/11/2004, 17:58
|
|
Konstantine |
Отправлено: 24.11.2004, 17:56 |
|
Мастер участка
Группа: Модератор
Сообщений: 545
|
в рантайме нада если колонки нада добавлять в рантайме...
|
|
Konstantine |
Отправлено: 25.11.2004, 09:21 |
|
Мастер участка
Группа: Модератор
Сообщений: 545
|
дома пробовал и прошло CODE | DBGridEh1->Columns->Items[1]->ButtonStyle=cbsAuto; | без проблем...
|
|
laifik |
Отправлено: 25.11.2004, 09:34 |
|
Дежурный стрелочник
Группа: Участник
Сообщений: 70
|
QUOTE (Gedeon @ 24/11/2004, 17:51) | ЗЫ значение cbsAuto является для колонок EhLib используемым по умолчанию — это 1, а 2 — мне что-то с трудом представляется необходимость менять стиль кнопок в рантайм, что мешает их выставить в дизайне? |
Тут Вы совершенно правы. И в данном куске программы я исключила строку на задание ButtonStyle. Но мне, как всегда, хочется докопаться до истины. Наверное, с такой ситуацией не раз еще придется столкнуться. Это и Ворда касается. Там тоже часто встречается двусмысленность.
Поэтому, буду очень благодарна, если вопрос доведем до конца.
QUOTE |
DBGridEh1->Columns->Items[1]->ButtonStyle=cbsAuto; |
Что касается этого кода, то у меня он не идет. Конечно, трудно понять, не имея перед собою программу. Есть тонкости, в которых можно разобраться, только видя весь код. Но программа огромная, нет смысла в нее посвящать участников форума. Чисто судостроительный расчет. Лучше изобрести универсальный код, который при абгрейте библиотеки не пострадает. |
|
Konstantine |
Отправлено: 25.11.2004, 12:11 |
|
Мастер участка
Группа: Модератор
Сообщений: 545
|
стоп... не такая строка... CODE | DBGrid1->Columns->Items[1]->ButtonStyle=cbsAuto; | ну перепутал немного... *мило шаркает ножкой*
|
|
laifik |
Отправлено: 25.11.2004, 13:22 |
|
Дежурный стрелочник
Группа: Участник
Сообщений: 70
|
Вот именно. Наверное, для простого грида нет проблем. Свойство родное. А вот хотелось бы с библиотекой разобраться.
Излазала вдоль и поперек справку по Ehlib. Хоть бы один код был для примера. Сплошной текст. А пример, который2 поставляется с библиотекой — сам черт ногу сломит. Супер профессиональный, не для простых ламеров. |
|
AVC |
Отправлено: 25.11.2004, 13:57 |
|
Ветеран
Группа: Модератор
Сообщений: 1583
|
А по H файлам? Там много чего полезного можно найти |
|
Konstantine |
Отправлено: 25.11.2004, 14:14 |
|
Мастер участка
Группа: Модератор
Сообщений: 545
|
если ТЫ возле компилятора, то попробуй найти в h-никах тип TColumnButtonStyleEh (скорее всего это enum) и посмотри, какие константы входят в него...
Отредактировано Konstantine — 25/11/2004, 15:18
|
|
Gedeon |
Отправлено: 25.11.2004, 14:30 |
|
Ветеран
Группа: Модератор
Сообщений: 1742
|
Вот решение проблемы, явно указываем пространство имен EhLib
CODE |
DBGridEh1->Columns->Items[1]->ButtonStyle=Dbgrideh::cbsAuto; |
И компилятор возьмет именно то, что мы подразумевали без всякого приведения.
Только не понятно почему компилятор выдал такое сообщение об ошибке:
QUOTE |
[C++ Error] U_MainForm.cpp(16): E2015 Ambiguity between 'cbsAuto' and 'Dbgrids::cbsAuto' |
а не
QUOTE |
[C++ Error] U_MainForm.cpp(16): E2015 Ambiguity between 'Dbgrideh::cbsAuto' and 'Dbgrids::cbsAuto' |
|
|
laifik |
Отправлено: 25.11.2004, 15:39 |
|
Дежурный стрелочник
Группа: Участник
Сообщений: 70
|
QUOTE (Konstantine @ 25/11/2004, 15:16) | если ТЫ возле компилятора, то попробуй найти в h-никах тип TColumnButtonStyleEh (скорее всего это enum) и посмотри, какие константы входят в него... |
enum TColumnButtonStyleEh { cbsAuto, cbsEllipsis, cbsNone, cbsUpDown, cbsDropDown }; |
|
laifik |
Отправлено: 25.11.2004, 15:45 |
|
Дежурный стрелочник
Группа: Участник
Сообщений: 70
|
Gedeon, Вы волей-неволей подсказали решение.
CODE |
Grid_Crew->Columns->Items[6]->ButtonStyle=Dbgrideh::cbsAuto;
|
Dbgrideh, а не Dbgrids.[COLOR=red]
Прошло без всяких предупреждений.
Надеюсь, сейчас все правильно? Огромное спасибо за помощь! |
|
AVC |
Отправлено: 25.11.2004, 16:21 |
|
Ветеран
Группа: Модератор
Сообщений: 1583
|
QUOTE (laifik @ писала) |
Gedeon, Вы волей-неволей подсказали решение.
CODE | Grid_Crew->Columns->Items[6]->ButtonStyle=Dbgrideh::cbsAuto; |
Dbgrideh, а не Dbgrids.[COLOR=red]
Прошло без всяких предупреждений.
|
За незнание способа разрешения конфликта имен вы поплатились долгим "излазанием вдоль и поперек справки по Ehlib" . Теперь понятно что вы написали и как поступать в подобных случаях ? |
|
laifik |
Отправлено: 25.11.2004, 16:56 |
|
Дежурный стрелочник
Группа: Участник
Сообщений: 70
|
Да, это для меня хороший урок. Но у меня ранее конфликтов имен не было. Пока не стала создавать компоненты "ручками". |
|
AVC |
Отправлено: 25.11.2004, 17:22 |
|
Ветеран
Группа: Модератор
Сообщений: 1583
|
Удачи |
|