Собираем идеи на тему -чего не хватает в MAV Direct ODBC
Модератор: Andrew™
Правила форума
При написании вопроса или обсуждении проблемы, не забывайте указывать версию Clarion и MAV который Вы используете.
А так же пользуйтесь спец. тегами при вставке исходников!!!
При написании вопроса или обсуждении проблемы, не забывайте указывать версию Clarion и MAV который Вы используете.
А так же пользуйтесь спец. тегами при вставке исходников!!!
- StillZero
- Ветеран
- Сообщения: 454
- Зарегистрирован: 06 Июль 2005, 2:17
- Откуда: Хабаровск
- Контактная информация:
2Mixer: на миксере на аватаре стрелку дорисуйПо моему тупо пересчитывать нужно каждый столбец, все до пикселя... с учетом Windows XP и текущей визуальной темы.
Андрей Попов как то это делал но вот молчит и не хочет делиться наработками.
У него почти работало. Пару моментов думаю дорешать бы и все ...
Может скажет чего.
у меня есть два варианта:
1. Использовать Prop:Edit не для текущей колонки, а для предыдущей, т.е. типо узнать конец предыдущей колонки, т.е. начало текущей, потом Prop:Edit для текущей - знаем конец текущей, но чета потом мне эта идея показалась нереализуемой, давно разбирался, уже не помню чего там возвращается
2. пример "тупого" пересчета есть на zero.clarionlife.net статья называется "Иконки в заголовках листбокса", но там есть ошибка , исправлять не стал, так как класс не нашел применения, баг заключается по-моему в том, что наличие группы дает погрешность в 1 пиксель на группу, т.е. при наличии 3-ех групп в листе, смещение видно очевидно
этот я и используюStillZero писал(а): 1. Использовать Prop:Edit не для текущей колонки, а для предыдущей, т.е. типо узнать конец предыдущей колонки, т.е. начало текущей, потом Prop:Edit для текущей - знаем конец текущей, но чета потом мне эта идея показалась нереализуемой, давно разбирался, уже не помню чего там возвращается
ну это тоже проходил, взводи PROP:Pixels перед расчётами в True и не будет ошибокStillZero писал(а):2. пример "тупого" пересчета есть на zero.clarionlife.net статья называется "Иконки в заголовках листбокса", но там есть ошибка , исправлять не стал, так как класс не нашел применения, баг заключается по-моему в том, что наличие группы дает погрешность в 1 пиксель на группу, т.е. при наличии 3-ех групп в листе, смещение видно очевидно
Все это уже говорилось:
1. MAVConnect должен уметь блокировать появление стандартного виндового окошка коннекта к базе.
2. Хочется шаблон кнопочки копирования записи. Можно даже с дочерними записями.
3. Очень хочется EIP. Причем хочется EIP человеческий, типа как в экселе, но это, наверное, сложно.
4. Хочется такой же EIP по очередям (правда это уже несколько отдельная тема)
Что-то еще хочется... Вспомню - напишу.
И еще вопрос. Если включить у клиента трассировку, то что, можно запросто отслеживать пароли и прочее? Можно ли в программе запретить трассировку?
1. MAVConnect должен уметь блокировать появление стандартного виндового окошка коннекта к базе.
2. Хочется шаблон кнопочки копирования записи. Можно даже с дочерними записями.
3. Очень хочется EIP. Причем хочется EIP человеческий, типа как в экселе, но это, наверное, сложно.
4. Хочется такой же EIP по очередям (правда это уже несколько отдельная тема)
Что-то еще хочется... Вспомню - напишу.
И еще вопрос. Если включить у клиента трассировку, то что, можно запросто отслеживать пароли и прочее? Можно ли в программе запретить трассировку?
не сложно и почти готовоАрсений писал(а):Все это уже говорилось:
3. Очень хочется EIP. Причем хочется EIP человеческий, типа как в экселе, но это, наверное, сложно.
4. Хочется такой же EIP по очередям (правда это уже несколько отдельная тема)
какие пароли, если для соединения, то его не видно в трассе (***)Арсений писал(а): И еще вопрос. Если включить у клиента трассировку, то что, можно запросто отслеживать пароли и прочее? Можно ли в программе запретить трассировку?
если из БД, то шифровать надо самому, а не держать в открытом виде в БД.
Хочется:
1. на основе MavBrowse (по таблице из словаря) аналогичный ему, но работающий по описанной в APP или DCT очереди (QUEUE).
2. шаблон Multi-Tree (дерево по связанным таблицам).
3. на основе MavBrowse -- шаблон, где обрабатывался и отображался произвольный select , например результат выполнения хранимой процедуры и к нему какой-нибудь шаблон типа UpdateButton (Insert,Update,Delete), но естественно что, если имеем дело с произвольным запросом, то и редактирование записи через хранимую процедуру.
1. на основе MavBrowse (по таблице из словаря) аналогичный ему, но работающий по описанной в APP или DCT очереди (QUEUE).
2. шаблон Multi-Tree (дерево по связанным таблицам).
3. на основе MavBrowse -- шаблон, где обрабатывался и отображался произвольный select , например результат выполнения хранимой процедуры и к нему какой-нибудь шаблон типа UpdateButton (Insert,Update,Delete), но естественно что, если имеем дело с произвольным запросом, то и редактирование записи через хранимую процедуру.
Вот и я добрался до пощупать
Первое - нет процедуры формирования ConnectionString. Хотелось бы отдельный шаблончик. Причем, хотелось бы как у Сергея Башкирова - чтобы был виден список видимых серверов, можно было выбирать БД из списка доступных на сервере.
И второе - заворачивание Browse и Tree в один шаблон не совсем прозрачно с точки зрения интерфейса. Лучше бы, чтобы было как в ШВС - закладку Tree видно, а в ней написано "Для активации включите Tree в ListBox".
Третье - под ШВС с примерами можно поставлять и Default.app с проставленными в нужную позицию дропбоксами. А то тупил очень не по детски, где же их нужно и во что переключать. Хотя и читал предупреждение.
Первое - нет процедуры формирования ConnectionString. Хотелось бы отдельный шаблончик. Причем, хотелось бы как у Сергея Башкирова - чтобы был виден список видимых серверов, можно было выбирать БД из списка доступных на сервере.
И второе - заворачивание Browse и Tree в один шаблон не совсем прозрачно с точки зрения интерфейса. Лучше бы, чтобы было как в ШВС - закладку Tree видно, а в ней написано "Для активации включите Tree в ListBox".
Третье - под ШВС с примерами можно поставлять и Default.app с проставленными в нужную позицию дропбоксами. А то тупил очень не по детски, где же их нужно и во что переключать. Хотя и читал предупреждение.
это как ты себе это представляешь, данная библиотека заточена за организацию доступа через ODBC с сооветсвующим сервером и даже не сервером, хоть с ASCII файлом если есть к нему ODBC драйвер, я понимаю что такую вещь можно применительно к определённому серваку сделать, вот универсальную не факт. Строки соединения как показывает практика очень даже отличаются от типа сервака.VishnuRU писал(а):Вот и я добрался до пощупать
Первое - нет процедуры формирования ConnectionString. Хотелось бы отдельный шаблончик. Причем, хотелось бы как у Сергея Башкирова - чтобы был виден список видимых серверов, можно было выбирать БД из списка доступных на сервере.
Для создания такого шаблона и всего предложеного нужна универсальность, которй я не вижу.
можеть быть, Но шибко много закладок получается, Tree DropCombo, DropList Browse Box это как дополнительные атрибуты - характеристики Browse, вот они и сидят на закладке Other - дополнительноVishnuRU писал(а): И второе - заворачивание Browse и Tree в один шаблон не совсем прозрачно с точки зрения интерфейса. Лучше бы, чтобы было как в ШВС - закладку Tree видно, а в ней написано "Для активации включите Tree в ListBox".
у меня данная библиотека продаётся через ClarionShop, что означает что библиотека должна работать с оригинальными наборами шаблонов.VishnuRU писал(а): Третье - под ШВС с примерами можно поставлять и Default.app с проставленными в нужную позицию дропбоксами. А то тупил очень не по детски, где же их нужно и во что переключать. Хотя и читал предупреждение.
не хочу, есть стандарт CW.TPL, ABC.TPL в первую очередь под них заточено, кто юзает ШВС, думаю будет необременительно самому под свои нужды создать default.app пустышку не только с определёнными глобальными настройками , но и с определённым набором глобальных extension templates
А если посмотреть мастер подключения в самом ODBC? Или хотя бы просто базовую процедуру для заполненияДля создания такого шаблона и всего предложеного нужна универсальность, которй я не вижу.
GlobalConnectionString = |
'DRIVER=SQL Server;'&|
'SERVER='&clip(ServerName)&';'&|
'UID='&clip(UserName)&';'&|
'PWD='&clip(Password)&';'&|
'DATABASE='&clip(DatabaseName)&';'&|
'SWID='&clip(UserName)
Понятно, что никаких чудес здесь нет и наваять можно самому. Но ее отсутствие значительно увеличивает время до первого запуска приложения...
Из общих замечаний - в поставке нет иконок, используемых шаблонами (или в платной - есть?). Иконки, конечно, находятся в примерах. Но это, на мой взгляд, не совсем удобно.
И я не понял про локальную версию. У меня GPF при запуске приложения. В DLL-версии все нормально. (6.2 9049)
ну опять двадцать пять я же говорил что для разных серверов строка соединения совершенно разная, то что ты написал касается Microsoft SQL сервера, например, для того же монстра Oracle этот формат уже не прокатит.VishnuRU писал(а): А если посмотреть мастер подключения в самом ODBC? Или хотя бы просто базовую процедуру для заполнения
GlobalConnectionString = |
'DRIVER=SQL Server;'&|
'SERVER='&clip(ServerName)&';'&|
'UID='&clip(UserName)&';'&|
'PWD='&clip(Password)&';'&|
'DATABASE='&clip(DatabaseName)&';'&|
'SWID='&clip(UserName)
Понятно, что никаких чудес здесь нет и наваять можно самому. Но ее отсутствие значительно увеличивает время до первого запуска приложения...
в коммерческой все картинки из примеров лежать в Template дирректории.VishnuRU писал(а): Из общих замечаний - в поставке нет иконок, используемых шаблонами (или в платной - есть?). Иконки, конечно, находятся в примерах. Но это, на мой взгляд, не совсем удобно.
тут скорее всего конфликт версий, твой вариант MAV Direct ODBC собран на более ранней версии c 6.2VishnuRU писал(а): И я не понял про локальную версию. У меня GPF при запуске приложения. В DLL-версии все нормально. (6.2 9049)
в коммерческой любые сборки работаю нормально, проверил
Ну, из Help'а разница невелика
Повторяю, прожить без этого можно. Но жизнь отсутствие отравляет
Возвращаясь к закладкам - можно сделать одну, а в ней расписать, что включаем - что имеем.
Для стилей - мне больше по душе подход Синявского: отдельно описание стиля, отдельно - использование ранее описанного стиля. Переопределение текущего стиля по ранее описанному хорошо, но не дает возможности расширить набор условий.
Может этот набор и реализовать? Просто как основу.Connection string examples:
For MS SQL
DRIVER{{SQL Server};SERVER=ServerName;UID=User;PWD=Password;DATABASE=DatabaseTableName
For Oracle
DRIVER{{Oracle ODBC Driver};DBQ=ServerName;UID=User;PWD=Password
For mySQL
DRIVER{{SQL Server};SERVER=ServerName;UID=User;PWD=Password;DATABASE=DatabaseTableName; ;OPTION=3
Повторяю, прожить без этого можно. Но жизнь отсутствие отравляет
Возвращаясь к закладкам - можно сделать одну, а в ней расписать, что включаем - что имеем.
Для стилей - мне больше по душе подход Синявского: отдельно описание стиля, отдельно - использование ранее описанного стиля. Переопределение текущего стиля по ранее описанному хорошо, но не дает возможности расширить набор условий.
В принципе, как решение, которое всегда можно заюзать, это логин окно в примерах из поставки, там можно выбрать любой зарегистрированный в ОС ODBC Driver, и при необходимости отредактировать формат строки соединения (ini файл), default формат имено тот о котором ты и упоминал.VishnuRU писал(а):Ну, из Help'а разница невелика
Может этот набор и реализовать? Просто как основу.
Повторяю, прожить без этого можно. Но жизнь отсутствие отравляет
извини, не понялVishnuRU писал(а): Возвращаясь к закладкам - можно сделать одну, а в ней расписать, что включаем - что имеем.
Расширение условий - это уже новый стиль.VishnuRU писал(а): Для стилей - мне больше по душе подход Синявского: отдельно описание стиля, отдельно - использование ранее описанного стиля. Переопределение текущего стиля по ранее описанному хорошо, но не дает возможности расширить набор условий.
Всё по отдельности мне не по дуще, а так у меня всё сразу видно какой стиль у колонки с какими условиями.