Перенос delphi 2010 на другой компьютер

Обновлено: 03.07.2024

Репутация: нет
Всего: 1

Здравствуйте.
Возникла такая проблема. Создал я простенькое приложение для работы с базами данных Paradox (BDE).
Все, в принципе, работает хорошо. Перенес папку с приложением и папки с базами данных на другой компьютер, на котором не установлена Delphi7. Запускаю приложение, пробую открыть базу данных - выдает дикую ошибку.
Установил Delphi7, опять запускаю свою прогу - снова ошибка, но теперь другая, более понятная:
"Unknown database.
Alias: DATABS_d1a."
Не может Delphi найти мои таблицы.
Так что же теперь, заново устанавливать псевдонимы для всех моих 90 баз?
И, получается, без Delphi7 моя программка работать не будет?
Подскажите, пожалуйста, как мне решить эту проблему? Может быть базы надо располагать в каком-то определенном месте при проектировании программы?
Судя по всему, у меня огромное количество мозгов - мне требуется уйма времени, чтобы ими пораскинуть

Репутация: нет
Всего: 1

1 - на другом компе не стоит BDE-драйвер
2 - на другом компе не обязателен Delphi если ты не включил галочку build with runtime packages
3 - установи BDE-драйвер и если не хочешь устанавливать на другом компе Delphi7 попробуй работать через алиасы


Oracle 11.2.0.3.0
FireBird 1.0-2.5

Репутация: 1
Всего: 5

После(во время) установки BDE на другой комп,
не забудь добавить/открыть alias-ы.
Они находятся в файле idapi32.cfg (если делал свои).
Обычно в Program Files/Common Items/Borland Shared/BDE или
в чем-то похожем.

Репутация: нет
Всего: 1

Добавлено @ 22:54


поищи тут на форуме, кто то не давно выкладывал инсталятор bde-компактненький, и программу для создания дистрибутива программы!


Oracle 11.2.0.3.0
FireBird 1.0-2.5

Репутация: нет
Всего: нет

ИМХО нужно сделать инсталятор к приложению который переводится на другой комп (если не хочется устанавливать BDE отдельо). а можно это сделать шиелдом поставив галочку на против BDE

Добавлено @ 06:58

Цитата
Создал я простенькое приложение для работы с базами данных Paradox (BDE).

по моему простенькое приложение лучше создавать с ADO (так интереснее )

Репутация: нет
Всего: 1

Добавлено @ 06:58

Цитата
Создал я простенькое приложение для работы с базами данных Paradox (BDE).


Oracle 11.2.0.3.0
FireBird 1.0-2.5

Репутация: нет
Всего: 1

P.S. При проектировании проги галочку "build with runtime packages" не ставил.

Судя по всему, у меня огромное количество мозгов - мне требуется уйма времени, чтобы ими пораскинуть

Репутация: нет
Всего: 1


а ты в файлике idapi32.cfg
прописал свои алиасы на втором компе?


Oracle 11.2.0.3.0
FireBird 1.0-2.5

Репутация: нет
Всего: 1

Цитата

а ты в файлике idapi32.cfg
прописал свои алиасы на втором компе?

Добавлено @ 15:59

инсталятор bde я нашел, а вот программу для создания дистрибутива программы - что-то никак не найду.

Судя по всему, у меня огромное количество мозгов - мне требуется уйма времени, чтобы ими пораскинуть

Репутация: нет
Всего: 1

Цитата

а ты в файлике idapi32.cfg
прописал свои алиасы на втором компе?

Добавлено @ 15:59


да таких много прог в инете, не давно кто посоветовал Inno Setup, говорили что не плохая прога. у меня где то валяется на коме, правда я ей не пользовался еще!


Oracle 11.2.0.3.0
FireBird 1.0-2.5

Репутация: 1
Всего: 5

Но СВОИ алаясы все равно создавать придется.
Не хочешь переносить руками, сделай так

Код

uses DBIProcs, DBITypes;

А инсталлятор - идея правильная.

Репутация: 11
Всего: 22

Vladimir_K,
Наверху ссылки, в одной из них - статья с описанием, по шагам, как правильно ставить BDE и создать алиасы. В чем проблема? И там же кстати - про ситуацию, с которой у тебя все началось. Так что читать FAQи полезно - быстрее бы все сделал.

Цитата
по моему простенькое приложение лучше создавать с ADO

А зачем? С Парадоксом работать - вообще-то уже извращение, а если еще и через ADO - так это извращение в квадрате . Тем более что на грабли наступить - гораздо больше возможностей.

Репутация: нет
Всего: 1

Цитата
по моему простенькое приложение лучше создавать с ADO

ну а почему ты считаешь ADO в квадрате, может тогда припишем сюда IB, FB и все остальное, люди вольны выбрать на чем писать, а мы посоветовали ADO, как способ научиться работать с базой локальной, вот и все, а рассуждения, это лучше, это отстой, на этом не пишете, а пишите на чем я пишу - это глупо!


Oracle 11.2.0.3.0
FireBird 1.0-2.5

Репутация: нет
Всего: нет

Цитата

А зачем? С Парадоксом работать - вообще-то уже извращение, а если еще и через ADO - так это извращение в квадрате . Тем более что на грабли наступить - гораздо больше возможностей.

Не согласен с Вами коллега, так как с парадоксом работают многие и по сей день (в нашем случае приложение простенькое и для него не будешь ведь устанавливать Oracle или Мускуль), а что на счет АДО и граблей к ним то "кто ошибается тот и учится многому и учится на исправленных своих ошибках" (не мои слова). и перенос с одного компа на другой гораздо легче. Ну это выбор прежде всего программера!

Цитата

а вот программу для создания дистрибутива программы - что-то никак не найду

Разве Шиелд не входит в дистрибютив с Дельфи.

Добавлено @ 12:28
TaNK, да! согласен с ВАми

Цитата

Примечание Vit: с появлением в последющих версиях Дельфи ADO компонентов делает работу с ADO гораздо проще и понятнее .
Взято из DRKB 2.3

Репутация: 11
Всего: 22

TaNK,
Centurion,
Ну вот, чуть что - сразу в клочья. Тогда давайте так:
1. Мне по службе приходится регулярно возиться с dbf-никами. Прошу обратить внимание: именно с dbf-никами. Paradox-базу я уж и не помню, когда в последний раз ковырял. Но явно больше 3 лет назад. Это насчет распространенности. Более редкий - Clarion, а дальше совсем экзотика. Это чисто практика - что по районам раскидать, из районов в министерство послать. Уточняю: МОЯ практика. Чтобы опять не рычали.
2. Я всего лишь имел в виду: Парадокс - формат редкий, что бы кто бы ни говорил. Обычная дилемма: либо всечитаемые dbf (но не db!) или что-то около серверное. Или вообще Excel/Word-порнография.
3. Ну берем Парадокс. Ладно. BDE его скушает легко и быстро - родня как-никак. А вот ADO будет кушать гораздо медленнее и печальнее. Вот потому и ну его - Парадокс+ADO.
Одно редкое, другое по определению - тормоз на локальных БД.
TaNK,

Я не считаю ADO в квадрате, я считаю, что ADO не место в работе с локальными базами (в качестве основного инструмента, в качестве OLAP - очень ничего )

1. Публиковать ссылки на вскрытые компоненты

2. Обсуждать взлом компонентов и делиться вскрытыми компонентами

Обязательно указание:

1. Базы данных (Paradox, Oracle и т.п.)

2. Способа доступа (ADO, BDE и т.д.)

FAQ раздела лежит здесь!

Если Вам помогли и атмосфера форума Вам понравилась, то заходите к нам чаще! С уважением, Vit, Петрович.

[ Время генерации скрипта: 0.1527 ] [ Использовано запросов: 21 ] [ GZIP включён ]

Пожалуйста, выделяйте текст программы тегом [сode=pas] . [/сode] . Для этого используйте кнопку [code=pas] в форме ответа или комбобокс, если нужно вставить код на языке, отличном от Дельфи/Паскаля. Следующие вопросы задаются очень часто, подробно разобраны в FAQ и, поэтому, будут безжалостно удаляться:
1. Преобразовать переменную типа String в тип PChar (PAnsiChar)
2. Как "свернуть" программу в трей.
3. Как "скрыться" от Ctrl + Alt + Del (заблокировать их и т.п.)
4. Как прочитать список файлов, поддиректорий в директории?
5. Как запустить программу/файл?
. (продолжение следует) .
Вопросы, подробно описанные во встроенной справочной системе Delphi, не несут полезной тематической нагрузки, поэтому будут удаляться.
Запрещается создавать темы с просьбой выполнить какую-то работу за автора темы. Форум является средством общения и общего поиска решения. Вашу работу за Вас никто выполнять не будет.
Внимание
Попытки открытия обсуждений реализации вредоносного ПО, включая различные интерпретации спам-ботов, наказывается предупреждением на 30 дней.
Повторная попытка - 60 дней. Последующие попытки бан.
Мат в разделе - бан на три месяца.

'> Перенос компонент Delphi 2010 , нужно перенести компоненты delphi 2010 с одного компьютера на другой

Как можно перенести установленные компоненты Delphi c одного компьютера под xp на другой компьютер под семеркой? На обоих машинах установлено Embarcadero RAD Studio 2010.

Я переносил delphi и builder со всеми компонентами/настройками на другие компы совсем без установки. Весьма увлекательное занятие, особенно, когда пути разные.
Танцы с бубном те ещё. Достойны отдельной статьи с картинками и скринкастами.

Опыт пришёл с годами и десятком попыток и проб с разными версиями IDE.
Начни с того, что нагугли себе прогу для такой миграции. Мож кто и написал уже.

А чего там переносить-то? Все хранится в определенных папках, а пути в реестре.


На днях понадобилось написать небольшую программку. Программа проста как валенок: скачать файл с фтп, откорректировать его должным образом, залить на другой фтп. В целях экономии времени выбор языка пал на Делфи, ведь там есть удобный компонент работы сidFtp!

Подумано - сделано, быстро вояю программку и довольный смотрю на результат: он же, мягко говоря, сильно отличается от ожидаемого. Т.е. на выходе файл совсем не такой как должен быть. Ну, что поделать, начинаю усердно отлаживать код редактирования скаченного файла.

По прошествии нескольких часов я потерял веру в жизнь и законы физики: в коде все абсолютно верно! Значит, ошибка кроется в другом. В чем же?Обращаю свой взор на скачанный файл. Ах тыж екарный через плечо бабай, в рот мне ноги, WTF. Размер скачанных файлов с фтп отличается от оригинального! И ладно бы они были меньше, так ведь они больше!! Не веря свои глазам скачиваю файлы вручную и прогоняю на них свой код. Все работает как часы!

IdFTP1.Get(FileNames[i],GetCurrentDir()+'\'+FileNames[i],false, true);

FileNames представляет собой TStringList и содержит имена файлов на фтп-сервере.

Итак, для начала посмотрим чем же скачанные нами файлы отличаются от оригинальных:


Как видим, размер на который отличаются файлы разный, но примерно составляет 155кб (около 2% от общего объема). Откуда? Не понятно. Сравниваем содержимое файла:


Мистика! Файлы действительно отличаются по содержимому!

Тут стоит отметить что компонент idFtp может скачивать файлы в бинарном и текстовом виде. За это отвечает свойство TransferType, которое может принимать значения ftASCII и ftBinary. Так может дело в этом? Нет. В обоих случаях результат один и тот же.

Более детальное изучение дает еще более удивительный результат: содержимое файлов одинаковое, отличаются символы переноса строк! Точнее в скачанном файле перед каждым переносом строк (0A) добавляется еще один (0D).

Системы, основанные на ASCII или совместимом наборе символов, используют или LF0x0A), или CR (возврат каретки, 0x0D) по отдельности, или последовательность CR+LF. Эти названия основаны на командах принтера: перевод строки означает, что одна строка на бумаге должна быть перенесена при печати, а возврат каретки означает, что каретка печатающего устройства должна вернуться к началу текущей строки. Символы:

Таким образом, я установил откуда растут ноги моего бага: в извечной проблеме Unix vs Windows. Кто переносил код написанный в Delphi 7 в Delphi 2009 или Delphi 2010, знает что основная проблема переноса кроется в том, что многие методы использующие кодировку по умолчанию Windows стали использовать кодировку Unix. Скорее всего мои проблемы из той же серии и данный код без проблем заработает как надо в Delphi 7.

На вскидку, данную проблему можно решить 3-мя способами: 1) Скомпилировать .exe в Delphi 7; 2) Лезть в исходный код компонента idFtp и разбираться с ним; 3) Сделать "костыль" заменяющий "0x0D0x0A" на "0x0A"

Каждый способ имеет минусы: 1) У меня Windows 7, на которую Delphi 7 без бубна не ставится 2) Лень; 3) +100 к "индусости" кода.

Лично мне хотелось поскорее закрыть этот вопрос, потому я быстро установил Delphi7 и скомпилировал код там. Если у кого есть предложения получше - добро пожаловать в комменты :)

Меня попросили повторно открыть проект, который я написал в 1998/99 году в Delphi 3 и с тех пор работает стабильно. У меня есть кодовая база Delphi 3 на устаревшей машине с Windows 98, которая существует только для того, чтобы поддерживать этот проект. Очевидно, я хотел бы перенести базу исходного кода в 21 век, прежде чем предпринимать какие-либо серьезные изменения.

Я с радостью отмечаю, что Delphi 2010 (я сейчас нахожусь на 2007) утверждает, что может импортировать проекты из Delphi 2 и далее. Есть ли у кого-нибудь опыт импорта больших проектов из Delphi 3? Могу ли я ожидать, что это будет легкий переход или трудный?

Кроме того, в исходном проекте используются сторонние компоненты, включая DBISAM, WPTools и TMS Planner. Замечу, что все это по-прежнему доступно для последней версии Delphi. Предполагая, что я сначала установлю новые версии в Delphi 2010, могу ли я ожидать, что части моего приложения, использующие эти компоненты, также будут переведены? Я знаю, что, по крайней мере, WPTools изменил некоторые из своих компонентных структур и интерфейсов, начиная с версии, используемой в исходном приложении, и, очевидно, мне придется кое-что перекодировать, но будет ли сбой этих частей программы мешать моей кодовой базе вообще обновляется?

Эта миграция должна быть вполне возможной, и в зависимости от того, как написан ваш код, она может быть болезненной или безболезненной. К сожалению, нелегко сказать, что именно, пока вы не начнете процесс миграции.

Первое, что я хотел бы сделать, это убедиться, что ВСЕ файлы DFM преобразованы в их текстовое представление. Я считаю, что это было установлено по умолчанию в более поздних версиях Delphi, но насколько я помню, Delphi 3 использовала двоичный формат. В каталоге bin delphi 3 должен быть служебный файл с именем DFMConvert или что-то в этом роде, которое позволяет преобразовывать DFM в текст. Причина, по которой вы захотите это сделать, состоит в том, чтобы убедиться, что вы можете прочитать исходный код, если вам нужно выполнить ручное редактирование DFM из-за того, что компонент не загружается. Вы не только перепрыгиваете версии Delphi, но вы также перепрыгиваете версии КАЖДОГО компонента, который вы используете, и могут быть некоторые несовместимости, которые могут привести к сбою загрузки компонента. Я обнаружил, что если это так и у вас есть «новая» версия, то используйте прямое редактирование источника DFM и сравните тестовую форму с компонентом на нем с тем, что содержится в вашей старой версии. Удалите все (или переименуйте), что не на своем месте, а затем попытайтесь загрузить форму еще раз.

Как упоминал Фрабрицио, если вы используете варианты, вам нужно будет внести незначительные изменения в свой пункт uses.

Хорошая новость заключается в том, что ваш код сам по себе должен работать нормально, как только вы исправите предложение components / uses. Если вы перейдете непосредственно к Delphi 2010, вашей единственной другой проблемой будет Unicode, и компилятор проделает фантастическую работу, указав вам их все с помощью ошибок и предупреждений.

Поскольку у вас есть D2007 и предполагая, что все эти комплекты компонентов также поставляются с dcus D2007, я Советую сначала попробовать заново открыть кодовую базу на D2007. А после этого перейдите на D2010 из-за функции Unicode фактического VCL, которая может создать некоторые проблемы миграции (которые я не буду здесь обсуждать, потому что это подробно обсуждается в Интернете и здесь, на SO).

Я бы сказал это, потому что где-то между D5 и D7 (точно не записывайте) произошла реорганизация модуля rtl (с созданием модуля Variants.pas, многие модули OTAPI изменили имена и т. Д.). Вот здесь и возникнут ваши первые проблемы. РЕДАКТИРОВАТЬ: были перемещены не только варианты, но и многие элементы интеграции IDE - чтобы избежать развертывания нелицензионного кода. Если у вас есть код OTAPI (например, код, разрешающий опубликованные свойства в унаследованных формах), его необходимо переместить в проект пакета.

Как сказал skramradt, возможно, вам придется разобраться с двоичным DFM .

После этого, если все работает, переходите к Unicode. В зависимости от приложения это может быть легко или нет. Для меня это не очень неприятно. Но я знаю, что есть другие, которые сталкиваются с более серьезными проблемами, чем я.

Вот несколько замечаний, которые мы сделали по поводу обновления до Delphi 2010.

У меня есть около 100 dll приложений и COM-серверов для обновления. Предположительно около 12 недель работы с пусконаладочными работами. Надеюсь это поможет.

Чтобы вас успокоить, я недавно преобразовал разрабатываемое мной программное обеспечение с Delphi 4 на Delphi 2009, чтобы получить возможности Unicode, и у меня был ряд проблем, но все они были решены в течение пары недель.

Одно замечание: если вы используете какие-либо сторонние пакеты, убедитесь, что у них есть версия Delphi 2010, на которую вы можете выполнить обновление перед преобразованием. Delphi 2009 подойдет, но я бы не стал пытаться использовать старые пакеты в D2010.

Я не могу много сказать о миграции с D3 на D2010, но недавно я успешно перешел с D6 на D2010. Для начала я убедился, что все сторонние компоненты, которые вы использовали в D3, также доступны в D2010. Перекомпилируйте любые пользовательские компоненты с D6 до D2010. Загрузил исходный код D6 и скомпилировал. Решайте все проблемы с Unicode. Обработайте все ошибки компилятора одну за другой . все это делается примерно за 3 дня (примерно 30000 строк кода)

Я подтверждаю то, что говорят другие: преобразовать приложение D3 в D2010 обычно легко, если речь идет о вашем собственном коде.

Я вижу две трудности:

  1. Вы использовали String как общий буфер, хранящий что-то еще, кроме символов.
  2. Ваш код предполагает, что sizeof (char) равен 1, то есть используйте Length (), когда следует использовать SizeOf (), или наоборот.

Самая сложная часть - это сторонние компоненты.

Похоже, что все компоненты, которые вы используете, все еще существуют для D2010, и это хороший момент. Но вполне вероятно, что их интерфейс был изменен и, конечно, потребует некоторых изменений кода.

Читайте также: