Newsgroup: it.comp.lang.visual-basic
Titolo: Creazione DLL con utilizzo ScaleX

Salve a tutti,
anche se icaa (it.comp.appl.access) mi vede da anni presente e costante, 
ultimamente mi sto un attimino interessando al VB, di cui ho scoperto metodi 
molto molto interessanti... MA CHE OVVIAMENTE NON SO ANCORA USARE :-D
Il mio problema (se un problema è), è quello di creare una dll con metodi 
nativi di VB per metterla come rif. in Access e usarla in quell'ambiente :
Il codice che ho provato ad usare è questo, che mi permette la conversione 
di misure diverse (Es. Twips-Pixel) :
Public Function cmdConverti(misura1 As String, misura2 As String, quant As 
Integer)
    Dim strTesto As String
    Dim intFormato1 As Integer
    Dim intFormato2 As Integer
    intFormato1 = Int(Left(misura1, 1)) 'recupera il valore numerico che 
indica il tipo di misura From
    intFormato2 = Int(Left(misura2, 1)) 'recupera il valore numerico che 
indica il tipo di misura To
    strTesto = CStr(Val(quant)) & " " & Mid(misura1, 2)
    strTesto = strTesto & " equivalgono a "
    strTesto = strTesto & CStr(ScaleX(Val(quant), intFormato1, intFormato2))
    strTesto = strTesto & " " & Mid(misura2, 2)
    cmdConverti = strTesto
    MsgBox strTesto
End Function
poi ho dichiarato la funzione :
Public Function ScaleX(Width As Single, intFormato1 As Integer, intFormato2 
As Integer) As Single
    ScaleX = ScaleX(Width, intFormato1, intFormato2)
End Function
ma se vado a fare il debug, la Function ScaleX si ripete "n"mila volte 
finquando non mi da un errore di "spazio stack esaurito"...
Di sicuro avrò fatto una stupidata che però al momento per le mie conoscenze 
di VB non riesco manco a notare... mi date una mano voi pls?
Poi, mi trovo a chiedere, quindi oso :
Ma il metodo SCREEN, lo posso utilizzare in una DLL per poterlo referenziare 
in Access?
Grazie a tutti per l'attenzione.
---------------------------
Pablitomf (Maurizio Facciuti)
www.accessgroup.it
 

 ha scritto nel messaggio
news:zCoSi.149680$U01.1...@twister1.libero.it...


 
www.accessgroup.it
Ma se rimanevi su ICAA a giocare con Access non era meglio....? ;-)
Maurě cambiagli nome... scritta cosě fa la ricorsiva di una FUNZIONE NATIVA
VB6...!
Cosě:
Public Function MAURIZIOScaleX(Width As Single, intFormato1 As Integer,
intFormato2 As Integer) As Single
     MAURIZIOScaleX= ScaleX(Width, intFormato1, intFormato2)
End Function
;-)
-- 
@Alex (Alessandro Baraldi)
---------------------------------------------------------------------------
http://www.sitocomune.com/
http://www.alessandrobaraldi.it
---------------------------------------------------------------------------

 Così:


 non avrebbe cmq senso... perchè richiamerei
nella stringa della Function cmdConverti :
strTesto = strTesto & CStr(MAURIZIOScaleX(Val(quant), intFormato1, 
intFormato2))
ma nella  Function MAURIZIOScaleX, richiamerei cmq ScaleX che mi porterebbe 
lo stesso errore...
Che devo da fa? 

 ha scritto nel messaggio
news:1rvSi.149987$U01.1...@twister1.libero.it...

Bhè credo che il problema sia che ScaleX sia una proprietà(funzione) che si 
applica a un oggetto privato tipo Form...
Alla luce di ciò, tra i parametri passati  alla Funzione cmdConverti ho 
previsto anche  MiaForm :
che fa:
Public Function cmdConverti(MiaForm As Form, _
                            misura1 As String, _
                            misura2 As String, _
                            quant As Integer)
...
    strTesto = strTesto & CStr(MiaForm.ScaleX(Val(quant), intFormato1, 
intFormato2))
...
End Function
ma "MiaForm As Fom" mi da errore di utilizza oggetto privato in un modulo 
(dll) che vuole oggetti pubblici...
allora mi chiedo : come istanzio la form di Access che deve passare alla 
Funzione ?
Ovviamente se sto dicendo cavolate, correggetemi pls.
Pablitomf 

 > End Function
Ciao Buon WeekEnd


 ;-)
Non avrai letto questo che ho scritto allora : [riporto pari pari]



Maurizio... non lo puoi far diventare un metodo Public di una DLL.
Se fosse un OCX allora usando come oggetto UserControl(Me dall'interno) era
fruibile, ma non come intendi tu.
Ad una DLL VB6 non puoi passare una Form Access... in ogni caso anche
passandola
come Object non potrebbe riconoscerla come FORM(VB6) ed esporre il metodo
SCALEX...!
