Как я выполняю все проекты в группе проекта?

У меня есть группа проекта, содержащая два проекта, которые совместно используют одну исходную папку, но делают разные вещи. То, что я нахожу странными, является использованием 'группы проекта', но я не хочу поворачивать это субъективный вопрос, таким образом, я непосредственно спрашиваю Вас:

Как я работаю, все проекты в группе проекта - там короткий путь?

Заранее спасибо!

7
задан ulrichb 3 February 2010 в 15:51
поделиться

5 ответов

На самом деле, все вы не правы. Вы можете отладить несколько программ одновременно.

Я не знаю, когда это было впервые реализовано, скорее всего, когда группы проекта были добавлены в Delphi, но я использую это, так как «Forewer», и я уверен, что по крайней мере Delphi 2005 был способен делать Это.

Короче говоря:

  • Создайте группу проекта с двумя программами.
  • Создайте их все! Вы не сможете использовать компилятор после запуска отладчика.
  • Активируйте первую программу (дважды щелкните его имя в диспетчере программы) и нажмите F9 (RUN).
  • Активируйте вторую программу в программе Manager (вы не можете использовать выпадание рядом с кнопкой панели инструментов «Запустить» для этого, поскольку она будет отключаться на предыдущем шаге) и нажмите F9.

Вуаля! У вас есть две программы, работающие под отладчиком. Вы можете установить точки останова в любом из них, и они будут работать просто файл.

Этот подход работает с любым количеством программ. (Могут быть некоторые жесткозедированные ограничения, но я никогда не бегал в них.)

17
ответ дан 6 December 2019 в 07:26
поделиться

Отладчик может отладки только одного приложения (на самом деле: процесс) в то время, и если вы запускаете из IDE, он находится в отладчике.

Так что я думаю, что ответ: вы не можете.

Ну, я думаю, если вы не считать DLL, которые запускаются в том же процессе, но являются индивидуальными проектами. (Увидев другой пост), но я никогда не пробовал это.

2
ответ дан 6 December 2019 в 07:26
поделиться

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

Вы можете запустить несколько изнутри отладчика, если кто-то является программой, а остальные являются DLL, которые используются программой.

Несколько программ не могут быть запущены / отлажены одновременно.

Хотя вы можете использовать программу в качестве DLL, но я не уверен, что IDE справится с этим использованием. В этом случае вы можете использовать основную процедуру, которая является единственной, называемой главной программой. Тогда вы должны экспортировать этот основной продукт. Создайте дополнительный проект EXE, который вызывает все из них из разных потоков. Я не проверил это. И это хак, но это, вероятно, может работать.

Но почему вы хотите запустить / отлаживать несколько приложений одновременно?

1
ответ дан 6 December 2019 в 07:26
поделиться

Для некоторого пространства просто используйте \quad , \qquad или любую другую команду интервала вашего выбора (может \hfill ?).

Я не знаю о каких-либо средах для этого, среды, которые поставляются с пакетами AMS, предназначены для выравнивания столбцов (поэтому они полезны только при наличии нескольких строк).

-121--3572544-

Можно использовать отражение:

public static class Listener {

  public static void ListenOnce(this object eventSource, string eventName, EventHandler handler) {
    var eventInfo = eventSource.GetType().GetEvent(eventName);
    EventHandler internalHandler = null;
    internalHandler = (src, args) => {
      eventInfo.RemoveEventHandler(eventSource, internalHandler);
      handler(src, args);
    };
    eventInfo.AddEventHandler(eventSource, internalHandler);
  }

  public static void ListenOnce<TEventArgs>(this object eventSource, string eventName, EventHandler<TEventArgs> handler) where TEventArgs : EventArgs {
    var eventInfo = eventSource.GetType().GetEvent(eventName);
    EventHandler<TEventArgs> internalHandler = null;
    internalHandler = (src, args) => {
      eventInfo.RemoveEventHandler(eventSource, internalHandler);
      handler(src, args);
    };
    eventInfo.AddEventHandler(eventSource, internalHandler);
  }

}

Используйте его так:

variableOfSomeType.ListenOnce("SomeEvent", 
  (s, args) => Console.WriteLine("I should print only once!"));

variableOfSomeType.ListenOnce<InterestingEventArgs>("SomeOtherEvent", 
  (s, args) => Console.WriteLine("I should print only once!"));
-121--1149677-

Чтобы запустить все проекты одновременно, добавьте новый пакетный файл в группу проектов. Сделайте пакетный файл запускаемым для каждой программы, и если вы хотите запустить их все позже, просто выберите пакетный файл в группе проектов и запустите его. Это не то же самое, что отладка всех проектов, просто запуск их. Это просто способ автоматизировать процедуру, приведенную в ответе Брюса .

2
ответ дан 6 December 2019 в 07:26
поделиться

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

Shift + Ctrl+ F9

Update: Я исправлен. Можно отлаживать несколько проектов одновременно. Отлично подходит для отладки клиента и сервера одновременно.

2
ответ дан 6 December 2019 в 07:26
поделиться
Другие вопросы по тегам:

Похожие вопросы: