Newsgroup: it.comp.lang.visual-basic
Titolo: Gruppo di progetti

Non ho mai lavorato con un gruppo di progetti e dunque:
come faccio a richiamare i progetti tra uno e l'altro?
li ho compilati come eseguiili separati, ma come faccio a farli comunicare?
Simohack

Simohack wrote:

Le comunicazioni tra processi (leggi "eseguibili") possono essere 
realizzate in piu' modi: dal semplice scambio di file testuali in una 
directory comune, fino ad arrivare a MMF (Memory Mapped File).
Solitamente, quello piu' versatile è l'utilizzo di socket.
Se magari ci informi più dettagliatamente sulla tipologia di comunicazioni 
e sul tipo di dati che devono essere scambiati, sapremo darti qualche 
suggerimento mirato...
Ciao!
-- 
Gianluca Cannalire
Microsoft MVP/MCP - Visual Basic
http://www.visual-basic.it
http://community.visual-basic.it/gianluca


Il gruppo di progetti dell'IDE di VB ti permette semplicemente di aprire 
contemporaneamente più progetti per poterci lavorare contemporaneamente.
Se sono eseguibili le modalità di comunicazione sono quelle che ti ha già 
detto Gianluca.
Io personalmente uso spesso i gruppi di progetti quando creo un eseguibile 
standard (compilato divanta *.exe) e alcuni Controlli ActiveX (compilati 
diventano *.ocx), dll ActiveX (*.dll).
In questo caso la comunicazione avviene direttamente creando gli oggetti 
dalle classi espose dalle mie dll e ActiveX. Se apri il gruppo di progetti 
il VB farà riferimento al progetto dll lì aperto e non alla dll compilata 
con il vantaggio di poter eseguire il debug e che puoi sviluppare (almeno 
inizialmente) senza dover compilare ogni volta che devi avviare il programma 
semplicemnete per provare se va tutto bene..
Esistono poi anche i progetti di tipo Exe ActiveX che possono esere avviati 
indipendentemente ed espongono anche oggetti. Ad esempio una applicazione 
tipo Excel si comporta in questa maniera: puoi avviarla o referenziare 
oggetti della sua libreria e usarli da VB.
Dopodichè devi in effetti essere tu che sai cosa ti serve e decidi cosa è 
meglio, e ci sono diverse core a cui stare attenti quando si sviluppano 
componenti di codice (dll, ocx, Exe ActiveX). Se non hai presente questi 
concetti ti consiglio di leggere un po': trovi materiale interessante 
(almeno per iniziare) sul capitolo "Creazione di componenti ActiveX" della 
guida in linea che dovresti avere insieme a VB (estratto da MSDN).
Ciao,
    Diego 

 componenti di codice (dll, ocx, Exe ActiveX).
Vi ringrazio già per le risposte.
Quello che voglio realizzare è un applicativo a moduli separati, in cui
è possibile
distribuirne solo il modulo o i moduli desiderati.
Nel mio progetto ci sono es. 4 moduli.
- Main (con Form MDI contenitore) e Gestione magazzino insieme come
base.
- Gestione ordini
- Gestione fatture
- Gestione bolle/D.D.T.
Ok, ora come fare per sviluppare tutto separato ma poi alla fine avere
la possibilità di incorporare
tutti i moduli di gestione nel Main?
Non sviluppo nessun controllo ActiveX, solo progetti EXE standard.
Spero di essere stato chiaro, a presto
SimoHack
-- 
Posted via Mailgate.ORG Server - 
http://www.Mailgate.ORG

 Spero di essere stato chiaro, a presto
Ok, ho capito qual'è la tua necessità e, personalmente, ritengo che la 
soluzione più pulita di quella di creare degli ActiveX EXE ovvero degli 
eseguibili che possono essere tranquillamente eseguiti in modalità 
'stand-alone', ma che espongono anche un object model che può essere 
invocato anche da una applicazione "master".
Un esempio pratico sono tutti gli applicativi della suite office: Word può 
essere eseguito in modo autonomo, ma può anche essere "creato" 
(utilizzando l'early binding o il late binding) da parte di un programma 
chiamante (il client) ed essere utilizzato sfruttando metodi e proprietà 
esposte appunto dal suo object model.
Questo tipo di tecnica richieda ovviamente un minimo di conoscenza su come 
si scrivono classi ed interfacce con VB6.
Se non ha mai scritto un componente ActiveX, la cosa potrebbe essere 
inizialmente un pò complessa ma ti assicuro che vale la pena di cimentarsi 
in questo studio.
ciao!


 in questo studio.
Increibilmente chiaro, ti ringrazio tantissimo per le spiegazioni.
per gli ActiveX, qualcosa conosco e penso che riuscirò ad arrangiarmi.
Ancora grazie, Simone

 [...]
Anch'io la penso così ma ho fatto alcune prove e mi sembra proprio che non 
sia possibile creare form Figli di un MDIForm da classi appartenenti ad 
altri progetti..
Resterebbe quindi il problema che i form dei moduli opzionali non potrebbero 
essere inclusi come figli del MDIForm Main. Mi sembrava che questa fosse 
invece una delle intenzioni iniziali!
Naturalmente ho fatto poche prove solo perchè mi era venuto il dubbio: se 
potete smentirmi sono contento!!!
Io sono dell'idea che, nel caso il problema fosse quello che ho segnalato, 
l'unico modo per aggirarlo mi sembra la creazione di progetti che espongono 
Documenti ActiveX. Ovviamente la cosa si fa un po' più complessa soprattutto 
per chi non ha pratica di sviluppo componenti. Ci stavo ancora meditando..
Ciao,
    Diego 

 meditando..
Oppure ovviamente componenti del tipo Dll ActiveX o Exe ActiveX ma in quel 
caso bisogna incorporare l'interfaccia comunque nel Main.
Sempre se il problema che segnalavo esiste.
Altrimenti esiste la solita soluzione di fare un programma unico con tutte 
le funzioni e poi compilarne varie versioni togliendo dai menu e qunt'altro 
il codice che richiama le parti interessate. Inquesto caso il programma 
rimarrebbe uno solo e il problema della comunicazione sarebbe praticamente 
risolto...
Al programmatore l'arda scelta.. ..anche perchè poi si becca lui vantaggi e 
svantaggi in qualsiasi caso!
Ciao,
    Diego 

 > meditando..
Bè anche io ho fatto un po' di prove, e ho trvato qualcosa di interessante,
se non proprio perfetto:
http://msdn.microsoft.com/library/default.asp?url=/library/en-us/vbcon98/html/vbcontheclassmodule.asp
C'è il progetto di un documento ActiveX EXE, in cui viene data la
possibilità di aprire un form come modale.
Ciao, Simohack