Newsgroup: it.comp.lang.delphi
Titolo: Re: passare una valore stringa tra due exe

Puoi usare un'area di memoria globale ai due applicativi in maniera da 
passare quello che vuoi.
Cerca FileMapping nell'help
Ciao,
David

Presumo che tu voglia implementare il tutto con Win.
Le soluzioni per l'IPC (InterProcess Comunication) sono diverse:
- Memory Mapped File  (solo in locale)
- MailBox (anche su PC remoti)
La prima sfrutta un area di memoria in comune, tocca a te la gestione della
concorrenza.
L'altro usa un handle di file e poi hai delle api per la presenza di
messagi, l'invio e il recupero.
Quale soluzione vuoi adottare?
Bye,
Raktzo

 altro programma (exe).  Ho utilizzato la clipboard, però non è una
[CUT]
Esistono diverse soluzioni. Una di queste usa il messaggio wm_CopyData
per inviare dati ad un altro processo.
Scarica i sorgenti del numero 50 della rivista The Delphi Magazine
(
www.thedelphimagazine.com
) ci sono degli ottimi esempi.
Controlla la directory IPC e Messages in particolare per il wmCopyData.
-- 
guastatore
ICLDweb: 
http://www2.samatel.com/icld/

Se vuoi ti posto una unit che racchiude la gestione di un'area di 
memoria globale a più applicativi (contiene anche un esempio)
Ciao,
David

 tantomeno il comando wmCopyData Mi documenterò....
Inviare un messaggio wmCopyData è la soluzione più semplice, imho. Se
scarichi quei demo che ti ho indicato puoi facilmente capire il suo
funzionamento analizzandone i sorgenti.


Fino a D5 tra le demo c'era Ipcdemos che implemente proprio l'uso dei MMF
(Memory Mapped File). Vedi se può esserti d'aiuto.
Bye,
Raktzo

 funzionamento analizzandone i sorgenti.
riflettevo, e mi è venuto in mente: e passare l'array[0..5] of Char a una 
DLL, la quale lo conserva in memoria in una variabile globale?
-- 
Mauro Falzari 
   [ 
http://digilander.libero.it/mauro.falzari
 ]
 
 "Se guardi nell'abisso, anche l'abisso guarda in te." 
   (Friedrich Nietzsche)

Nelle DLL la memoria è privata per ogni processo. Al massimo la DLL potrebbe
gestire il discorso di accesso concorrente al MMF.
Bye,
Raktzo

 DLL, la quale lo conserva in memoria in una variabile globale?
Non serve.  Le DLL sono mappate nello spazio di indirizzamento del
processo singolo, quindi non possono condividere memoria, a meno di usare
i memory-mapped file.
-- 
questo articolo e` stato inviato via web dal servizio gratuito 
http://www.newsland.it/news
 segnala gli abusi ad 
ab...@newsland.it


--- posted by geoForum on 
http://www.delphiedintorni.it


Direttamente dal borland dev network:
http://cc.borland.com/Item.aspx?id=21507
 
c'ho messo un pò per ritrovarli :-)


 Potrestri postare qualcosa per i pipes ?
fammi capire una cosa. Ma se hai la raccolta di TDM, mi dici dove altro
vuoi cercare ? Nel numero 50 c'è un articolo spettacolare di Brian
Long, se non ricordo male, e fra i diversi metodi che sono stati citati
in questo thread, ci sono pure le named pipes e le anonymous pipes con
realtivi progetti di esempio che usano le API o codice Delphi.
Non cercare altrove quando puoi avere del materiale di prim'ordine,
imho. ;-)


 Non capisco la tua reazione, forse il è caldo, o la fretta ....   :-)
Non si tratta di acidità, te lo assicuro. Neanche del caldo o della
fretta. Avevo messo l'emoticon alla fine del post per cercare di far
capire il tenore. Mi spiace tu abbia frainteso.
 
La mia era una semplice curiosità ovvero sapere il motivo per cui
avendo a disposizione un articolo di Brian Long di 8 pagine che
illustra praticamente tutti i tipi di comunicazione inter-processo con
relativo codice sorgente tu vada ancora alla ricerca di altro materiale.
Se per te il materiale che hai a disposizione è carente per un
qualsivoglia motivo allora è importante replicare e far sapere anche
agli altri partecipanti del newsgroup i motivi di tale carenza ed
integrarla con altre ricerche.
Inoltre, è importante anche considerare gli autori dei post dato che
non è stato Andrea Laforgia a citare i componenti per le pipes ma Marco
Donati. ;-))
Tutto qua. :-) (emoticon) ;)
