Quero59
Mitglied
Hallo zusammen,
ich schreibe grad eine DLL, die mit HIlfe von CSocket Mails von einem POP3 Server holten soll.
Sie funktioniert auch - jedes zweite mal. Das heist auf einen erfolgreichen Versuch folgt genau ein Absturz. Bei der Fehlersuche habe ich den Code auf ein simples Create und Close reduziert, der Fehler bleibt.
Das Projekt wurde mit Visual C++ 5.0 als Win32 Dynamic-Link Library angelegt (also nicht mit den MFC Assistenten).
Hier der reduzierte Code, der Absturz kommt bei jedem zweiten Create:
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
#include <memory.h>
#include <malloc.h>
#include <errno.h>
#include <afxwin.h>
#include <afxsock.h>
#include <dos.h>
#define DllExport __declspec( dllexport )
extern DllExport long hole_meldungen (char *pop3server, char *user, char* password, unsigned int port, char *dateiname);
CSocket m_PopServer;
extern DllExport long hole_meldungen (char *pop3server, char *user, char* password, unsigned int port, char *dateiname)
{
MessageBox( NULL, "vor create!", "HINWEIS", MB_OK);
// AfxSocketInit(); //bringt keine Änderung
if (!m_PopServer.Create())
MessageBox( NULL, "Create fehlgeschlagen!", "HINWEIS", MB_OK);
MessageBox( NULL, "nach create!", "HINWEIS", MB_OK);
m_PopServer.Close();
MessageBox( NULL, "nach close!", "HINWEIS", MB_OK);
return 1;
}
Hat jemand eine Idee dazu?
ich schreibe grad eine DLL, die mit HIlfe von CSocket Mails von einem POP3 Server holten soll.
Sie funktioniert auch - jedes zweite mal. Das heist auf einen erfolgreichen Versuch folgt genau ein Absturz. Bei der Fehlersuche habe ich den Code auf ein simples Create und Close reduziert, der Fehler bleibt.
Das Projekt wurde mit Visual C++ 5.0 als Win32 Dynamic-Link Library angelegt (also nicht mit den MFC Assistenten).
Hier der reduzierte Code, der Absturz kommt bei jedem zweiten Create:
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
#include <memory.h>
#include <malloc.h>
#include <errno.h>
#include <afxwin.h>
#include <afxsock.h>
#include <dos.h>
#define DllExport __declspec( dllexport )
extern DllExport long hole_meldungen (char *pop3server, char *user, char* password, unsigned int port, char *dateiname);
CSocket m_PopServer;
extern DllExport long hole_meldungen (char *pop3server, char *user, char* password, unsigned int port, char *dateiname)
{
MessageBox( NULL, "vor create!", "HINWEIS", MB_OK);
// AfxSocketInit(); //bringt keine Änderung
if (!m_PopServer.Create())
MessageBox( NULL, "Create fehlgeschlagen!", "HINWEIS", MB_OK);
MessageBox( NULL, "nach create!", "HINWEIS", MB_OK);
m_PopServer.Close();
MessageBox( NULL, "nach close!", "HINWEIS", MB_OK);
return 1;
}
Hat jemand eine Idee dazu?