Torna indietro   Hardware Upgrade Forum > Software > Programmazione

Recensione Google Pixel 10a, si migliora poco ma è sempre un'ottima scelta
Recensione Google Pixel 10a, si migliora poco ma è sempre un'ottima scelta
Google ha appena rinnovato la sua celebre serie A con il Pixel 10a, lo smartphone della serie più conveniente se consideriamo il rapporto tra costo e prestazioni. Con il chip Tensor G4, un design raffinato soprattutto sul retro e l'integrazione profonda di Gemini, il colosso di Mountain View promette un'esperienza premium a un prezzo accessibile. E il retro non ha nessuno scalino
6G, da rete che trasporta dati a rete intelligente: Qualcomm accelera al MWC 2026
6G, da rete che trasporta dati a rete intelligente: Qualcomm accelera al MWC 2026
Al MWC Qualcomm annuncia una coalizione industriale per lanciare il 6G entro il 2029 e introduce agenti IA per la gestione autonoma della RAN. Ericsson, presente sul palco, conferma la direzione: le reti del futuro saranno IA-native fin dalla progettazione
CHUWI CoreBook Air alla prova: design premium, buona autonomia e qualche compromesso
CHUWI CoreBook Air alla prova: design premium, buona autonomia e qualche compromesso
CHUWI CoreBook Air è un ultraleggero da 1 kg con Ryzen 5 6600H, display 14" 16:10 e 16 GB LPDDR5. Offre buona portabilità, autonomia discreta e costruzione in alluminio, ma storage PCIe 3.0 e RAM saldata limitano l'espandibilità. A 549 euro sfida brand più noti nella stessa fascia di mercato.
Tutti gli articoli Tutte le news

Vai al Forum
Rispondi
 
Strumenti
Old 04-07-2005, 23:04   #1
leadergl
Senior Member
 
Iscritto dal: May 2003
Messaggi: 1113
[VB6] Creazione PlugIn per Applicazioni

Raga mi chiedevo se era possibile, ma penso di si, e come si faceva a creare:

1) Una applicazione che potesse essere aspandibile tramite plugin
2) creare plugin per un'applicazione

questo in VB6...non riesco a trovare info su internet...qualcuno ne sa qualcosa?
__________________
| Athlon XP Barton 3000+ | CoolerMaster HAC-V81 | ASUS A7N8X DELUXE v2.0 | 2*256 PC3200 + 1*512 PC3200 = 1GB DDR400| ATI Radeon 9250 | HD 80Gb Maxtor SATA | Ali Q-TEC 550W Dual Fan GOLD PFC
leadergl è offline   Rispondi citando il messaggio o parte di esso
Old 04-07-2005, 23:22   #2
matpez
Senior Member
 
L'Avatar di matpez
 
Iscritto dal: Aug 2002
Città: Biella
Messaggi: 1882
Bhe i plug in sono a volte solo delle dll aggiunte che il software riconosce e aggiunge una funzione nel menu... tanto un dll può contenere tutte le cose che contiene un normale progetto per exe, quindi anche le form.
__________________
"Analizzando e valutando ogni giorno tutte le idee, ho capito che spesso tutti sono convinti che una cosa sia impossibile, finchè arriva uno sprovveduto che non lo sa e la realizza!"
A. Einstein
matpez è offline   Rispondi citando il messaggio o parte di esso
Old 04-07-2005, 23:53   #3
leadergl
Senior Member
 
Iscritto dal: May 2003
Messaggi: 1113
e da queste DLL posso far richiamare funzioni che si trovano in altre dll che usa il mio progetto normalmente senza dichiarare nessuna nuova referenza?
__________________
| Athlon XP Barton 3000+ | CoolerMaster HAC-V81 | ASUS A7N8X DELUXE v2.0 | 2*256 PC3200 + 1*512 PC3200 = 1GB DDR400| ATI Radeon 9250 | HD 80Gb Maxtor SATA | Ali Q-TEC 550W Dual Fan GOLD PFC
leadergl è offline   Rispondi citando il messaggio o parte di esso
Old 05-07-2005, 10:13   #4
matpez
Senior Member
 
L'Avatar di matpez
 
Iscritto dal: Aug 2002
Città: Biella
Messaggi: 1882
Sinceramente nn ho mai provato a richiamare un dll dentro un'altra dll... fai delle prove e poi fammi sapere...
__________________
"Analizzando e valutando ogni giorno tutte le idee, ho capito che spesso tutti sono convinti che una cosa sia impossibile, finchè arriva uno sprovveduto che non lo sa e la realizza!"
A. Einstein
matpez è offline   Rispondi citando il messaggio o parte di esso
Old 05-07-2005, 13:08   #5
leadergl
Senior Member
 
Iscritto dal: May 2003
Messaggi: 1113
Matpez tu che te ne intendi...sarebbe possibile creare un programma che si "autoespande"?

Una sorta di plugin...ma è diversa la mia idea..tipo un programma che legge da un file di testo delle righe di codice:
Codice:
if a>b then ...
e le aggiunge al suo codice originario?

nn so se mi son spiegato bene...
__________________
| Athlon XP Barton 3000+ | CoolerMaster HAC-V81 | ASUS A7N8X DELUXE v2.0 | 2*256 PC3200 + 1*512 PC3200 = 1GB DDR400| ATI Radeon 9250 | HD 80Gb Maxtor SATA | Ali Q-TEC 550W Dual Fan GOLD PFC
leadergl è offline   Rispondi citando il messaggio o parte di esso
Old 05-07-2005, 13:16   #6
matpez
Senior Member
 
L'Avatar di matpez
 
Iscritto dal: Aug 2002
Città: Biella
Messaggi: 1882
Al suo interno no, perchè dovresti ricompilarlo con il nuovo codice..

...io ho visto i plug in di nero usano delle dll, poi al suo interno va a sapere cosa richiamano, ma sicuramente le form che compaiono dopo aver messo il plug in
__________________
"Analizzando e valutando ogni giorno tutte le idee, ho capito che spesso tutti sono convinti che una cosa sia impossibile, finchè arriva uno sprovveduto che non lo sa e la realizza!"
A. Einstein
matpez è offline   Rispondi citando il messaggio o parte di esso
Old 05-07-2005, 13:20   #7
leadergl
Senior Member
 
Iscritto dal: May 2003
Messaggi: 1113
come facci a far partire la form che sta in un plugin?

tipo io creo una DLL PLUGIN che contine:
FORM
MODULO (è un modulo base che mi serve x l'interfacciamento con un'altra dll che mi permette di collegarmi ad una periferica usb)

ora come faccio dal mio programma a far partire la form di quella DLL?

So come far creare un nuovo menu nel mio programma dove compare, nella lista del menu, il nome per richiamare quella dll...a questo ci posso arrivare ...ma poi come faccio a dirgli di far partire la form di quella dll plugin?
__________________
| Athlon XP Barton 3000+ | CoolerMaster HAC-V81 | ASUS A7N8X DELUXE v2.0 | 2*256 PC3200 + 1*512 PC3200 = 1GB DDR400| ATI Radeon 9250 | HD 80Gb Maxtor SATA | Ali Q-TEC 550W Dual Fan GOLD PFC

Ultima modifica di leadergl : 05-07-2005 alle 13:25.
leadergl è offline   Rispondi citando il messaggio o parte di esso
Old 05-07-2005, 13:48   #8
matpez
Senior Member
 
L'Avatar di matpez
 
Iscritto dal: Aug 2002
Città: Biella
Messaggi: 1882
Bhe ma tu devi già prevedere che la tua applicazione avrà dei plug-in, poi il meno lo visualizzi o no a seconda se trovi la dll

Per visualualizzare una form basta che rischiami una funzione del tuo modulo che abbia il comando frmxxx.show
__________________
"Analizzando e valutando ogni giorno tutte le idee, ho capito che spesso tutti sono convinti che una cosa sia impossibile, finchè arriva uno sprovveduto che non lo sa e la realizza!"
A. Einstein
matpez è offline   Rispondi citando il messaggio o parte di esso
Old 05-07-2005, 14:15   #9
leadergl
Senior Member
 
Iscritto dal: May 2003
Messaggi: 1113
Quote:
Originariamente inviato da matpez
Bhe ma tu devi già prevedere che la tua applicazione avrà dei plug-in....
in che senso?

Quote:
Originariamente inviato da matpez
Per visualualizzare una form basta che rischiami una funzione del tuo modulo che abbia il comando frmxxx.show
ah ecco..giusto
__________________
| Athlon XP Barton 3000+ | CoolerMaster HAC-V81 | ASUS A7N8X DELUXE v2.0 | 2*256 PC3200 + 1*512 PC3200 = 1GB DDR400| ATI Radeon 9250 | HD 80Gb Maxtor SATA | Ali Q-TEC 550W Dual Fan GOLD PFC
leadergl è offline   Rispondi citando il messaggio o parte di esso
Old 05-07-2005, 15:21   #10
Brigante
Senior Member
 
L'Avatar di Brigante
 
Iscritto dal: Apr 2004
Città: Lariano (RM)
Messaggi: 1372
Infatti potresti aggiungere nuove dll che contengono nuove funzioni per il programma, ma come è stato giustamente detto, il programma deve essere stata progettato per ricevere plugin, in modo da poter effettuare le chiamate alle nuove funzioni.
__________________
Careful With That Axe
Brigante è offline   Rispondi citando il messaggio o parte di esso
Old 05-07-2005, 15:58   #11
leadergl
Senior Member
 
Iscritto dal: May 2003
Messaggi: 1113
Quote:
Originariamente inviato da Brigante
Infatti potresti aggiungere nuove dll che contengono nuove funzioni per il programma, ma come è stato giustamente detto, il programma deve essere stata progettato per ricevere plugin, in modo da poter effettuare le chiamate alle nuove funzioni.
eh questo l'ho capito ma questa parte
Quote:
il programma deve essere stata progettato per ricevere plugin
in pratica in cosa si tradurrebbe?

gli faccio fare la ricerca di tutti i files in una dir e li aggiungo ad un menu? (menu che quindi avra una determinata index...a seconda del numero di elementi e poi faccio tipo:
Codice:
Private Sub mnuPlugIn_Click(Index As Integer)
'considerando che tutti i plugin avranno un modulo comune
'dove ci sta la funzione "InizializzaForm"

'...che ci metto qui...


End Sub
come lo rendo "PlugIn Ready" ?
__________________
| Athlon XP Barton 3000+ | CoolerMaster HAC-V81 | ASUS A7N8X DELUXE v2.0 | 2*256 PC3200 + 1*512 PC3200 = 1GB DDR400| ATI Radeon 9250 | HD 80Gb Maxtor SATA | Ali Q-TEC 550W Dual Fan GOLD PFC
leadergl è offline   Rispondi citando il messaggio o parte di esso
Old 05-07-2005, 16:14   #12
leadergl
Senior Member
 
Iscritto dal: May 2003
Messaggi: 1113
allora...mi sto mentalmente avvicinando...
mi servono:

1) una struttura che mi consenta di salvare alcune informazioni sul PlugIN che sto aggiungendo...tipo:
Codice:
Type PLUG_STR
      Plugin_Path as string
      Plugin_Name as string
End Type
così so da dove prendere quel PlugIN
2) un array del tipo PLUG_STR dove conservare le info per ognuno dei plugin trovati
3) una procedura/funzione che quando clicco sull'elemento del menu che verrà creato ed associato all'elemento nell'array di prima mi permetta di creare una referenza al PlugIN giusto...una cosa del tipo:
Codice:
Public Function CreaReferenza(indice: integer)
...e qui dentro creo la referenza...
...posso creare la referenza ad una dll da qui?...
normalmente per creare una referenza si fa, ad esempio:

Public NUOVADLL as New NOMEREFERENZA

ma in questo caso come si fa?
__________________
| Athlon XP Barton 3000+ | CoolerMaster HAC-V81 | ASUS A7N8X DELUXE v2.0 | 2*256 PC3200 + 1*512 PC3200 = 1GB DDR400| ATI Radeon 9250 | HD 80Gb Maxtor SATA | Ali Q-TEC 550W Dual Fan GOLD PFC
leadergl è offline   Rispondi citando il messaggio o parte di esso
Old 05-07-2005, 19:31   #13
matpez
Senior Member
 
L'Avatar di matpez
 
Iscritto dal: Aug 2002
Città: Biella
Messaggi: 1882
Ecco a te un bel esempio.. miraccomando segui quello che ti dico:

La cartella Exe contiene tutto quello che serve a te, prima di tutto come qlc ActiveX che si rispetti lo devi registrare, quindi trascina la dll sopra a regsvr32

Una volta fatto questo ricorda che la registrazione viene fatta nella path in cui sti trova, se sposti la path, rinomini o fai cose varie va riregistrata...

A questo punto, prendi la dll e la metti dove vuoi tu, magari sul desktop, lasciando l'eseguibile senza la sua dll... lancialo e premi il bottone, dovrebbe segnalarti un messaggio di errore, cioè che nn trova il tuo plug-in ...

Adesso chiuedi tutto, metti la tua dll assieme all'exe e lo rilanci, premendo sul pulsante si aprirà una form completamente a se stante dal progetto, unica caratteristica che si chiude con la form che lo ha lanciato (giustamente)


Fai queste prove e poi guarda i sorgenti, così ti fai un idea più chiara di tutta la faccenda!
Allegati
File Type: zip 000.zip (16.6 KB, 8 visite)
__________________
"Analizzando e valutando ogni giorno tutte le idee, ho capito che spesso tutti sono convinti che una cosa sia impossibile, finchè arriva uno sprovveduto che non lo sa e la realizza!"
A. Einstein
matpez è offline   Rispondi citando il messaggio o parte di esso
Old 05-07-2005, 21:20   #14
leadergl
Senior Member
 
Iscritto dal: May 2003
Messaggi: 1113
come al solito impeccabile

sei un mito...grazie a te ho imparato tante cose sul VB

(P.S. x caso hai un cellulare motorola? se si...dammi sta soddisfazione...vedi i miei progressi in VB6..vai su http://www.leadergl.net e scaricati il FlexEditor 9.5F ...mi piacerebbe sapere che ne pensi )
__________________
| Athlon XP Barton 3000+ | CoolerMaster HAC-V81 | ASUS A7N8X DELUXE v2.0 | 2*256 PC3200 + 1*512 PC3200 = 1GB DDR400| ATI Radeon 9250 | HD 80Gb Maxtor SATA | Ali Q-TEC 550W Dual Fan GOLD PFC
leadergl è offline   Rispondi citando il messaggio o parte di esso
Old 05-07-2005, 23:32   #15
leadergl
Senior Member
 
Iscritto dal: May 2003
Messaggi: 1113
Matpez ho problemi con la compilazione del codice....nel senso che nn riesco a creare l'exe...mi dice libreria non trovata...

inoltre come faccio nel caso in cui ho più PlugIn? Tu hai impostato:

Codice:
    Dim mcPlugIn        As Plug_In.Class1
    
    
    Set mcPlugIn = New Plug_In.Class1
    Call mcPlugIn.EditaLabel
    Set mcPlugIn = Nothing
ma come faccio a sapere se il nome assegnato al plugin è proprio "Plug_In"? se l'utente gli da un nome differente?
__________________
| Athlon XP Barton 3000+ | CoolerMaster HAC-V81 | ASUS A7N8X DELUXE v2.0 | 2*256 PC3200 + 1*512 PC3200 = 1GB DDR400| ATI Radeon 9250 | HD 80Gb Maxtor SATA | Ali Q-TEC 550W Dual Fan GOLD PFC

Ultima modifica di leadergl : 05-07-2005 alle 23:38.
leadergl è offline   Rispondi citando il messaggio o parte di esso
Old 05-07-2005, 23:49   #16
matpez
Senior Member
 
L'Avatar di matpez
 
Iscritto dal: Aug 2002
Città: Biella
Messaggi: 1882
Bhe, inanzitutto per compilare devi impostare nelle referenze le dll usate dal tuo programma, poi come seconda cosa per impostare + plugin basta che fai + dll hehehe

Per quanto riguarda il nome, di solito un utente non dovrebbe toccare i nomi dei componenti di un programma, ma tanto la dll anche se si chiama con un nome diverso, lui usa il nome dell'applicazione con cui hai compilato la dll.

Per il resto, come ti avevo già detto, fai un pochettino di prove, paciocca un pochetto, fai tentativi, altrimenti ci sentiamo domani per ulteriori informazioni

Notte



PS: pultroppo ho tutti sony-ericsson
__________________
"Analizzando e valutando ogni giorno tutte le idee, ho capito che spesso tutti sono convinti che una cosa sia impossibile, finchè arriva uno sprovveduto che non lo sa e la realizza!"
A. Einstein

Ultima modifica di matpez : 05-07-2005 alle 23:54.
matpez è offline   Rispondi citando il messaggio o parte di esso
Old 05-07-2005, 23:53   #17
matpez
Senior Member
 
L'Avatar di matpez
 
Iscritto dal: Aug 2002
Città: Biella
Messaggi: 1882
Forse io ho corso troppo, ma tu hai mai creato una dll, sai cos'è la compatibilità binaria?

Va bhe, cmq se nn lo sai te lo dico domani, adesso sono stanco e domani si lavora tutto il giorno attaccato a sto piffero di VB ehehhehe

byebye
__________________
"Analizzando e valutando ogni giorno tutte le idee, ho capito che spesso tutti sono convinti che una cosa sia impossibile, finchè arriva uno sprovveduto che non lo sa e la realizza!"
A. Einstein
matpez è offline   Rispondi citando il messaggio o parte di esso
Old 05-07-2005, 23:56   #18
leadergl
Senior Member
 
Iscritto dal: May 2003
Messaggi: 1113
Quote:
Originariamente inviato da matpez
Forse io ho corso troppo, ma tu hai mai creato una dll, sai cos'è la compatibilità binaria?

Va bhe, cmq se nn lo sai te lo dico domani, adesso sono stanco e domani si lavora tutto il giorno attaccato a sto piffero di VB ehehhehe

byebye

si, creato Dll....ma non so cosa sia la "compatibilità binaria" o magari non so che si chiama così...ok...domani mi illumini
__________________
| Athlon XP Barton 3000+ | CoolerMaster HAC-V81 | ASUS A7N8X DELUXE v2.0 | 2*256 PC3200 + 1*512 PC3200 = 1GB DDR400| ATI Radeon 9250 | HD 80Gb Maxtor SATA | Ali Q-TEC 550W Dual Fan GOLD PFC
leadergl è offline   Rispondi citando il messaggio o parte di esso
Old 06-07-2005, 09:00   #19
matpez
Senior Member
 
L'Avatar di matpez
 
Iscritto dal: Aug 2002
Città: Biella
Messaggi: 1882
La compatabilità binaria è quella compilazione che ti permette di mantenere la compatibilità con la dll che avevi fatto prima.

La compatabilità binaria ti permette di non dovere tutte le volte ricreare l'eseguibile che utilizza la tua dll, altrimenti che caxxo serve avere una dll? heeheh

Per esempio se tu nella dll avessi tutti i calcoli per un software che fa paghe, poi esce l'euro e tu senza sbatterti più di tanto a ricompilare tutti i sorgenti di chissà quanti programmi, basta che ricompili la dll con la dovuta conversione in euro. Ma se nn avessi la compatibilità allora il lavoro sarebbe vano, perchèi tuo exe non ti riconoscerebbero più la libreria.

Per parlare un po' più tecnicamente, tu sai che nel registro ci sono degli identificativi di classe, quelli che sono fatti così: {000214EE-0000-0000-C000-000000000046}, praticamente quello è un identificativo che gli oggetti come le dll creano al momento della registrazione tramite il regsvr32 o tramite il setup del tuo software quando registra i componenti.
Se tu non hai la compatibilità lui ogni volta che compili ti ricrea un CLSID e quindi il tuo exe non trova il riferimento nel registro, se tu hai la compatibilità (dove possibile) lui riutilizza lo stesso CLSID e quindi i tuo exe sia da te che dall'utente funzionano dandogli la tua dll aggiornata e senza nemmeno avere più il bisogno di registrarla.

Detto questo che è solo un aiuto per utilizzare le dll, cerca di fare funzionare e di capire il mio esempio, dato che da me funziona e poi se hai altri dubbi gli esponi.

ciaoooooooooooooo
__________________
"Analizzando e valutando ogni giorno tutte le idee, ho capito che spesso tutti sono convinti che una cosa sia impossibile, finchè arriva uno sprovveduto che non lo sa e la realizza!"
A. Einstein
matpez è offline   Rispondi citando il messaggio o parte di esso
Old 06-07-2005, 09:34   #20
leadergl
Senior Member
 
Iscritto dal: May 2003
Messaggi: 1113
Ottima informazione...mi hai fatto scoprire una cosa nuova

Ed ho anche compilato il tuo progetto...solo che rimane la domanda:
1) "nel caso chi crea la DLL cambia il nome del progetto come faccio a farla identificare dal programma?"

2) (poi ci sarebbe questa) io vorrei fare una cosa di questo tipo:
<ul type=disc><li>Analizzo la directory "Plugin" in cerca delle DLL
<li>A seconda del numero di DLL creo un menu dinamico che mi contenga un nome (diverso) per ogni DLL
<li> Quando uno clicca sul nome della DLL si apre la form corrispondente
</ul>

ecco quello che mi chiedo è...avendo tutti nomi uguali come faccio a distinguere le varie dll?
__________________
| Athlon XP Barton 3000+ | CoolerMaster HAC-V81 | ASUS A7N8X DELUXE v2.0 | 2*256 PC3200 + 1*512 PC3200 = 1GB DDR400| ATI Radeon 9250 | HD 80Gb Maxtor SATA | Ali Q-TEC 550W Dual Fan GOLD PFC
leadergl è offline   Rispondi citando il messaggio o parte di esso
 Rispondi


Recensione Google Pixel 10a, si migliora poco ma è sempre un'ottima scelta Recensione Google Pixel 10a, si migliora poco ma...
6G, da rete che trasporta dati a rete intelligente: Qualcomm accelera al MWC 2026 6G, da rete che trasporta dati a rete intelligen...
CHUWI CoreBook Air alla prova: design premium, buona autonomia e qualche compromesso CHUWI CoreBook Air alla prova: design premium, b...
Roborock Saros 20: il robot preciso e molto sottile Roborock Saros 20: il robot preciso e molto sott...
ASUS ROG Kithara: quando HIFIMAN incontra il gaming con driver planari da 100mm ASUS ROG Kithara: quando HIFIMAN incontra il gam...
NVIDIA: la scarsità di hardware c...
Nintendo fa causa al governo USA per i d...
iPhone 17 256GB a 899€, MacBook Air 16/2...
C'è l'IA dietro la tua canzone pr...
Rocket Lab ha posticipato il lancio del ...
Dalla missione Artemis IV il razzo spazi...
Una delle sonde europee di ESA Proba-3 h...
Un modder fa girare Linux su PS5: GTA V ...
MacBook Neo: nessuna sorpresa nei primi ...
La serie POCO X8 Pro è pronta al ...
Smartphone: 2026 difficile per il mercat...
Star Wars: Knights of the Old Republic R...
Huang, NVIDIA: OpenClaw ha realizzato in...
Annunciano il recupero di 4,8 milioni di...
Oggi degli ottimi auricolari Sony con ca...
Chromium
GPU-Z
OCCT
LibreOffice Portable
Opera One Portable
Opera One 106
CCleaner Portable
CCleaner Standard
Cpu-Z
Driver NVIDIA GeForce 546.65 WHQL
SmartFTP
Trillian
Google Chrome Portable
Google Chrome 120
VirtualBox
Tutti gli articoli Tutte le news Tutti i download

Strumenti

Regole
Non Puoi aprire nuove discussioni
Non Puoi rispondere ai messaggi
Non Puoi allegare file
Non Puoi modificare i tuoi messaggi

Il codice vB è On
Le Faccine sono On
Il codice [IMG] è On
Il codice HTML è Off
Vai al Forum


Tutti gli orari sono GMT +1. Ora sono le: 10:40.


Powered by vBulletin® Version 3.6.4
Copyright ©2000 - 2026, Jelsoft Enterprises Ltd.
Served by www3v