Newsgroup: it.comp.programmare.win32
Titolo: dll in visual C++ ed errore

Ho un errore su una dll scritta in C++. Praticamente mi da un errore 
richiamando la dll da vb6. Mi dice che non riesce a trovare il punto 
d'ingresso della DLL "esempio" in "c:\test.dll".
Che posso fare? L'esempio l'ho preso da:
http://logix4u.net/Programming/vc++/A_Tutorial_on_creating_DLLs_with_VC++.html
 
l'ho un pò modificato l'esempio 2 cercando di creare una via di mezzo 
con il primo. Cosa posso controllare?
Ecco l'esempio.
- File DEF:
LIBRARY TEST
EXPORTS
appo @1
- File CCP
double _stdcall appo (double coordX_in , double coordY_in)
{
	double coordX_out = 0;
	double coordY_out = 0;
	coordX_out = coordX_in;
	coordY_out = coordY_in;
return coordX_out + ';' + coordY_out;
}
- Nel file VB6:
Private Declare Function appo Lib "esempio.dll" (ByVal coordX_in As 
Double, ByVal coordY_in As Double) As String


Che io sappia le funzioni delle DLL in C++ sono soggette alla codifica
dei nomi ,quindi dubito molto che riuscirai a richiamarle
correttamente . Forse puoi provare con gli ordinal value ...

 correttamente . Forse puoi provare con gli ordinal value ...
Non programmo in C++ quindi sembrerà strano quello che chiedo... ma cosa 
sono gli "Ordinal Value"?
Su google ho trovato 1000 esempi ma quando li provo a usare non 
funzionano. Forse sbaglio a incollare ma mi sembra di incollare proprio 
nei posti indicati. Apro poi VB6 e incollo la declare. Ma mi dice che 
non trova il punto di inizio. Così cercando l'errore ho trovato che 
potrebbe essere derivato dal mancato puntamento alla funzione DLLMain 
che si crea in automatico quando creo la dll. Ma questa funzione esiste 
e non l'ho toccata.
Qualche info? Non è che hai un esempio di dll che sai che funziona e me 
la puoi passare? ti assicuro che la userei solo per usi di studio.
Grazie!

la puoi passare? ti assicuro che la userei solo per usi di studio.
Se ti interessa la funzione di ingresso dubito riuscirai allo scopo in
quanto non credo riuscirai a linkare la DLL staticamente come stai
cercando di fare.
Se invece devi usare solo alcune funzioni puoi provare a caricare la
DLL dinamicamente attraverso LoadLibrary e GetProcAddress (con
quest'ultima puoi usare gli ordinal value ) .
Se devi accedere a classi e funzioni di classi allora la vedo un po
dura.

Spiego bene cosa devo fare.
Ho un prog .exe che sto convertendo in dll. Questo prog funziona 
perfettamente e convertirlo in VB6 non č esattamente quello che vorrei 
fare. Allora ho pensato di copiare le funzioni che m'interessano nella 
dll c++. La funzione che richiamo ha bisogno di 4/5 variabili in input e 
restituisce 2 valori double in out. Ora se č un probl restituire 2 
valori non č un problema li lego a una stringa e li divito con un 
qualche separatore. In VB6 splitto e risolvo cosě. Ma il problema č che 
tutte le dll che creo non le linko con vb6. Se le richiamo con la 
declare mi da quell'errore sul puntamento che proprio non capisco. E su 
internet di esempi ne ho visti tanti ma di soluzioni nessuna. Quello che 
dici tu con la loadlibrary nn l'ho trovato. Ti ringrazio innanzitutto e 
ti chiedo se riesci a passare o a fornirmi un link di un esempio dll c++ 
e vb6.
Grazie!