Newsgroup: it.comp.lang.visual-basic
Titolo: Domanda su Dll

Ciao a tutti.
Ho un piccolo problema a gestire una dll, forse mi stò perdendo in un
bicchier d'acqua.
Ho in system32 Base64.dll e nel mio programma devo gestire le proprietà di
questa libreria.
In un modulo ho scritto:
Declare Function EncodeFromFileA Lib "Base64.dll" Alias "EncodeFromFile"
(strPath As String) As String
nel form richiamo la funzione facendo:
Call EncodeFromFileA(FileName)
dove filename è il percorso del file che passo alla funzione
alias "EncodeFromFile" dovrebbe essere la proprietà a cui voglio passare il
FileName, ma quando compilo mi dà errore e mi dice che non trova nessun
punto di ingresso nella Base64.Dll
Sapete dirmi come richiamare una particolare funzione di una dll e passargli
e ricevere dei dati?
Grazie a tutti
--------------------------------
Inviato via 
http://arianna.libero.it/usenet/

e ricevere dei dati?
Bisogna disporre della documentazione del fornitore della dll. Ad
esempio, se la dll fosse scritta in C dovresti avere almeno il file
header delle funzioni esportate.
-- 
ciao,
hal


Purtroppo non ho trovato nulla a parte sul sito dove ho scaricato la dll
cioè : 
http://sevillaonline.com/ActiveX/Base64.htm
Scrive che proprietà e metodi utilizza la libreria e nulla di più, io
purtroppo da solo non sono riuscito ad applicarle.
Potresti darmi qualche aiutino?
Ringrazio anticipatamente.
Ciao iotu


 Ringrazio anticipatamente.
A occhio sentendo parlare di metodi e proprietà direi che ti basta 
aggiungerla ai riferimenti del progetto (dovrebbe essere una dll ActiveX 
con tutto quello che la cosa comporta).
Ciao

 Ho in system32 Base64.dll
io la adopero in vbs :
ci ho messo 2 giorni per capire perche il Base.Decode
non funzionava :
prima >>> .Decode (x)   NO
dopo >>>  .Decode (x& vbNullChar)   SI
'encode.vbs
set oShell = CreateObject("WScript.Shell")
set Base = CreateObject("Base64lib.Base64")
x=Base.EncodeFromFile ("cripto.txt")
encoded="Dati.dat"
Set ofs = CreateObject("Scripting.FileSystemObject")
Set newf = ofs.createtextfile(encoded)
newf.Write x
'decode
set oShell = CreateObject("WScript.Shell")
   Set fso = CreateObject("Scripting.FileSystemObject")
   Set f = fso.OpenTextFile("Dati.dat",1)
  x =   f.ReadAll
set Base = CreateObject("Base64lib.Base64")
y=Base.Decode (x& vbNullChar)
'y=Base.Decode (x&"")
Decoded="Decoded.log"
Set ofs = CreateObject("Scripting.FileSystemObject")
Set newf = ofs.createtextfile(Decoded)
newf.Write y
http://sevillaonline.com/ActiveX/Base64.zip
--
Fosco


Grazie dell'info, ma io dovrei usarlo in VB6 e sinceramente non ho molta
conoscenza degli activex.
Posso fare un copia incolla di ciň che mi hai postato o devo fare qualche
modifica per adattarlo al VB6.
Per usare base64.dll devo per forza di cose creare un oggetto associato ad
esso?
Grazie anticipatamente


 esso?
Sì, in qualunque modo tu lo faccia.
Il sistema migliore è come ti dicevo 3 giorni fa aggiungere la dll tra i
riferimenti del progetto.
A questo punto dovresti poter fare (sembre leggendo il codice di Fosco)
Dim MyBase64 As Base64lib.Base64
Set MyBase64 = new Base64lib.Base64
MyBase64.EncodeFromFile("miofile.txt")
...
Chiaro?
Ciao
--
Math Parser : 
http://www.neodatatype.net
Sito Comune : 
http://www.it-lang-vb.net

Scusate l'intromissione, ma cos'e' questa Base64 Dll ???
--
rIO.sK


Chiarissimo. Grazie mille a tutti dei consigli. Scusate ancora, ma come già
vi dicevo non sono ancora molto all'avanguardia con gli activex, ma presto
lo diventerò.... o almeno ci spero :-))


 lo diventerò.... o almeno ci spero :-))
Speriamo che tu lo diventi prima che Microsoft decida che gli ActiveX siano
tecnologia superata :)
E già ci sta pensando :P


 lo diventerò.... o almeno ci spero :-))
Gli activex hanno, come hai visto, il pregio di poter
essere richiamati anche da un semplice script.
Come ti ha detto Zanna per VB :
Private Sub Form_Load()
Dim MyBase64 As Base64Lib.Base64
Set MyBase64 = New Base64Lib.Base64
encod = MyBase64.EncodeFromFile("C:\MyFile.txt")
MsgBox encod
End Sub
Io ho prima registrato (lo avevo gia' fatto per lo script) con
regserv32  Base64.dll e poi inserito in Progetto >> riferimenti
PS :
nel primo post questo era un po' "sporchino" meglio :
''decode.vbs ...  usabile direttamente previo
' start esegui  regsvr32 Base64.dll  (invio)
set oShell = CreateObject("WScript.Shell")
set Base = CreateObject("Base64lib.Base64")
   Set fso = CreateObject("Scripting.FileSystemObject")
   Set f = fso.OpenTextFile("Dati.dat",1)
  x =   f.ReadAll
y=Base.Decode (x& vbNullChar)
Decoded="Decoded.log"
Set newf = fso.createtextfile(Decoded)
newf.Write y
--
Fosco


Ok, ora penso di aver capito il concetto, ma c'è ancora una cosa che non và.
Come prima cosa ho copiato la dll in system32 e l'ho registrata con esito
positivo e ho riavviato il pc.
Ho aperto il mio progettino e nei componenti ho caricato la dll, ma non me
la riconosce, mi dice:"Impossibile caricare la dll Base64".
Di conseguenza se non riesco a caricare la dll nel mio progetto non riesco
ovviamente ad utilizzarla.
Caspita, non capisco se sono dè coccio e mi stò perdendo in un bicchier
d'acqua.
Saluti Iotu


 ovviamente ad utilizzarla.
Gli activeX che non contengono oggetti grafici vanno messi tra i
riferimenti, non tra i componenti.


 Ciao
Perfetto. Ora funzione alla grande.
Grazie mille per i vostri consigli e per la vostra pazienza.
Ciao Iotu
