Newsgroup: it.comp.lang.visual-basic
Titolo: "fottere" AddressOf

scusate il titolo volgare .... è stata un'ispitazione last 
minute del tipo "Giovanna e il Coccodrillo etc ", lo so. Cmq ....
c'è qualcuno che sappia come ingannare VB e riuscire a chiamare 
una procedura tramite il puntatore restituito da AddressOf ?
come prima idea, ma inadeguata, avevo pensato ad una callback in 
una DLL che non facesse altro che prendere come argomento il 
puntatore e chiamare la routine data e stop ...
Il casino è la gestione degli argomenti sullo stack.
La callback nella DLL necessita di una prototipizzazione fissa 
che non è sufficiente al caso, mentre i puntatori a funzioni che 
mi servono andrebbero chiamati con lista di argomenti vari
faccio prima dire cosa dovrei fare : scrivere una routine di 
integrazione numerica che possa integrare funzioni generiche 
(anche di più variabili, ricorsive e quant'altro),
quindi questa routine ragionerebbe esclusivamente in termini di 
incrementi di variabili e di integrali numerici entro un 
intervallo, ma non avrebbe né potrebbe avere idea di come 
gestire la/le funzioni da integrare,
i cui valori dovrebbero essere calcolati attraverso la delega 
via array di puntatori a funzioni ....
mi piacerebbe poter iniziare in VB perché ci sono tante cose che 
devo provare a braccio e non mi piace imbarcarmi in esperimenti 
in c++ senza le idee chiare in anticipo.
So che la domanda è rognosa, ma magari qualcuno ha aggirato la 
cosa in modo + o - pulito
grazie in anticipo x ogni idea
ciao
soviet-mario

 una procedura tramite il puntatore restituito da AddressOf ?
soviet non so che consigliarti google : 
http://snipurl.com/9lao
 , ho fatto
prove con addressof pressocche' fallimentari quindi ambasciaGoogle non porta
puntatori !
-- 
[Gigio2k]
http://www.g2kweb.it
[ it-alt.comp.hardware.modding ] - 
http://www.g2kweb.it/ichm

 le idee chiare in anticipo.
Considera che VB di per se non ti lascia tanto campo libero, ma a volte si può cercare di 
girarci attorno!!
Ciao!
LeleB.

 
uhm .... da un link era spuntata fuori l'API  ExecuteCallBack  e 
mi stavo illuminando, ma poi ho visto che la libreria è una DLL 
da costruirsi a mano ed ha, ovviamente, i prototipi fissi, 
ahimè, quindi non è un'ape di sistema (e non è flessibile).
Grazie cmq senza puntatori !
ciao
cccp++mario

 LeleB.

 ha scritto nel messaggio
news:fNb9d.28971$N45.7...@twister2.libero.it...

Scusa, non è che ti convenga utilizzare il polimorfismo?
Le "funzioni" elementari vedile come classi che implementano tutte una stessa
interfaccia dotata di un metodo che altro non è che il prototipo della generica
funzione.
Ciascuna classe implementerà quel metodo come meglio crede.
Es. (molto semplificato)
'-----------------------------------
'Interface IFunction
Public Function Value(ByVal x As Single) As Single
End Function
'-----------------------------------
'Class Sine
Implements IFunction
Private Function IFunction_Value(ByVal x As Single) As Single
    IFunction_Value = Sin(x)
End Function
-----------------------------------
'Class Log10
Implements IFunction
Private Function IFunction_Value(ByVal x As Single) As Single
    IFunction_Value = Log(x) / Log(10)
End Function
È applicabile al tuo caso?
Bye
Raf

 cccp++mario
Raf