Экспертная система Delphi.int.ru

Сообщество программистов
Общение, помощь, обмен опытом

Логин:
Пароль:
Регистрация | Забыли пароль?

Delphi.int.ru Expert

Другие разделы портала

Переход к вопросу:

#   

Статистика за сегодня:  


Лучшие эксперты

Подробнее »



Вопрос # 1 167

/ вопрос открыт /

Здравствуйте!
Не подскажете как нужно скомпилировать проект, чтобы он запускался на компах, чде не установлен Delphi?
Если нужно перенести dll, то какие?
Проект использует следующие модули:

Приложение:
  1. Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,Dialogs, StdCtrls, ComCtrls, ActnList, Buttons, PropFilerEh,StrUtils,PropStorageEh, DB, DBClient, ExtCtrls,ShellApi,
  2. SysUtils, Classes, DB, IfxConnection, IfxFieldTypes, IfxCustomDataSet,
  3. IfxQuery, IfxStoredProc
  4. IniFiles,Registry,
  5.  
  6. TempletsUnit,e3ShellUtils,ConstUnit,LoginUnit,TotalDataModuleUnit;


ss Вопрос ожидает решения (принимаются ответы, доступен мини-форум)

Вопрос задал: ss (статус: Посетитель)
Вопрос отправлен: 3 декабря 2007, 18:01
Состояние вопроса: открыт, ответов: 2.

Ответ #1. Отвечает эксперт: Feniks

Здравствуйте, ss!
Для этого откройте свойства Вашего Проекта (меню Project->Options), на вкладке "Packages" снимите флажек "Build with runtime packages" (см. Рисунок в атаче).
К ответу прикреплён файл. Загрузить » (срок хранения: 60 дней с момента отправки ответа)

Ответ отправил: Feniks (статус: Бакалавр)
Время отправки: 3 декабря 2007, 18:30

Ответ #2. Отвечает эксперт: Вадим К

Здравствуйте, ss!
Судя с списка файлов, вы применяете BDE(компоненты TTable, TQuery)
Если так, то тогда это плохо, так как Борланд отказался от поддержки этого продукта. Можно конечно накопировать необходимы длл, но это крайне неправильное решение.
Более правильно - зайти на страничку борланда http://info.borland.com/devsupport/bde/bdeupdate.html и скачать инсталлятор для БДЕ. На машине пользователя установить и настроить за надобностью алиасы.
Второй причиной может быть то, что была включена поддержка Run-Time пакетов. Что бы не копироть их, проще отметить галочку в настройках (Project - Otions - вкладка Packges - галочка "Build with runtime Packge")

Ответ отправил: Вадим К (статус: Академик)
Время отправки: 3 декабря 2007, 18:34


Мини-форум вопроса

Всего сообщений: 14; последнее сообщение — 7 декабря 2007, 15:22; участников в обсуждении: 3.
ss

ss (статус: Посетитель), 4 декабря 2007, 13:13 [#1]:

Галочка "Build with runtime Packge" уже была снята. Windows выдает сообщение о закрытии и отправлении отчета и больше никаких подробностей. Устанавливать на другой компьютер ничего нельзя.
Скорей всего надо копировать DLL. Не подскажите какие? Если есть Dll с одинаковыми именами в текущей папке и в папке WINDOWS, то какой будет использоватся?
Вадим К

Вадим К (статус: Академик), 4 декабря 2007, 13:26 [#2]:

Цитата:


Скорей всего надо копировать DLL

Далеко не факт. возможно ваша программа ищет какой то файл (например базу данных) там где её нет. А на вашей рабочей она там есть.

Цитата:


Устанавливать на другой компьютер ничего нельзя

Тогда лучше отказаться вообще. Ибо свою программу тоже не установите (нельзя ведь)

Цитата:


Скорей всего надо копировать DLL. Не подскажите какие?

Телепаты в отпуске. Ни исходников, ни испольнимого файла я не видел.

Цитата:


Если есть Dll с одинаковыми именами в текущей папке и в папке WINDOWS, то какой будет использоватся?

Вначале те, что возле программы. потом длл будет искаться по всем путям, перечисленным в переменной окружения Path
Галочка "подтверждения прочтения" - вселенское зло.
ss

ss (статус: Посетитель), 4 декабря 2007, 13:42 [#3]:

Нет базы и подключений она не ищет, exe-файл запускался на компе, где нет никаких баз и подключений, но был установлен delphi, но не запускается где нет delphi, но есть подключение к базе.
Вадим К

Вадим К (статус: Академик), 4 декабря 2007, 13:48 [#4]:

судя с этого DB, DBClient - база есть.
IfxConnection - ещё больше доказывает

Итак, начнём по другому. Просто отвечайте на вопросы в виде да/нет.
Если установить делфи, то прога запускаеться?
В программе есть компоненты TTable и/или TQuery?
Галочка "подтверждения прочтения" - вселенское зло.
ss

ss (статус: Посетитель), 4 декабря 2007, 13:56 [#5]:

да, компоненты есть, но сначала программа должна вывести форму входа в базу, только после этого происходит соединение.
Вадим К

Вадим К (статус: Академик), 4 декабря 2007, 14:04 [#6]:

вот. сколько пришлось мучить. Вам нужен БДЕ. качаем по ссылке и устанавливаем.
Можно накопировать длл. когда то этим страдал, но проблем больше создает, чем решает. работает кое как. А потратил я на это несколько месяцев. Изучал проблемму с самых разных сторон.

Цитата:


но сначала программа должна вывести форму входа в базу

а это не имеет значения. Хотя не раз наблюдал, как забывали люди снять свойство Active у TTable и мучились.
Галочка "подтверждения прочтения" - вселенское зло.
ss

ss (статус: Посетитель), 4 декабря 2007, 14:46 [#7]:

http://info.borland.com/devsupport/bde/bdeupdate.html
что скачивать по этой ссылке, там ничего не работает.
Не подскажите другие
Dron

Dron (статус: Студент), 4 декабря 2007, 15:37 [#8]:

Чтобы перенести BDE, достаточно перенести на конечный компьютер всего одну DLL и просто выполнить с ней необходимые манипуляции, причём всё это легко делается из самого приложения. Неудобство только в том, что DLL весит чуть более 3.5 Мб.
С уважением.
Вадим К

Вадим К (статус: Академик), 4 декабря 2007, 23:13 [#9]:

to Dron
Одной длл там не обойдёшся. к тому же нужно смотреть, какой именно драйвер БД используется. также нужно и BDE Administrator скопировать, так как часто приходиться донастраивать.
to ss
похоже Борланд идёт своей тропой отказа от БДЕ. И правильно делает.
Я нашёл пару зеркал
Mirrors for bdemm52ent.exe (9.23 MB):
ftp://ftp.tomsknet.ru/pub/devel/bdemm52ent.exe
ftp://ftp.vslib.cz/pub/mirrors/ftp.borland.com/bde/devsupport/updates/bdemm52ent.exe
По первому файл качается
Галочка "подтверждения прочтения" - вселенское зло.
Dron

Dron (статус: Студент), 5 декабря 2007, 11:17 [#10]:

to Вадим К:
Обойдёшься и одной - той, что в bdeinst.cab.
С уважением.
Вадим К

Вадим К (статус: Академик), 6 декабря 2007, 00:14 [#11]:

ну привели пример хотя бы. Мои эксперемены показали, что если не собрать весь комплект, то возможны самые разные глюки. К тому же, с бде есть одна маленькая проблема. Если у нам на компьютере уже есть установленная "способом копирования" бде и другая программа устанавливает полную и другой немного версии, то начинаются пробемы, особенно, когда одно с приложений захочет поднастроить бде.
Правильных решений два
- установить бде по правилам
- отказаться и перейти например на АДО+Аксесс
Галочка "подтверждения прочтения" - вселенское зло.
ss

ss (статус: Посетитель), 6 декабря 2007, 13:59 [#12]:

Списибо всем большое за помощь, но я уже решил вопрос. Просто добавил в USES midaslib. Также можно было добавить в USES midas и зарегестрировать midas.dll на чужом компе.
Вадим К

Вадим К (статус: Академик), 6 декабря 2007, 23:01 [#13]:

А я думал о этой длл. но не решился добавить в ответ. Первый вариант (с добавлением midaslib) предпочтителне, так как для midas.dll существуют несколько версий и они не сильно совместимы между собой.
Галочка "подтверждения прочтения" - вселенское зло.
Dron

Dron (статус: Студент), 7 декабря 2007, 15:22 [#14]:

Установка BDE крайне проста:
- скопировать bdeinst.dll
- зарегистрировать эту DLL с помощью regsvr32
Запустится инсталлятор BDE - вот и всё.
С уважением.

Чтобы оставлять сообщения в мини-форумах, Вы должны авторизироваться на сайте.

Версия движка: 2.6+ (26.01.2011)
Текущее время: 22 февраля 2025, 12:01
Выполнено за 0.03 сек.