Добро пожаловать в форум, Guest  >>   Войти | Регистрация | Поиск | Правила | В избранное | Подписаться
Все форумы / Delphi Новый топик    Ответить
Топик располагается на нескольких страницах: Ctrl  назад   1 2 [3]      все
 Re: Интегрировать одно приложение в другое  [new]
Dimitry Sibiryakov
Member

Откуда:
Сообщений: 48463

То есть, конечно, не "статически", а "ранним связыванием".

Posted via ActualForum NNTP Server 1.5

12 сен 19, 18:53    [21969763]     Ответить | Цитировать Сообщить модератору
 Re: Интегрировать одно приложение в другое  [new]
Victor Cookin
Member

Откуда: Самара
Сообщений: 711
Dimitry Sibiryakov
То есть, конечно, не "статически", а "ранним связыванием".


Такой специфический bpl не должен лезть к системе за адресами, а - к основной программе. Наверно для этого надо изменить и принцип работы такого bpl и методы основной программы. Не думаю, что это невозможно. Тогда, кстати. будет можно использовать основную программу и bpl скомпилированные в разных версиях Дельфей (ну если вызовы совпадают по параметрам)
12 сен 19, 19:09    [21969777]     Ответить | Цитировать Сообщить модератору
 Re: Интегрировать одно приложение в другое  [new]
Dimitry Sibiryakov
Member

Откуда:
Сообщений: 48463

Victor Cookin
Такой специфический bpl не должен лезть к системе за адресами, а - к основной программе.

Вернись уже на землю из теоретических высот и почитай что такое DLL (а BPL это и есть DLL)
и как они работают.

Posted via ActualForum NNTP Server 1.5

12 сен 19, 19:12    [21969779]     Ответить | Цитировать Сообщить модератору
 Re: Интегрировать одно приложение в другое  [new]
Gator
Member

Откуда: Москва
Сообщений: 14978
Dimitry Sibiryakov
Victor Cookin
Такой специфический bpl не должен лезть к системе за адресами, а - к основной программе.

Вернись уже на землю из теоретических высот и почитай что такое DLL (а BPL это и есть DLL)
и как они работают.
Да-да-да Линкер есть не что иное, как Разрешитель адресов.
12 сен 19, 19:20    [21969787]     Ответить | Цитировать Сообщить модератору
 Re: Интегрировать одно приложение в другое  [new]
Vlad F
Member

Откуда:
Сообщений: 945
Кстати, оформить отчуждаемый функционал в виде ActiveX элемента ещё не предлагали?))
12 сен 19, 21:16    [21969899]     Ответить | Цитировать Сообщить модератору
 Re: Интегрировать одно приложение в другое  [new]
ВМоисеев
Member

Откуда: Редкино
Сообщений: 2006
>Дополнение к 10 сен 19, 20:45 [21968113]
>...вызывать другое приложение…
<Приложение - любой .exe - шник
1. Запускаем .exe - шник
//-- Формируем параметры вызова приложения Хранилища 
ProcessStartInfo startInfo = new ProcessStartInfo();
startInfo.FileName = "" + гп.pth_Папки_ФП + "Start.exe" + "";
startInfo.Arguments = "241 " + lng_Разрешения.ToString() + " " + гп.tm_Запрос.ToString() + " " + @"""" + str_Соединение + @"""" +
        " " + @"""" + гп.str_ФИО + @"""" + " " + @"""" + гп.str_Псевдоним + @"""" + " " + @"""" + FS_СоединениеДФП.Replace(@"\","/") + @"""" + 
        " " + @"""" + usr + @"""" + " " + @"""" + psw + @"""" + " " + @"""" + zstr + @"""";
//-- Запускаем приложение
using (Process rar = Process.Start(startInfo)) { rar.WaitForExit(); } 

2. В вызванном .exe - шнике обрабатываем параметры запуска
  public partial class App : Application {
    private void app_Startup(object sender, StartupEventArgs e) {
      //-- Получим параметры инициализации приложения
      гп.max_Выборка = int.Parse(e.Args[0]);     //-- Получим максимальный объем набора в выборке в строках
      гп.lng_Разрешения = long.Parse(e.Args[1]); //-- Получим права пользователя для этого приложения
      гп.tm_Запрос = int.Parse(e.Args[2]);       //-- Получим предполагаемое максимальное время обработки запроса базой данных в секундах
      гп.str_Соединение = e.Args[3];             //-- Получим строку соединения с базой данных
      гп.str_ФИО = e.Args[4];                    //-- Получим ФИО пользователя
      гп.str_Псевдоним = e.Args[5];              //-- Получим Псевдоним пользователя
      гп.uri_ХранилищеДФП = e.Args[6];           //-- Получим строку доступа к шаре документов
      string usr = e.Args[7];                    //-- Доступ к шаре
      string psw = e.Args[8];                    //-- Доступ к шаре
    }
  }
12 сен 19, 23:41    [21969950]     Ответить | Цитировать Сообщить модератору
Топик располагается на нескольких страницах: Ctrl  назад   1 2 [3]      все
Все форумы / Delphi Ответить