// Dll A
#include "A/Alarme.h"
//.....
///
if(!bTransfertReussi)
{
m_oElemPile.m_oDateDernierTransfert = COleDateTime::GetCurrentTime();
switch(m_oElemPile.m_uDelai)
{
case 0 :
leListeAlarmeFTP.AfficheAlarme(m_oElemPile.m_sNomDuServeur,
m_oElemPile.m_uDelai
);
// la fonction Affiche appartienne a la Dll B
est un objet extern de la calsse CAlarmeServeurFTP
// Dll B (CAlarme.cpp)
void CAlarmeServeurFTP::AfficheAlarme(CString sNomServeur,unsigned uiTentative)
{
// Mise a jour des infos si c'est pas la meme interface
if(sNomServeur != m_sNomServeur)
{
m_sNomServeur = sNomServeur;
m_uiTentative = uiTentative;
}
// Si une fenetre est deja visible => on la met a jour
if(mb_Visible)
{
GetDlgItem(IDC_NONSERVEUR)->SetWindowText(sNomServeur);
CString Temp;
Temp.Format("%d%s",m_uiTentative," min");
GetDlgItem(IDC_TENTATIVE) ->SetWindowText(Temp);
}
// Si aucune fenetre n'est affichée, il faut en creer une
else
{
// creation de la fenetre
Create(IDD_ALARMEFTP);
mb_Visible = true;
}
}
// Dll B (CAlarme.h)
class _SCOOP_IMPORT_UTILE CAlarme: public CDialog
{
// Construction
public:
CAlarme(CWnd* pParent = NULL); // standard constructor
CString m_sNomServeur;
unsigned m_uiTentative;
bool mb_Visible;
CAlarmeServeurFTP* GetAlarmeDlg() {return this;};
void AfficheAlarme(CString ,unsigned );
CAlarmeServeurFTP& operator=(CAlarmeServeurFTP const& src);
//.......//
}
Partager