Questo sito utilizza cookies solo per scopi di autenticazione sul sito e nient'altro. Nessuna informazione personale viene tracciata. Leggi l'informativa sui cookies.
Username: Password: oppure
Visual Basic 6 - come includo il codice C in VB6 ?
Forum - Visual Basic 6 - come includo il codice C in VB6 ? - Pagina 2

Pagine: [ 1 2 ] Precedente | Prossimo
Avatar
skirk (Ex-Member)
Pro


Messaggi: 199
Iscritto: 01/09/2005

Segnala al moderatore
Postato alle 17:02
Mercoledė, 07/12/2005
Testo quotato

Postato originariamente da andriy88:

Testo quotato

Postato originariamente da skirk:
:asd:
Ma...saro cocciuto ma io non ho ancora capito un cavolo. Scusami se io faccio un programma cos?:

#inlcude <iostream.h>
int main() { cout << " Ciao "; }

Poi lo compilo il DLL e lo chiamo ciao.dll. A sto punto creo in VB un form. Se io in questo form ci creo un pulsante "CIAO" cos? che, quando ci clicco mi parte la mia DLL. Come cappero faccio?

"Altro mistero" 8-|



pure io sto cercando di capire...hhehe hihihi

:asd::asd:

PM Quote
Avatar
pierotofy (Admin)
Guru^2


Messaggi: 6230
Iscritto: 04/12/2003

Segnala al moderatore
Postato alle 23:33
Mercoledė, 07/12/2005
Skirk, l'argomento in questione ? un po' pi? complesso di quanto non ti sembri...

Usare le DLL ? un'operazione che ti vincola a Windows, quindi, non puoi fare una dll usando solamente le operazioni del C++ Standard, ma devi avere una buona base di "programmazione Windows".

GhostKey nella sezione C++ usa la DLL esterna KeyboardHook.dll che ho costruito io, se ti serve una breve panoramica su come funzionano, prova a dargli un'occhiata...


Il mio blog: https://piero.dev
PM Quote
Avatar
skirk (Ex-Member)
Pro


Messaggi: 199
Iscritto: 01/09/2005

Segnala al moderatore
Postato alle 13:10
Venerdė, 09/12/2005
Ok grazie :k:

PM Quote
Avatar
andriy88 (Ex-Member)
Pro


Messaggi: 118
Iscritto: 04/11/2005

Segnala al moderatore
Postato alle 14:33
Venerdė, 09/12/2005
Testo quotato

Postato originariamente da pierotofy:
programmazione Windows



Programmazione Windows??  Non ho mai sentito parlare... In che consiste?? Hai per caso qualche link utile sul argomento??

PM Quote
Avatar
skirk (Ex-Member)
Pro


Messaggi: 199
Iscritto: 01/09/2005

Segnala al moderatore
Postato alle 14:37
Venerdė, 09/12/2005
Testo quotato

Postato originariamente da pierotofy:

GhostKey nella sezione C++ usa la DLL esterna KeyboardHook.dll che ho costruito io, se ti serve una breve panoramica su come funzionano, prova a dargli un'occhiata...



Magari si riferisce a questo come prgz in Windows? :-|

PM Quote
Avatar
Chevantonio19 (Ex-Member)
Pro


Messaggi: 95
Iscritto: 03/09/2005

Segnala al moderatore
Postato alle 18:02
Venerdė, 09/12/2005
raga le dll non sono dei file che ci clikki 2 volte e partono....sono dei file che contengono all interno un pacco di funzioni... non si possono " far partire" .... si possono richiamare e basta.... vi faccio un esmpio:

Private Declare Function IsNetworkAlive Lib "SENSAPI.DLL" (ByRef lpdwFlags As Long) As Long


ecco come si dichiara una dll

1)IsNetworkAlive ? il nome della funzione , qlk di breve ma + o - chiaro... infatti con questa funzione possiamo determinare se il pc ? connesso o no.

2)Lib "SENSAPI.dll" questa ? la libreria che contiene la funzione isnetwork alive, tipo user32.dll (una dll di windows) oppure "winm.dll" (la dll che contiene le funzioni di windows media player) etc. etc. etc.

3)le cose scritte in parentesi sono i parametri che passiamo alla funzione nella dll per eseguire cio' che vogliamo.

4)as long alla fine ci indica il tipo di variabile che la funzione ci ritorna.

per sapere se il pc ? conneso in internet bastera'
scriver

If IsNetworkAlive(ret) <> 0 Then
SI STO CONNESSO
else
NO NON STO CONNESSO
end if

ret ? una variabile che passiamo alla funzione.

un esempio + semplice.

immaginate la funzione Somma(a as integer , b as integer) as integer

contenuta nella dll miadll.dll

Private Declare Function Somma Lib "c:\miadll.dll" (a as integer , b as integer) as integer

dim Sum as integer,Addendo as integer , Addendo2 as integer

Addendo = 2
Addendo2 = 3

Sum=Somma(Addendo,Addendo2)

Sum sara' uguale a 5

naturalmente il discorso ? cos? vasto che scrivere tutto in un post sarebbe da pazzi... se avete dubbi chiedete o domandate a google....

Ciaooooooo :k:

Ultima modifica effettuata da Chevantonio19 il 09/12/2005 alle 18:06
PM Quote
Avatar
hedo (Ex-Member)
Expert


Messaggi: 248
Iscritto: 03/12/2003

Segnala al moderatore
Postato alle 20:21
Mercoledė, 14/12/2005
omg, porting da dos a win32! Da C a vb6!

Qui c'? qualcosa che non va...
Innanzitutto cosa centrano le dll per fare una cosa del genere, me lo dovete spiegare. Lu ha detto che ha fatto il gioco del tris e vuole far venire fuori la finestrella di windows al posto di quella di dos, semplice no? E voi tirate fuori le dll... cmq, vediamo di risolvere il problema. Semplicemente io ti consiglierei di lasciar perdere vb6 e di lavorare invece con le GDI API di win32, molto pi? semplicemente, includendo il file <windows.h> chiamare quelle api che creano una finestra e ci disegnano dentro...
Ho appena finito il porting di Matrix 3.6, che funzionava in dos con le librerie grafiche della borland, a win32 puro, appunto richiamando quelle api. Se vuoi partire da qui hai tutto il mio appoggio e ti indicher? la strada da percorrere:

RegisterClass
CreateWindow
WindowProc
Evento WM_PAINT
GDI API sul DC (Device Context) della form

Se vuoi approfondire, basta chiedere, ma ti consiglio caldamente di lasciar perdere vb6, il porting da C sotto DOS a vb6 NON ESISTE PER LOGICA.

Ah poi, mi riferisco a quelli che hanno risposto... Grazie Chevantonio... meno male che hai detto un po sulle Dll, chi ? che era convinto che si potessero "far partire"?? OMG

Poi qualcun altro ha detto anche che per far funzionare una DLL bisogna registrarla con regsvr32, mi dispiace ma non ? cos?... Registri con Register Service solo le DLL COM ovvero quelle DLL che sono state create con l'interfaccia OLE, in pratica assomigliano agli ActiveX, visto che qui oltre VB6 non si va...

ah, un appunto per il futuro, il vb6 dalla prossima ver di win (Windows Vista) sar? Deprecated, quindi OLE ? morto, gli ActiveX pure, e visto che vb6 VIVE su questi 2, purtroppo, anche lui...

Ciao!

HeDo



PM Quote
Avatar
()
Newbie


Messaggi:
Iscritto:

Segnala al moderatore
Postato alle 12:27
Lunedė, 16/07/2007
Ciao.. stavo leggendo quello che hai scritto, su Vb.
Vorrei capirne + in dettagli. Visto che secondo me, Vb non vive solo con Active X ;)
Per quanto riguarda gli OLE, con Vista cosa cambia?

N.B.: strano, un'applicazione creata con Vb6, gira su Vista.
Vista é Xp ha solo degli aggiornamenti e qualcosa di Nuovo. Al momento dico la mia: non é che mi piacqua molto. Tutta grafica, se cosė posso definirla. Ad ognuno il suo!

Ultima modifica effettuata da il 16/07/2007 alle 12:28
PM Quote
Pagine: [ 1 2 ] Precedente | Prossimo