Newsgroup: it.comp.www.asp
Titolo: Richiamo DLL tramite ASP

Ciao a tutti,
sono nuovo del gruppo e prima di postare ho cercato la soluzione nel sito
ufficiale del NG.
La configurazione del mio server e' : NT 4.0 + Option pack + sp4 + IIS 4.
Ho creato una DLL in c++ che richiamo da una applicazione VB5 . Questa
applicazione e' compilata per essere una CGI . Il richiamo da una pagina Web
HTML funziona e l'applicazione risponde e riporta il risultato
sull'explorer. Il problema e' che testando il cgi da remoto mi sono accorto
che quando e' in esecuzione dalla parte server il cursore del mouse si
trasforma in clessidra (tipico comportamento quando un'applicazione esegue
delle operazioni). Ho pensato che fosse un problema di VB5 che non e'
(forse) adatto per fare queste cose.
A questo punto la domanda :
Siccome il VB5 non e' fondamentale per il mio scopo , ho pensato di creare
una pagina ASP con VBScript.
In teoria dovrei richiamare la DLL come nel VB con :
Declare Function NOMEDLL Lib "NOMEDLL.DLL" (ByVal stringa_input As String)
As Integer
Questa DLL riceve un INPUT e restituisce l'INPUT modificato.
Nella guida ASP ho visto che la funzione che in teoria serve a me e'
comrpesa nel paragrafo :
Visual Basic for Applications Features not in VBScript
Questo vuol dire che non posso fare un richiamo di una DLL esterna in ASP ?
Se non posso , mi sapete dire una soluzione per il problema del cursore lato
SERVER ?
Scusate la lungaggine e grazie (in anticipo) per le eventuali risposte.
Franco

As Integer
Questo non e' possibile in vbscript e quindi in asp.
La soluzione per fare questa cosa e' quella di creare una ActiveX DLL, che
esporta una classe invece di una funzione.
Poi, usando Server.CreateObject, puoi instanziare la classe in ASP e
chiamarne i metodi.
Per creare un'ActiveX DLL in Visual c++ puoi usare ATL (Active Template
Library), che e' corredata da un wizard che ti segue passo passo nella
creazione della classe e dei metodi.
Ciao
Stefano

creazione della classe e dei metodi.
Ti ringrazio per la risposta. Invece che ri-compilare le routine in C ,
provero a creare un Active-x DLL del progetto VB5. Credo che in teoria
dovrebbe essere la stessa cosa.  Per creare la Active-x Dll in C aspetto che
mi arrivi il Videual>Dev Studio 6.
Ciao
Franco

Scusa ma questo (cioe' la clessidra) succede solo se c'e' nel
codice una specifica chiamata alla funzione che setta lo stato
del puntatore del mouse... se il problema e' solo quello perche'
non vai nel codice e la togli?
Forse ho capito male o mi sono perso un pezzo...
CIAO
Andrea.


Andrea.
Nel VB esiste una funzione che setta il puntatore del mouse (mousepointer),
ma il problema non e' questo. Purtroppo il VB5 non permette di copilare un
EXE come programma BATCH , cioe senza interfaccia grafica. Percio' quando
esegue operazioni che interrompono il processo della macchina , compare la
classica clessidra. Infatti i CGI non devono avere interazione con l'utente.
Ciao
Franco

classica clessidra. Infatti i CGI non devono avere interazione con
l'utente.
Risultava anche a me che se non veniva impostato esplicitamente, il
puntatore del mouse non diventava mai clessidra.
Quali sono queste operazioni che visualizzano la clessidra in automatico?
Ciao
Stefano


Credo che la "clessidra compaia ogni qualvolta il processo chiamato e'
bloccante per il chiamante.
Comunque mi e' venuto in mente che posso provare ad usare la funzione :
DoEvents() , che permette la distribuzione dei processi a livello VB e
sblocca gli eventi.
Faro' sapere.
Franco


^v^v^v^v^v^v^v^v^v^v^v^v^v^v^v^v^v^v^v^v^v^v^v^v^v
Moderatore di it.comp.www.asp
Gruppo di supporto: 
http://www.asp-it.com
^v^v^v^v^v^v^v^v^v^v^v^v^v^v^v^v^v^v^v^v^v^v^v^v^v
iPoint Network 
http://www.ipoint2000.net
 Servizi, siti ed altro!
Personalizza le tue notizie con 
http://www.ipoint2000.net/now