Нужно сделать консольный вариант конвертора БД Например, для того чтобы делать выгрузку в автоматическом режиме (http://rt.etersoft.ru/Ticket/Display.html?id=8140), а также многое другое. Клиенты не раз спрашивали про это.
$ cvs checkout selta $ cd gui Надо сделать консольный инструмент по загрузке / выгрузке дампа (пример эксплуатации можно посмотреть в заявке) Параметры командной строки - максимально похоже на mysqldump --help Программа должна быть под Windows. я сделал скелет программы в каталоге cmd
Еще одно дополнение. Включение и выключение программы из командной строки. Цитата: "Я вспомнил ещё про один немаловажный ИМХО нюанс - необходимость "запуска" SELTA (подмены ODBC драйвера) для работы конвертера. Если запуск SELTA требуется в обязательном порядке, то для "пакетного" режима работы конвертера потребуется также "пакетное" включение/отключение самой SELTA ? "
Стас, отпишись по итогам баги. Вроде бы что-то делали и даже тестировали.
Сделал. В msi не добавлял. Надо что бы кто нибудь посмотрел. Хотя бы то, что я там в хелпе по английски написал. Если все устраивает, можно добавлять в msi. Все есть в cvs.
1. В cvs ничего нет. 2. Ждать, чтобы кто-то посмотрел, не надо, надо было сразу добавить. 3. Я добавил в msi.
1) как работает, все ли работоспособно? 2) Если уже есть в сборке, необходимо написать краткий мануал по использования. Стас, вот здесь можно написать wiki.office.etersoft.ru желательно с примерами. а дальше уже добавим на общую вики После этого закрываем ее.
Мануал. http://wiki/SELTA/cmd
У меня тут два замечания. 1. При всем этом не проверяется лицензия 2. При запуске selta может появится окошечко с рассказом, что будет скопирована после перезагрузки. И вопрос да/нет. Это как-то противоречит консольности. 1. делается совсем легко. Не знаю, надо ли? 2. Надо подумать как. Можно изменить существующий код, что бы он не всегда показывал окошечко, но тогда надо ответ по умолчанию или еще один параметр или и то и другое. Я правда, когда писал не рассчитывал на необязательные параметры. Но можно добавить. Или можно отловить окно и нажать за юзера. Но это как-то не правильно. Можно еще так и оставить.
(In reply to comment #8) > У меня тут два замечания. > 1. При всем этом не проверяется лицензия Командная строка - это утилита, поэтому чтобы не было конфликтов с лицензией со стороны ПО, вначале надо запускать основной окно Сельты, проходить проверку в GUI. Командная строка же должна отслеживать это. Если проверка лицензии в GUI не была пройдена, то и работать она не должна. > 2. При запуске selta может появится окошечко с > рассказом, что будет скопирована после > перезагрузки. И вопрос да/нет. Это как-то > противоречит консольности. Пока я не считаю это критичным. Но если будут какие-то проблемы, то решить ее не сложно.
Добавил проверку лицензий. Никаких окон не запускается. Просто проверяется лицензия.
Добавил твое описание на офиц.вики. Сделал ссылку с главной страницы продукта на вики http://wiki.etersoft.ru/SELTA См. раздел Использование (правая колонка)
(In reply to comment #8) > У меня тут два замечания. > 1. При всем этом не проверяется лицензия > 1. делается совсем легко. Не знаю, надо ли? Не уверен что надо, но если сделано, пусть будет. > 2. При запуске selta может появится окошечко с > рассказом, что будет скопирована после > перезагрузки. И вопрос да/нет. Это как-то > противоречит консольности. При линковке консольной программы не должно быть указаны -lcomctl32 -lcomdlg32 Ну и конечно никаких таких проверок делать не нужно, консольность предполагает, что человек знает, что делает.
(In reply to comment #12) > При линковке консольной программы не > должно быть указаны > -lcomctl32 -lcomdlg32 Тогда не работает. К Makefile в OBJECTS= я подключаю ../gui/Selta.o (я ведь использую функции из GUI). запуск,конвертация, проверка лицензий. Без этих параметров make ругается ../gui/Selta.o:Selta.cpp:(.text+0xf3c): undefined reference to `_InitCommonControls@0' ../gui/Selta.o:Selta.cpp:(.text+0x2d27): undefined reference to `_GetOpenFileNameA@4' ../gui/seltadiagn.o:seltadiagn.cpp:(.text+0xe0a): undefined reference to `_GetSaveFileNameA@4' ../gui/seltadiagn.o:seltadiagn.cpp:(.text+0x1058): undefined reference to `_GetSaveFileNameA@4' ../gui/converterdlg.o:converterdlg.cpp:(.text+0xd0c): undefined reference to `_GetOpenFileNameA@4' ../gui/dbinitdlg.o:dbinitdlg.cpp:(.text+0xd2e): undefined reference to `_GetSaveFileNameA@4' Я этих функций не использую. Но как сделать, что бы прицеплялись только нужные функции я не знаю. > Ну и конечно никаких таких проверок делать > не нужно, консольность предполагает, что > человек знает, что делает. Не понял. Каких проверок?
Переношу все общие моменты в код в отдельную папочку SharedCode, попутно исправляю ошибки.
Для тех, кто не пользуется багзиллой или не умеет пользоваться групповым редактированием при поиске, закрываем задачи, которые они должны были принять.