Главная страница
    Top.Mail.Ru    Яндекс.Метрика
Форум: "Основная";
Текущий архив: 2003.12.12;
Скачать: [xml.tar.bz2];

Вниз

Как передать переменные из программы в программу   Найти похожие ветки 

 
bobtubob   (2003-12-01 09:20) [0]

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

Короче из ЕХЕ запустили программу там чтото нахомутали и закрывают надо передать переменные в родительскую програму

Есть мысль сбрасывать их в буфер обмена но как инициировать событие в родительской програме????


 
Юрий Зотов   (2003-12-01 09:29) [1]

1. WM_COPYDATA
2. CreateFileMapping + MapViewOfFile


 
bobtubob   (2003-12-01 09:44) [2]

Большое спасибо а поподробнее можна


 
Юрий Зотов   (2003-12-01 09:51) [3]

Можно. Но давайте договоримся - сначала Вы смотрите справку по WinAPI (что конкретно смотреть - сказано выше), а потом, если что-то осталось неясным, задаете конкретные вопросы. Потому что просто пересказывать здесь справку совершенно незачем.


 
bobtubob   (2003-12-01 09:58) [4]

Справку смотрел.
По какому событию активизировать материнскую программу
Для анализа мапфайла


 
Романов Р.В.   (2003-12-01 10:00) [5]

В параметрах командной строки можно передать. Если переменных не много.


 
TUser   (2003-12-01 10:26) [6]


> В параметрах командной строки можно передать.

То есть вызывать родительскую прогу. А если ее не надо запускать дважды, то придется научиться ее прибивать. Тогда - см [3] "сначала Вы смотрите справку по WinAPI".


 
frost   (2003-12-01 10:27) [7]

Лучше обмениватся пользовательскими сообщениями WM_USER


 
Юрий Зотов   (2003-12-01 10:36) [8]

> bobtubob © (01.12.03 09:58) [4]
> По какому событию активизировать материнскую программу
> Для анализа мапфайла

Например, любым сообщением. Но можно передавать данные и в самом сообщении WM_COPYDATA, не используя мап-файл в явном виде.

> frost © (01.12.03 10:27) [7]

ЧЕМ лучше?


 
REA   (2003-12-01 10:37) [9]

IPC: pipes, DDE, mailslots, sokets, COM...


 
bobtubob   (2003-12-01 13:44) [10]

А теперь для ТЕХ КТО ОЧЕНЬ УМНЫЙ И КОМУ БЫЛО СЛОЖНО МЕ РОЗЖЕВАТЬ

type
TForm1 = class(TForm)
Button1: TButton;
Edit1: TEdit;
procedure Button1Click(Sender: TObject);
Procedure WMGetSysCommand(var Message : TMessage) ; message WM_COPYDATA;
private
{ Private declarations }
public
{ Public declarations }
end;

var
Form1: TForm1;

implementation

{$R *.DFM}
Procedure TForm1.WMGetSysCommand(var Message : TMessage) ;
begin
button1.Caption:=inttostr(Message.wParam);
end;

procedure TForm1.Button1Click(Sender: TObject);
begin
SendMessage( form1.Handle, WM_COPYDATA,strtoint(edit1.text),1);
end;

end.

Где form1.Handle код получателя его можно передать при запуске
Первая процедура естествено находиться на материнской форме


 
Юрий Зотов   (2003-12-01 13:53) [11]

> bobtubob © (01.12.03 13:44) [10]

Странно. Складывается ощущение, что Вы остались недовольны. Разве здесь кто-то обязан Вам что-то разжевывать?

Способ решения Вам дали. Где смотреть и что смотреть - сказали. Что еще было нужно? Перевести справку? Написать за Вас элементарный код? Еще что-то?

Странно. Знаете, некоторые в таких случаях говорят "спасибо".


 
bobtubob   (2003-12-01 14:04) [12]

bobtubob © (01.12.03 09:44) [2]
Большое спасибо а поподробнее можна


 
Юрий Зотов   (2003-12-01 14:22) [13]

> bobtubob © (01.12.03 14:04) [12]

См. [3].
Что не так?


 
frost   (2003-12-01 14:40) [14]

Для Юрий Зотов >
Лучше или нет возможно я погаречился но пользоватся буфером для передачи данных не стал бы, не надежное место хранения :)


 
Юрий Зотов   (2003-12-01 14:57) [15]

> frost © (01.12.03 14:40) [14]

Конечно, ненадежное. Но при чем тут WM_COPYDATA?

Как раз WM_COPYDATA лучше, чем WM_USER - потому что позволяет передавать данные ЛЮБОГО размера.

> bobtubob © (01.12.03 13:44) [10]

Кстати, WM_COPYDATA Вы использовали неверно. Смотрите справку внимательнее.



Страницы: 1 вся ветка

Форум: "Основная";
Текущий архив: 2003.12.12;
Скачать: [xml.tar.bz2];

Наверх





Память: 0.47 MB
Время: 0.007 c
1-36679
SERG
2003-12-03 02:38
2003.12.12
ДИНАМИЧЕСКОЕ МЕНЮ


14-36823
Шишкин Илья
2003-11-19 17:02
2003.12.12
Блок схемы


9-36495
Nostradamus
2002-10-08 18:47
2003.12.12
Прорисовка в DelphiX


7-36853
Максим
2003-10-08 08:45
2003.12.12
Помогите !!!!!


1-36617
frost
2003-12-01 14:31
2003.12.12
Beep при нажатии на клавишу?





Afrikaans Albanian Arabic Armenian Azerbaijani Basque Belarusian Bulgarian Catalan Chinese (Simplified) Chinese (Traditional) Croatian Czech Danish Dutch English Estonian Filipino Finnish French
Galician Georgian German Greek Haitian Creole Hebrew Hindi Hungarian Icelandic Indonesian Irish Italian Japanese Korean Latvian Lithuanian Macedonian Malay Maltese Norwegian
Persian Polish Portuguese Romanian Russian Serbian Slovak Slovenian Spanish Swahili Swedish Thai Turkish Ukrainian Urdu Vietnamese Welsh Yiddish Bengali Bosnian
Cebuano Esperanto Gujarati Hausa Hmong Igbo Javanese Kannada Khmer Lao Latin Maori Marathi Mongolian Nepali Punjabi Somali Tamil Telugu Yoruba
Zulu
Английский Французский Немецкий Итальянский Португальский Русский Испанский