Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > Delphi программирование > Общие вопросы Delphi
Регистрация

Восстановить пароль

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 22.07.2011, 15:05   #1
Dima DDM
Форумчанин
 
Аватар для Dima DDM
 
Регистрация: 09.11.2010
Сообщений: 134
Восклицание Взаимодействие копий одного приложения

У меня при запуске программы проверяется сколько копий этой программы запущено.Если больше 1 тогда выполняется запрос на запуск 2 копии.
Как сделать так чтобы если больше 1 копии то программа автоматически создавала в 1 копии новую вкладку(PageControl) Memo и загружала текст в этот memo ???
http://ddmsite.ucoz.ru Мой сайт.
Бесплатный Блокировщик рекламы
http://download.adguard.ru/d/1656/adguardInstaller.exe
Dima DDM вне форума Ответить с цитированием
Старый 22.07.2011, 15:23   #2
Человек_Борща
Старожил
 
Аватар для Человек_Борща
 
Регистрация: 30.12.2009
Сообщений: 11,434
По умолчанию

Вот отличная статья http://**************/index.php/arti...nnect-programs
Человек_Борща вне форума Ответить с цитированием
Старый 22.07.2011, 15:32   #3
Пепел Феникса
Старожил
 
Аватар для Пепел Феникса
 
Регистрация: 28.01.2009
Сообщений: 21,000
По умолчанию

http://tinyurl.com/3uadubo
исправленная ссыль.
Хорошо поставленный вопрос это уже половина ответа. | Каков вопрос, таков ответ.
Программа делает то что написал программист, а не то что он хотел.
Функции/утилиты ждут в параметрах то что им надо, а не то что вы хотите.
Пепел Феникса вне форума Ответить с цитированием
Старый 22.07.2011, 16:47   #4
Dima DDM
Форумчанин
 
Аватар для Dima DDM
 
Регистрация: 09.11.2010
Сообщений: 134
По умолчанию

Я если четсно попробовал,НО ничего не понял =(
Помогите пожалуйста мне с этой задачей!
http://ddmsite.ucoz.ru Мой сайт.
Бесплатный Блокировщик рекламы
http://download.adguard.ru/d/1656/adguardInstaller.exe
Dima DDM вне форума Ответить с цитированием
Старый 22.07.2011, 17:20   #5
Человек_Борща
Старожил
 
Аватар для Человек_Борща
 
Регистрация: 30.12.2009
Сообщений: 11,434
По умолчанию

Какой смысл давать тебе готовый код, если ты всеравно не поймешь как он работает, и как его применять т.к. ты не понял статьи которая описывает всю работу кода.
Человек_Борща вне форума Ответить с цитированием
Старый 22.07.2011, 17:35   #6
Dima DDM
Форумчанин
 
Аватар для Dima DDM
 
Регистрация: 09.11.2010
Сообщений: 134
По умолчанию

Вот я коечто сделал ,но в процедуре все подчеркивает красным тк все компоненты находятся в Form1(unit1) а весь код что ниже в файле project1.dpr

Код:
  type TOpenInOldTStartApp = procedure;
var dll: cardinal;
    proc: TOpenInOldTStartApp;

{$R *.res}
var
h:HWND;
 
 procedure OpenInOldTStartApp;export; {процедура которая должна выполняться если 2 запущено больше 1 копии приложения}
 var
  NewTab:TsTabSheet;
    NewRichEdit: TsRichEdit;

  begin

  NewTab := TsTabSheet.Create(Form1.PageControl1);
  with NewTab do
  begin
    PageControl := Form1.PageControl1;
  pageControl.ParentFont:=false;
    Caption := Form1.ListNameEdit.Text+'          ';
  end;
 // создаем новый RichEdit
  NewRichEdit := TsRichEdit.Create(NewTab);
  with NewRichEdit do
  begin
    Parent := NewTab;
    Align := alClient;
    Clear;
NewRichEdit.ScrollBars:=ssBoth;
NewRichEdit.PopupMenu:=Form1.PopupMenu1;
NewRichEdit.ParentFont:=false;
NewRichEdit.Font.Name:='Tahoma';
NewRichEdit.Font.Size:=9;
NewRichEdit.WantTabs:=true;
if Form2.RichBorder1.Checked=true then
NewRichEdit.BorderStyle:=bsNone;
  end;

end;
exports OpenInOldTStartApp; // экспорт процедуры

    begin

 Application.CreateForm(TForm1, Form1);

  H:= CreateMutex(nil, True, PChar(Application.Title));
if GetLastError = ERROR_ALREADY_EXISTS then

begin

dll := LoadLibrary(PCHAR(ExtractFilePath(Application.ExeName)+Application.ExeName)); 
 ShowMEssage(ExtractFilePath(Application.ExeName)+Application.ExeName); // путь до приложения

   @proc := GetProcAddress(dll, 'OpenInOldTStartApp');  // вызов процедуры
  proc;
он подчеркивает
Код:
NewTab:TsTabSheet;
    NewRichEdit: TsRichEdit;
так как эти компоненты находятся в unit 1 =( Я не знаю что делать((
http://ddmsite.ucoz.ru Мой сайт.
Бесплатный Блокировщик рекламы
http://download.adguard.ru/d/1656/adguardInstaller.exe

Последний раз редактировалось Dima DDM; 22.07.2011 в 17:39.
Dima DDM вне форума Ответить с цитированием
Старый 22.07.2011, 17:40   #7
Человек_Борща
Старожил
 
Аватар для Человек_Борща
 
Регистрация: 30.12.2009
Сообщений: 11,434
По умолчанию

взять нужные юниты из Unit1 и подключить в dpr
Человек_Борща вне форума Ответить с цитированием
Старый 22.07.2011, 17:47   #8
Dima DDM
Форумчанин
 
Аватар для Dima DDM
 
Регистрация: 09.11.2010
Сообщений: 134
По умолчанию

Все равно так не получается =( выдает ошибки(
http://ddmsite.ucoz.ru Мой сайт.
Бесплатный Блокировщик рекламы
http://download.adguard.ru/d/1656/adguardInstaller.exe

Последний раз редактировалось Dima DDM; 22.07.2011 в 17:53.
Dima DDM вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Взаимодействие приложения и браузера seobot Общие вопросы Delphi 2 03.05.2010 19:31
Взаимодействие клиентского приложения с сервером Assembler_1990 Java для Web (EE, Servlet, JSP, Tomcat, Spring MVC) 10 01.03.2010 13:36
построение модели одного приложения fzfx Qt и кроссплатформенное программирование С/С++ 1 25.01.2010 04:05
Вызов одного приложения из другого zalum Общие вопросы Delphi 8 24.04.2009 10:05
взаимодействие приложения и dll Roof Общие вопросы Delphi 3 13.12.2008 07:05