Dll pour asp

Dll pour asp - ASP - Programmation

Marsh Posté le 05-11-2005 à 07:20:59    

Bonsoir à tous, voila mon problème j'ai actuellement une source c++ 7 qui fonctionne sous forme d'un exécutable appelable en ligne de commande, son but est de se connecter à internet et de récupérer une page puis de l'enregistrer sur disque.
J'aimerais réécrire cet exe sous la forme d'une  dll com que je pourrais instancier depuis asp, j'ai donc été amené à recréer une dll atl.
Le problème c'est que la dll en question est instanciable mais ne me fournis pas de résultat. Voici la fonction main de l'exécutable :
 
static const GUID myGUID = { 0x445c10c2, 0xa6d4, 0x40a9, { 0x9c, 0x3f, 0x4e, 0x90, 0x42, 0x1d, 0x7e, 0x83 } };
static CComModule _Modu;
 
int main (int argc, char *argv[])
{
if (argc != 3)
{
printf("Usage: %s http://www.example.org/ localfile.txt\n", argv[0]);
return EXIT_FAILURE;
}
 
HRESULT hr = _Modu.Init(NULL, ::GetModuleHandle(NULL), &myGUID);
 
if (FAILED(hr))
return EXIT_FAILURE;
 
if (!AtlAxWinInit())
return EXIT_FAILURE;
 
CMain MainWnd;
 
MainWnd.m_URI = argv[1];
MainWnd.m_fileName = argv[2];
RECT rcMain = { 0, 0, 800, 600 };
MainWnd.Create(NULL, rcMain, _T("Test" ), WS_POPUP);
 
MSG msg;
while (GetMessage(&msg, NULL, 0, 0))
{
TranslateMessage(&msg);
DispatchMessage(&msg);
}
 
_Modu.Term();
 
return EXIT_SUCCESS;
}
 
Lors de l'écriture de la dll l'expression : static CComModule _Modu;
provoquais une erreur, j'ai donc réécris une méthode de mon objet ainsi :
 
 
STDMETHODIMP CMaClasse::GetURL(BSTR m_URL, BSTR m_filename)
{
if (!AtlAxWinInit())
return EXIT_FAILURE;
 
CMain MainWnd;
 
MainWnd.m_URI = (LPCSTR) "http://www.google.fr";
MainWnd.m_fileName = (LPCSTR) "c:\test.txt";
 
RECT rcMain = { 0, 0, 800, 600 };
MainWnd.Create(NULL, rcMain, _T("Test" ), WS_POPUP);
 
MSG msg;
while (GetMessage(&msg, NULL, 0, 0))
{
TranslateMessage(&msg);
DispatchMessage(&msg);
}
 
return S_OK;
}
 
Cela fait plusieurs jours que je tourne en rond là dessus : le problème provient surement des lignes que j'ai effacées.
Comment faire pour avoir l'équivalent de la déclaration de _Modu et des appels à _Modu.Init() et _Modu;Term() dans ma dll?
Quelqu'un pourrait il m'aider ?

Reply

Marsh Posté le 05-11-2005 à 07:20:59   

Reply

Sujets relatifs:

Leave a Replay

Make sure you enter the(*)required information where indicate.HTML code is not allowed