Voilà, j'ai un programme qui consiste a envoyer des fichiers quelconques sur des postes référencés précedemment. Je dois pouvoir envoyé plusieurs fichiers sur plusieur postes "simultanement". En fait, j'ai un bouton ouvrant une boite de dialogue open, dans laquel je choisi donc les fichiers a envoyer. Le codage de cette partie là est :
Code:
CFileDialog objDialog(true,NULL,NULL,OFN_LONGNAMES) ;
objDialog.DoModal() ;
fileName[nbFiles] = objDialog.GetFileName() ;
if(fileName[nbFiles] != ""){
m_Files.InsertString(nbFiles, fileName[nbFiles]) ;
pathFile[nbFiles] = objDialog.GetPathName() ;
nbFiles ++ ;
}
Ensuite, je choisi mes postes : g une structure:
Code:
struct bornes{
char nom[30] ;
char ip[16] ;
}
bornes objBornes ;
A l'arrivé de ma fenetre de tranfert, mes postes référencé se listent dans une listBox :
Code:
int u =0, temp ;
ifstream objFile ;
objFile.open("c:\\Bornes.txt.", ios::binary) ;
while(!objFile.eof()){
objFile.read((char*)&objBornes[u], sizeof(bornes)) ;
u++ ;
}
u-- ;
objFile.close() ;
temp = u ;
for(u=0;u<temp;u++){
m_NomBornes.InsertString(u,objBornes[u].nom);
}
Voila, jusque là, ligiquement tout va bien !
Mais, le programme il plante a la fin du transfert et encore, parfois il transmet et parfois il transmet pas...
Le codage de cette fonction transfert :
Code:
int err=0 ;
char * buffer ;
HFILE HSrc, HDest ;
OFSTRUCT ofstruct1, ofstruct2 ;
buffer = new char[1000] ;
for(int u=0; u< nbFiles; u++){ //pour chaque fichiers a transmettre
buffer = pathFile[u].GetBuffer(pathFiles[u].GetLength()) ;
HSrc = LZOpenFile(buffer, &ofstruct1, OF_READ) ;
for(int f = 0; f < NbBorneATraiter; f++){
strcpy(buffer, "\\\\") ;
strcat(buffer, essaiIP[f]) ;
strcat(buffer, "\\sharedDir\\") ;
strcat(buffer, fileName[nbFile]) ;
HDest = LZOpenFile(buffer, &ofstruct2, OF_CREATE) ;
LZCopy(HSrc, HDest) ;
}
}
AfxMessageBox("Copie(s) effectuée(s)") ;
delete []buffer ;
CTansfert::OnOK() ;
Le prgm plante une fois que j'ai cliké sur 'ok' du showMessage, je ne comprend pas pourkoi.
En plus, je doi faire des envoies sur plusieurs OS dif (toujours windows aussi) XP, 2000 et 98. XP étant mon poste. Les envoies fonctionnent de temps en temps sur XP & 98 mais jamais sur 2k. Je ne comprend pas, j'ai besoin d'aide. Si vous avez besoin de précision, démandé !!!!