| Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате |
| Форум программистов > Delphi: Базы данных и репортинг > Перенос программы на др пк |
| Автор: tikitiki 28.9.2005, 22:30 |
| Помощь нужна. Перенёс программу с бд paradox, работающую через BDE на другой пк. Тестировал на w2000, перенести надо тоже на w2000. Программа работает на локальном компьютере. При переносе ошибку выдаёт и не запускается. К сожалению какая ошибка пока не знаю. Что может быть? Если исключить отсутствие BDE у клиента. Ещё. Странно очень. Пробовал перенести программу на CD-RW а потом назад на тот же пк -оказалось при запуске выдаёт ......read only dataset и глохнет. Такое может быть? |
| Автор: Albinos_x 28.9.2005, 22:57 | ||
видимо свойство файла осталось: "только для чтения", поэтому и выдаёт ошибку... |
| Автор: ТоляМБА 29.9.2005, 05:55 | ||||
Еще вспомнил такую фишку: если перенести только экзешник который обращается через прописанные в БДЕ админе алиасы, а на другой машине этих алиасов нет или файлы с данными по указанному пути отсутствуют, то тоже вылетает ошибка, даже Только при запуске проги, то есть когда ты к данным еще не обратился Сам нажав на кнопку в проге. |
| Автор: tikitiki 29.9.2005, 09:30 |
| Алиасы не использовал в программе. БД подключал к приложению программно. В BDE Admin и Database desktop алиасы использовал только на этапе отладки. Хотя может действительно что-то упустил. Не могу понять. Насчёт read-only files знаю. Но здесь вот в чём дело. Я это проворачивал на одном пк. Сначала перенёс папку с программой в другую папку (назовём B)-проверил -там запускается и всё работает, т.е. я исключил потенциальные ошибки, что BDE Admin данные не найдёт. Затем опять перенёс родную папку с программой на CD-RW и потом с CD-RW на пк в папку B, ту что выше я описал. И она там уже выдаёт .....read only dataset. |
| Автор: ТоляМБА 29.9.2005, 10:00 | ||||
Если грабли в нижеследующем, то я буду ругаться, если нет будем разбираться дальше:
Еще хочу сказать про одни грабли. Правда работаю с dBase файлами. Так вот если указать на скрытую папку с файлами, то обращаться к фалам можно, а если скрыть сами файлы, то уже не обратишься. |
| Автор: tikitiki 29.9.2005, 10:32 |
| Ещё очень похожую программу вторую на тот же пк устанавливаю. Ошибка выдаётся. An error occured while attempting to initialize the Borland Database Engine (error $2108) Т.е. ошибки почему-то разные, хотя программы я сходно создавал. Проблема в том, что у меня доступ к клиенту пока на расстоянии. Отсутствие BDE у клиента я предполагал. Подготовил для этого установочный файл для установки BDE клиенту bde.exe. |
| Автор: bas 29.9.2005, 10:33 | ||||||
Алгоритм в студию.
Не наверно, а точно. |
| Автор: tikitiki 29.9.2005, 10:40 |
| Может повторюсь, но похоже не ушло сообщение. Сейчас знаю. На пк, но который устанавливал первую программу, ошибка выдаётся: "Название exe" вызвало ошибку и будет закрыто. Требуется перезапустить программу. Создан журнал ошибок. Я программу по эл. почте на клиентский пк перегнал. Т.е. CD исключил. Выше названная ошибка относится к перегнанной программе. ТоляМБА, остальное проверяю. Обязательно отвечу |
| Автор: tikitiki 29.9.2005, 10:53 | ||
В обоих программах код один и то же:
|
| Автор: ТоляМБА 29.9.2005, 10:56 |
| 2 tikitiki Слушай, давай сначала с одной прогой разберемся, а то чёрт ногу сломит, и модератор по ушам даст: Один топик - один вопрос. |
| Автор: tikitiki 29.9.2005, 12:13 |
| Хорошо разбираемся с первой. С ней и проблем больше. Я забываю про топик. Если нужно целиком программу дам |
| Автор: ТоляМБА 29.9.2005, 12:30 |
| Скинь мне исходники с Парадоксовскими файлами на мыло (мыло в профиле) зипани телько не в .ехе. Если сможешь в течение часа (у меня щас 15:42 а работаем до 17:00), дома посмотрю, а то завтра на работе дел много будет. |
| Автор: tikitiki 29.9.2005, 13:32 |
| Отправляю. Сейчас у тебя близится к 17-00 Добавлено @ 13:38 На счёт CD догадывался. Не совсем просто знал. Потому и почту использовал. ТоляМБА, прошу сильно не ругаться. Снова пока с CD-RW не проверял. Но т.к. его исключил при помощи почты и вообще, то проблема в чём-то другом. Мне кажется одним из выходов может быть пока установка BDE у клиента и после возможно программа заработает. Другого пока ничего не придумал. Но думаю. |
| Автор: bas 29.9.2005, 15:52 | ||||
1.Я работаю с FoxPro и по умолчанию это драйвер стоит в BDE . тоесть проверки только на Database1.Params.Values['PATH']:= ExtractFilePath(ParamStr(0)); недостаточно. 2. Если прога запускаеться не под admin'ом то писаить в реестр нелья Но можно обойтись обьектом TSession и задать путь тамhttp://forum.sources.ru/index.php?showtopic=62261 Добавлено @ 15:54
$2108 (8456) = Cannot locate IDAPI32 .DLL. |
| Автор: tikitiki 30.9.2005, 08:00 |
| bas. Хорошо. Я вот так примерно пытаюсь делать. Сначала вынужден видимо присвоить Aliase, чтобы иметь право его изменять. Настройки Alias’а (псевдоним ‘MyDB’) в BDEAdmin.exe такие Path='с:\dbf\'% |
| Автор: tikitiki 30.9.2005, 11:26 |
| Инет подвёл. Хорошо. Я вот так примерно пытаюсь делать. Сначала вынужден видимо присвоить Aliase, чтобы иметь право его изменять. Настройки Alias’а (псевдоним ‘MyDB’) в BDEAdmin.exe такие Path='с:\dbf\' ENABLE BCD = FALSE DEFAULT DRIVER = Paradox Определяю в одном модуле в implementation свою процедуру ChangeAlias (полностью содрал из delphi help), которая, как я понял, выкидывает окошко с приглашением юзеру ввести новый путь к таблицам бд для данного алиаса( с этим кодом не всё пока понял) и в том же модуле в процедуре TForm1.FormCreate(Sender: TObject) вызываю процедуру ChangeAlias. procedure ChangeAlias; var AParams: TStringList; Dir: string; begin ifnot Session.IsAlias('MyDB') then begin ShowMessage('Alias MyAlias does not exist'); Exit; end; AParams := TStringList.Create; try // get the current PATH parameter Session.GetAliasParams('MyDB',AParams); Dir := Copy(AParams.Strings[0],6,255); // get the new PATH parameter if InputQuery('MyAlias Alias Path','Path:' ,Dir) then begin // Update the alias parameters AParams.Clear; AParams.Add('PATH=' + Dir); Session.ModifyAlias('MyDB',AParams); Session.SaveConfigFile; end; finally AParams.Free; end; end; procedure TForm1.FormCreate(Sender: TObject); begin ChangeAlias; Database1.Close; Database1.Params.Values['PATH']:= ExtractFilePath(ParamStr(0)); Database1.Open; end; |
| Автор: bas 30.9.2005, 11:59 |
| tikitiki загрузи bde32.hlp задай поиск Alias или Env и посмотри примеры. |
| Автор: tikitiki 30.9.2005, 12:09 |
| bas, спасибо. Я на самом деле не знал где искать... Смотрю |