| Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате |
| Форум программистов > C++ Builder > Программное сжатие БД Access |
| Автор: SelfDestructor 17.2.2003, 22:02 | ||
На C++ Builder пробую следующий код, раздобытый где-то
на второй строчке валится с сообщением "недопустимое число параметров" подскажите, в чем ошибка? может кто подскажет альтернативный вариант сжатия или ссылку где можно почитать как это сделать - буду признателен =)) |
| Автор: Vit 18.2.2003, 00:21 |
| Скачай компоненты kaDAO - есть на www.torry.net, это пакет для Дельфи, но думаю на билдер должны стать, там есть эта функция. |
| Автор: SelfDestructor 18.2.2003, 02:11 |
| По возможности хотелось бы избежать дополнительных компонент. |
| Автор: Vit 18.2.2003, 03:44 |
| Тогда точно скажу - используй DAO, иначе никак. Если не знаешь как, то скачай компонент и посмотри как они это делают. |
| Автор: SelfDestructor 18.2.2003, 19:36 |
| Хорошо, тогда такой вопрос, пока идет не быстрый процесс скачивания, будет ли предложенный тобой способ работать на машине, где MS Access не установлен? - мне в принципе это и надо =)) |
| Автор: Medved 18.2.2003, 22:46 | ||||
А ты попробуй je.OleFunction не разбивать на несколько строчек, а это все сделать в одной. |
| Автор: SelfDestructor 18.2.2003, 23:12 |
| Попробовал, хотя заранее был уверен, что это ничего не даст. Зато обнаружил, что после armtest.mdb точку с запятой забыл - но это тоже ничего не дало =)))) Из исходников каДАО выковырять нужное место пока затруднительно. Трудность в правильной иннициаллизации объекта CoreDBEngine, который замучался выцеплять =)). Ну не верится, что без ДАО не обойтись! |
| Автор: Vit 19.2.2003, 00:49 |
| Установка MS Access необязательна - достаточно зарегистрированной DAO3x.dll - все интерфейсы зашиты в ней. Можешь не верить что можно сделать без DAO - скорее всего можно, но MS обеспечивает полный контроль над работой с MS Access только через DAO . Конечно если найти из исходники или декомпильнуть эту DLL то скорее всего достучаться можно, но это крайне трудоёмко. Можно пойти таким способом- экспортировать все интерфейсы из DAO3x.dll и самому разобраться какой интерфейс работает и какой метод использовать. Если вы знакомы с COM технологией то скорее всего у вас не должно возникнуть затруднений. PS. DAO3x.dll означает одну из следующих dll в зависимости от версии офиса: DAO30.dll, DAO35.dll, DAO36.dll |
| Автор: SelfDestructor 19.2.2003, 23:29 |
| Хм, хорошо, Vit, спасибо! Надо еще проверить: входит ли dao3x.dll в MDAC 2.5 например? Потому как оффис на машинах клиентов может не стоять, а МДАК мы в комплект поставки включаем... |
| Автор: Vit 20.2.2003, 00:03 | ||
Нет проблем, поставляй DLL со своей программой, и если её нет то ставь свою и регистрируй как обычный AciveX - к счастью никаких дополнительных файлов и установок к этой DLL не требуется. Я её поставляю со своими программами без всяких проблем. |